交換しました Left Ctrl そして Caps Lock 〜/ .Xmodmapを作成することにより
_keycode 66 = Control_L
keycode 37 = Caps_Lock
clear Lock
clear Control
add Lock = Caps_Lock
add Control = Control_L Control_R
_
その後、_$ xmodmap ~/.Xmodmap
_を実行します。を押す Left Ctrl キーは期待どおりに動作し、切り替えます Caps Lock。を押す Caps Lock キーは、次のような単純なショートカットに対して一般的に機能します。 Ctrl+N.
ただし、複数の修飾キーが必要な場合(例: Alt+Ctrl+I)、これは私が押した場合にのみ機能します Alt 最初にキー。を押すと Caps Lock キーを最初に、効果はありません。
_$ setxkbmap -layout us
_を使用してキーボードレイアウトをリセットできます。上記のショートカットは正常に機能します。 _$ xmodmap ~/.Xmodmap
_を再度実行すると、同じ問題が発生します。
また、単一の修飾子の組み合わせであっても、 Caps Lock バニラで使っていたよりも一瞬長いキー Ctrl 登録するためのキー。おそらく0.01秒程度ですが、10回に1回誤った信号が送信されていることが十分にわかります。
また、私がスワップした場合 Ctrl そして Caps Lock _$ setxkbmap -layout us -option 'ctrl:swapcaps'
_を使用すると、複数の修飾子の問題に気づかなくなりました。ただし、すぐに新しいキーボードを入手するため、xmodmapソリューションの問題を解決したいので、交換する必要があります。 Ctrl 別のキーで。
=編集=別のキーボード(Das Keyboard)を試しましたが、押し続ける必要があるという2番目の問題があるようです Caps Lock 私がやったよりも一瞬長く Ctrl おそらく元のキーボードのハードウェアの問題です(アルミニウムApple有線キーボード)。ただし、複数の修飾子に関する最初の問題はまだ存在しています。
= EDIT = xevでさまざまなキーストロークをテストしました。ホールディング Alt 次に Caps Lock keycode 66 (keysym 0x0, NoSymbol)
とは対照的に、キーはkeycode 66 (keysym 0xffe3, Control_L)
になります。 Alt 開催されていません。
どうやら、上記のxmodmapコードはnotでスワップするには十分です Ctrl+L そして Caps Lock キー。
keycode 66 = Control_L
あるべき
keycode 66 = Control_L Control_L
正しい機能を許可する場合 Ctrl 別の修飾子の後に押されます。このソリューションへの適切な参照は見つかりませんが、 明らかに 2番目のエントリは Shift+Key。なぜここにも当てはまるのかわからない Alt+Key。
(また、FWIW、他の情報源は、リンクで言及されている6つではなく、最大8つの列があると述べています。)