現在、デフォルトのキーボードレイアウトを次のように設定しています。
setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]
Caps Lock キーを無効にし、他の多数のオプションと一緒に追加の Ctrl キーを作成します。
キーボードレイアウトを切り替えるには:
setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps
しかし、私が知っている限り、Caps Lockキーは再び有効になりません。左側のコントロールキーと Caps Lock キーは両方ともコントロールキーのままです。
完全なオプションのリストを消去できることはわかっていますが、メンテナンスのためにオプションをコピーして貼り付けないことをお勧めします。 Caps Lockを再度有効にするにはどうすればよいですか?
修正する:
xev(1)を使用したキーストロークを見ると、ctrl:nocapsは両方のキーにControl_L
aを提供しますが、ctrl:swapcapsはCaps Lockキー(キーを押して提供されますCaps_Lock
)を「復元」するようです。ただし、Caps Lock LEDは点灯せず、実際には動作しません。
X.orgソースのドキュメントを見ると、xkeyboard-config/symbols/ctrl
問題に関するヒントがあります。
xkb_symbols "nocaps" {
replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
replace key <CAPS> { [ Control_L ] };
replace key <LCTL> { [ Caps_Lock ] };
};
後者のオプションには何をしても modifier_map 行はありません。
答え1
次のコマンドが機能するはずです。
xmodmap -e 'keycode 0x42 = Caps_Lock'
または
setxkbmap -option
上記のコマンドはデフォルトの動作を復元するのにうまく機能し、幸いにもほとんど必要ありません。
私は通常、次のコマンドを使用してCaps LockをControlに再マップします(幸い、VI / VIMはESCの代わりにCTRL-Cをサポートしています)。
setxkbmap -option ctrl:nocaps -layout gb
答え2
努力するsetxkbmap -option -layout us -variant dvorak-l -option ctrl:swapcaps
マンページから:
[...] If you want to
replace all previously specified options, use the -option flag
with an empty argument first.
皮肉なことに、ここ-option ctrl:swapcaps
に実際に適用される内容があります-option ctrl:nocaps
。行動が変わると思います。
編集する:OPが言ったように、彼は欲しかった避けるオプションを消去します(上記のように実行)。
/usr/share/X11/xkb/rules/xorg.lst
ctrl:aa_ctrl
オプション(左下のコントロール)を表示し、nocaps
ここでCaps Lockをリセットするようです。
試してみる価値があると思います。この方法がうまくいかない場合に備えて、リスト(grep ctrl\:
)を見て、他の方法で動作するかどうかを確認することもできます。
このオプションがなければ、Caps LockをCaps Lockキーに再接続して現在のキーマップをハッキングすることが解決策のようです(ただし、1行でこれを行うことができるツールがあると信じる以外にこれには経験がありません)。 )。
答え3
Caps Lockを有効にするには、「caps:capslock」オプション(xkb_symbolsに「+capslock(capslock)」を追加するようにマップされています)があります。
しかし、オプションが追加されました(おそらくすべて大文字:xxxxx?)今後既存のctrl:xxxxx; ctrl:swapcapsはcapslockキーをオーバーライドするため、このオプションは効果がありません。
したがって、すべてのオプションを削除し、実際に必要なオプションを入れる必要があります。オプションは、前のオプションの操作をキャンセルできない方法で存在し、競合するオプションがあります(たとえば、2つ以上のオプションをリセットするなど)。同じキー)順序を定義することはできません。