交換したい Esc そして CapsLock コンソールでは(Xではなく、xev
を使用)、どうすればよいですか?
私のOSはUbuntuです。
仮想コンソール でキーボードレイアウトを操作するためのツールは、loadkeys
、dumpkeys
およびshowkey
です。彼らのマンページを読み、彼らの複雑さについて自分に知らせてください。
これらのツールは仮想コンソールでのみ機能し、gnomeなどのグラフィカル環境のターミナルエミュレータでは機能しないことに注意してください。違いについて学ぶには、この質問と回答をお読みください: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the -real-terminal 。
ここにあなたがしたいことをするための短いガイドがあります:
現在のキーボードレイアウトを保存します。
$ dumpkeys > backup.kmap
何か問題が発生した場合は、次のコマンドを使用してキーマップを復元できる場合があります。
$ Sudo loadkeys backup.kmap
キーボードがめちゃくちゃになっているためにこれを行うことさえできない場合、古代のカーネルマジックを含まない唯一のオプションは再起動することです。
キーに割り当てられているキーコードを確認します。
$ showkey
ESCキーとCAPSLOCKキーを押します。キーコードが画面に表示されます。キーコードに注意してください。私のシステムでは、ESCのキーコードは1で、CAPSLOCKのキーコードは58です。showkey
は、非アクティブ状態が10秒続くと終了します(少なくとも、ubuntu 10.04では終了します)。
DumpkeysのESCキーとCAPSLOCKキーの名前に注意してください。
$ dumpkeys | grep 1
...
keycode 1 = Escape
...
$ dumpkeys | grep 58
...
keycode 58 = CtrlL_Lock
...
Dumpkeysのキーマップ行に注意してください。
$ dumpkeys | head -1
keymaps 0-127
ESCとCAPSLOCKを切り替えるキーマップファイルを作成します。
keymaps 0-127
keycode 1 = CtrlL_Lock
keycode 58 = Escape
キーマップをロードします。
$ Sudo loadkeys swap_esc_capslock.kmap
テスト:CAPSLOCKキーのテストは明らかです。 CAPSLOCKキーを押して、他のキーが大文字で表示されるかどうかを確認してください。 ESCキーをテストするには、CTRL + Vに続いてESCを使用できます。 ^[
と表示されます。 CTRL + Vを押すと、シェルは次のキーを解釈せずに逐語的に出力します。
再起動のたびにこの変更をロードするには、/etc/rc.local
ファイルに次の行を追加します。
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
以下を含むさまざまなページから収集された情報:
2つのcapslocksキーだけが必要な場合は、「ctrl:swapcaps」の代わりに「ctrl:nocaps」を使用します(別の名前のcapslockはまだ非常に役に立ちません)。
X11:(参照:/usr/share/X11/xkb/rules/base.lst
)
Sudo vim /etc/default/keyboard
XKBOPTIONS="ctrl:swapcaps"
udevadm trigger --subsystem-match=input --action=change
Sudo restart lightdm
テキストコンソール:(setupconから盗まれた)
#!/bin/sh
. /etc/default/console-setup
. /etc/default/keyboard
ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
"$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
| gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
loadkeys /etc/console-setup/cached.kmap.gz