仮想コンソールのキーボード レイアウトを操作するツールは 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
以下を含むがこれらに限定されない、さまざまなページから収集された情報:
- http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-15.html
- http://www.mail-archive.com/[email protected]/msg01407.html
- http://ubuntuforums.org/showthread.php?p=4591324#post4591324
2 つの capslock キーだけが必要な場合は、'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