私の目標は、正しいUnicodeシンボルを使用するようにキーストロークを再マッピングして、数学/物理をより効率的かつ読みやすく組み込むことです。
Alt Gr
だから+を押すと、Letter
特殊なUnicodeシンボル(たとえば、Alt Gr
+a
出力)が出力されるようにキーを再マップしたいと思います。
答え1
これはX11で動作しテストされており、Waylandだけでなく、すべてこれWayland契約に関する議論。この方法は、Xorgを使用するすべてのオペレーティングシステムに移植可能です。これが私のために働いたものです。
カスタムキーマップを保持するディレクトリを作成します。私は
.settings
、ホームディレクトリにフォルダを作成し、整理されたコンテンツをkeyboard
維持するために名前付きサブフォルダを作成するのが好きです。たとえば、キーマップを含むファイルを作成し
uc
(「us」キーマップで再生しますが、「c」カスタマイズを使用)、次の行を使用します。
default partial alphanumeric_keys
xkb_symbols "uc" {
name[Group1]="uc";
include "us(basic)"
include "level3(ralt_switch_multikey)"
};
us
ここではデフォルトでlineを使って主キーマップをコピーしておりinclude "us(basic)"
、右をaltレベル3シフトに設定することを選択しました。これはカスタムシンボルになります。この選択はややランダムです。選択できる他の多くのオプションがあり、すべてファイルにリストされています。
/usr/share/X11/xkb/symbols/level3
この時点で、次のコマンドを実行してスクリプトに誤字やエラーがないことを確認してくださいsetxkbmap ./uc
。
- キーボードレイアウトに必要なシンボルを追加しましょう。たとえば、
U2200
すべてのシンボルのシンボルを letter に追加したいとしますa。これは、2番目のステートメントの下に次の行を追加することによって行われますinclude
。
key <AC01> { [a, A, U2200 ] };
このファイルを保存して実行すると、setxkbmap ./uc
キーボードにシンボルが追加され、右ボタンを押し続けると∀シンボルが生成されaltます。aこの行はキーボードのキーを<AC01>
定義することを意味します。ドキュメントのこのセクションでは、キーボード行は下から上に、、、、、で示されており、個々のキー列はキーボードの最後まで表示されます(Iあまり実験をしていませんが、修飾キーとはカウントされないため、および両方その行のキー番号です。したがって、そのキーはキーボードの3番目の行にある最初の非修飾子キーです。指示します。axkb_symbols
AA
AB
AC
AD
AE
01
Tabzaq01
AC01
axkb
a
A
U2200
キーの実際の文字を最初にリストすることを忘れないでください。それ以外の場合は、キーマップに設定した後にその文字を入力できません。編集したい各キーに対してこれを行うと、キーマップに追加したいシンボルが表示されます。
この時点で、我々はこれをキーマップに設定するのに十分な仕事をしました。これらの変更を永久に適用し、システム設定のキーボードメニューから新しいキーマップにアクセスする方法については、私の他の答えを参照してください。ここ。これには、デフォルトでこのファイルを正しい場所にリンクし、システムがevdev.xml
アクセスできるようにファイルにそのエントリを追加することが含まれます。
頑張ってください!