xkbでvimキーと通常の大文字ロックの両方を設定する方法は?

xkbでvimキーと通常の大文字ロックの両方を設定する方法は?

私は現在Capsキーを使用しており、ISO_Level3_shifth、j、k、l、$、および0をvimキーにマッピングしています。動作し、すべてが正常です。ところで、私はSQLを使用していますが、SQLコードをすべて大文字で書きたいので、Shiftキーを押しながら1文字ずつ入力するのは困難です。だから私が望むのは、このvimキーをそのまま使用しながら、いくつかのSQLプログラミング中にCaps Lockを切り替えることができることです。しばらく押し続けるか、Shift+Caps を押してもう一度切り替えることができます。

私は2番目のレイアウトを使用しているため、xmodmapが機能せず、xmodmapを使用すると機能しないため、私がやっていることを達成するためにXKBを使用しています。

私のファイルは次のとおりです/usr/share/X11/xkb/symbols/us。または、少なくとも現在設定されているファイルの一部は次のとおりです。

    key <AC06> {    [     h,    H,  Left        ]   };
    key <AC07> {    [     j,    J,  Down        ]   };
    key <AC08> {    [     k,    K,  Up      ]   };
    key <AC09> {    [     l,    L,  Right       ]   };
    key <AE10> {    [     0,    parenright, Home    ]   };
    key <AE04> {    [     4,    dollar, End     ]   };
    key <CAPS> {    [  ISO_Level3_Shift             ]       };

この部分は次の場所にあります。

default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {}

詰まった

助けてくれてありがとう。

ベストアンサー1

これを達成するには、次のいずれかのコマンドを使用できます。

esc を大文字に置き換えます。setxkbmap -option caps:swapescape

Shift + CapsはCaps Lockをオンにします。setxkbmap -option caps:escape_shifted_capslock

起動時にこれらのいずれかを実行すると、コンピュータに追加できます。~/.xprofile

源泉: man xkeyboard-config&man setxkbmap

おすすめ記事