GNU/Linux >> Linux の 問題 >  >> Linux

Xkbでいくつかのキーコードをオーバーライドしますか?

XKBでいくつかのキーをシャッフルしたいと思います。 (なぜですか?いくつかのキーが不便に配置されているラップトップで。)私は現在xmodmapを使用しています:

keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home

代わりに、特定のキーコードに異なるキーシムを割り当てるのではなく、XKBを使用して、特定の物理キーに異なる記号名を割り当てたいと思います。 (これが理由です。)キーコード110にPGUPを送信させたい HOMEの代わりに 、DELEを送信するためのキーコード115 ENDの代わりに 、など。残りの構成は影響を受けてはなりません(したがって、PGUP keysym Priorを送信し続けることです 、など、および他のすべてのキーはそのままです。

これらの特定のキーコードの割り当てを変更するにはどうすればよいですか? xkbcomp somefile.xkb $DISPLAYを使用してファイルをロードします 、somefile.xkbに何を入れる必要がありますか ?

承認された回答:

キーコードの変更を含むファイルを作成し、(たとえば)~/.xkb/keycodes/localとして保存します。 。 (keycodes ディレクトリはハードコーディングされています。ベースディレクトリは別のものにすることができ、ファイル名も含めることができます。)これにはあなたの場合が含まれます

xkb_keycodes {
  <PGUP> = 110;
  <PGDN> = 112;
  <DELE> = 115;
  <INS> = 117;
  <HOME> = 118;
  <END> = 119;
};

これをロードするには、

を実行します
setxkbmap -print | sed -e '/xkb_keycodes/s/"[[:space:]]/+local&/' | xkbcomp -I${HOME}/.xkb - $DISPLAY

これにより、現在の設定が出力され、+localが追加されます xkb_keycodesinclude ステートメントを作成し、XKBコンパイラにロードして、~/.xkbを追加します。 インクルードパスへ。 (ファイルに~/.xkb/keycodes/local以外の名前を付けた場合 、明らかに+localを変更する必要があります および-I${HOME}/.xkb} 。)そうすれば、他のすべての設定が保持されます。


Linux
  1. ディレクトリ内のすべてのファイルを削除する3つの方法(拡張子が付いた1つまたは少数のファイルを除く)

  2. 例を含むNohupコマンド

  3. LinuxでのJQコマンドと例

  1. trace-cmdを使用したカーネルトレース

  2. Notify-Send With Cronを使用していますか?

  3. 「sed」を追加しますか?

  1. LVMを使用してLinuxをインストールする

  2. Ddでバイナリにパッチを適用しますか?

  3. 重複、わずかな変更、テキストファイルの数行?