Unicode文字を出力するようにキーを再マップします。

Unicode文字を出力するようにキーを再マップします。

私の目標は、正しいUnicodeシンボルを使用するようにキーストロークを再マッピングして、数学/物理をより効率的かつ読みやすく組み込むことです。

Alt Grだから+を押すと、Letter特殊なUnicodeシンボル(たとえば、Alt Gr+a出力)が出力されるようにキーを再マップしたいと思います。

答え1

これはX11で動作しテストされており、Waylandだけでなく、すべてこれWayland契約に関する議論。この方法は、Xorgを使用するすべてのオペレーティングシステムに移植可能です。これが私のために働いたものです。

  1. カスタムキーマップを保持するディレクトリを作成します。私は.settings、ホームディレクトリにフォルダを作成し、整理されたコンテンツをkeyboard維持するために名前付きサブフォルダを作成するのが好きです。

  2. たとえば、キーマップを含むファイルを作成し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

  1. キーボードレイアウトに必要なシンボルを追加しましょう。たとえば、U2200すべてのシンボルのシンボルを letter に追加したいとしますa。これは、2番目のステートメントの下に次の行を追加することによって行われますinclude
key <AC01> { [a, A, U2200 ] };

このファイルを保存して実行すると、setxkbmap ./ucキーボードにシンボルが追加され、右ボタンを押し続けると∀シンボルが生成されaltます。aこの行はキーボードのキーを<AC01>定義することを意味します。ドキュメントのこのセクションでは、キーボード行は下から上に、、、、、で示されており、個々のキー列はキーボードの最後まで表示されます(Iあまり実験をしていませんが、修飾キーとはカウントされないため、および両方その行のキー番号です。したがって、そのキーはキーボードの3番目の行にある最初の非修飾子キーです。指示します。axkb_symbolsAAABACADAE01Tabzaq01AC01axkbaAU2200キーの実際の文字を最初にリストすることを忘れないでください。それ以外の場合は、キーマップに設定した後にその文字を入力できません。編集したい各キーに対してこれを行うと、キーマップに追加したいシンボルが表示されます。

この時点で、我々はこれをキーマップに設定するのに十分な仕事をしました。これらの変更を永久に適用し、システム設定のキーボードメニューから新しいキーマップにアクセスする方法については、私の他の答えを参照してください。ここ。これには、デフォルトでこのファイルを正しい場所にリンクし、システムがevdev.xmlアクセスできるようにファイルにそのエントリを追加することが含まれます。

頑張ってください!

関連情報