X11で「Caps Lock」キーを「Ctrl」キーに再マッピング

X11で「Caps Lock」キーを「Ctrl」キーに再マッピング

Ctrl- N/ -をキーにCtrl再マッピングしたいと思います。私はこれを見つけましたPUpDown郵便はがきそして次のようにしました:

! add Mode_switch
keycode 66 = NoSymbol NoSymbol
keycode 66 = Mode_switch

keycode 57 = n N Down
keycode 33 = p P Up

これは実際に動作します。しかし問題はこんな感じです。私は実際にそうCaps LockなりたいとCtrl思っています。方法が見つからないようです。

答え1

最後の2行でCtrl + NとCtrl + Pを再マップすることをお勧めします。問題は、Caps_Lockボタン(10進キーコード66または16進0x42)を再マップすることです。

Caps Lockもその一つです。修飾子キー、Shift、Ctrl(Ctrl)もあります。 X.orgは、おなじみのキーマッピングだけでなく、修飾子マップも維持しています。xmodmap -pm現在の修飾子グラフが表示されます。以下の説明に従って、対応するマッピングとキーマップを更新する必要があります。

(Caps) Lock 修飾子は、明示的に指定しない限り、他の目的で物理キーを解放せずに大文字ロックの特徴的な動作を提供します。個人的にCaps Lockキーを開くときは、常にドライバを使用するのが面倒ですclear Lock

remove MODIFIERNAME = KEYSYMNAME ...(また、人々はロックバインディングをおよびで囲むことによって変更を有効にするのを見ました add MODIFIER = KEYSYMNAMEman xmodmap詳細については参照してください。)

clear Lock
keycode 66 = Control_L
add Control = Control_L

Lock修飾子にCaps_Lockキーを解放するように指示した後、keycode 66そのキー(コードスニペットの2行目)をCtrlキーの1つに再マップできます。この場合、左側のキーを選択しましたが、_Lそうではありません。重要。 Caps_LockキーはCtrlキーであると認識されますが、修飾子テーブルはまだこのキーを修飾子として使用したいかどうかを知りません。

私のリストの最後の行では、Control_Lが新しいControl修飾子であることを宣言しています。行動Ctrl キーと同じです。修飾子マッピングの前後の比較を確認してください(xmodmap -pm以下):

前:Caps_LockキーはLock修飾子に属していました。 今後:Caps_Lock キーは Lock 修飾子に属します。

以降:物理Caps_Lockキー(66/0x42)を識別するキーコードは、追加の左側のControlキーで識別され、まだCaps_Lockの元のキーコードを持ち、修飾子マップのLock修飾子からControl修飾子に移動されました。元の左コントロールもそのまま残ります。 後ろに:物理Caps_Lockキー(66/0x42)を識別するキーコードは、追加の左Ctrlキーで識別され、まだCaps_Lockの元のキーコードを持ち、修飾子マップのLock修飾子からControl修飾子に移動されました。元の左コントロールもそのまま残ります。

関連情報