私は現在、次のようにデフォルトのキーボードレイアウトを設定しています。
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)でControl_L
キーを押すと、ctrl:nocapsは両方のキーにを与え、ctrl:swapcapsはCaps Lockキーを「復元」します(キーを押すとが与えられますCaps_Lock
)。ただし、Caps Lock LEDは点灯せず、実際には機能しません。
xkeyboard-config/symbols/ctrl
X.orgのソースでファイルを見ると、問題のヒントになります。
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行がありません。