今回はLinux系のキーマッピングについてです。
マッピングを変更できる、xmodmapというコマンドがあります。
詳しくは以下。
https://wiki.archlinux.jp/index.php/Xmodmap
X Windowシステム上のキーマップが変えれるわけですね。
xmodmapは知っていたが自作キーボード使うしなぁ、とノータッチだった
前から知ってはいたんですが、自作キーボードを使っていたのでキーボードそのもののキーマップを好きに出来るのであまり興味が持てていなかったのです。
ただ、今回改めて考えてみたところ使いどころあるんじゃないかと思った次第です。というのは、どうしてもPCの内蔵のキーボードを使わないといけない場面です。
自作キーボードを家に忘れてきた!なんてことも皆さんよくあると思います
たまには自作キーボードを使わないときもある
忘れた!という場合のほか、自分はかなりめんどくさがりなので、自作キーボードをPCにつけるのすら面倒なときがあります。気分転換にやっぱり自作キーボードが使いたいなぁ。。。というときもあります。
そういう、2つのユースケースがあるので以下を実現すればええんやなと気づきました。
- PCの純正キーボードを使うときだけxmodmapを使いたい
- 自作キーボードのときはxmodmapを使わないようにする
xmodmap用のマッピングファイルを2つ用意する
ここまで話を読んで、大体想像つくかと思いますが
- 何も設定しないデフォルトのxmodmapのマッピングファイル
- 純正キーボードを使うようのマッピングファイル
を用意します。
そして、手動で切り替えます(手動かよ)。
キーボードが切り替わったことを検知して、切り替わるとかシャレオツなことが出来れば良いですが、そこまでやってません。
具体的な使い方
内蔵キーボード用に ~/.ChangeXmodmap を用意。名前はてきとう。
- CapsLockをカタカナひらがな変換に(あんまり要らないかも)
- control keyの位置を(スペースキーの左右の)無変換と変換キーに
- カタカナ平仮名キーを半角全角キーにリマップ
みたいなことをやっている。
clear lock
clear control
clear mod1
clear mod5
add control = Control_L Control_R Muhenkan Henkan_Mode
add mod1 = Alt_L
add mod5 = ISO_Level3_Shift Mode_switch
keycode 9 = Escape NoSymbol Escape
keycode 49 = Escape NoSymbol Escape
keycode 101 = Zenkaku_Hankaku Kanji grave asciitilde
以下でキーマップ変更を適用出来る。
xmodmap ~/.ChangeXmodmap
自作キーボード用に ~/.ResetXmodmap を用意。名前はてきとう。
ChangeXmodmapで変更したマッピングをリセットしている
clear lock
clear control
clear mod1
clear mod5
add lock = Caps_Lock
add control = Control_L Control_R
add mod1 = Alt_L
add mod5 = ISO_Level3_Shift Mode_switch
keycode 9 = Escape NoSymbol Escape
keycode 49 = Zenkaku_Hankaku Kanji grave asciitilde
keycode 98 = Katakana NoSymbol Katakana
keycode 101 = Hiragana_Katakana Romaji Hiragana_Katakana Romaji
以下でキーマップ変更を適用出来る。
xmodmap ~/.ResetXmodmap
xmodmap関連のTIPSというかメモというか
- ~/.Xmodmap というファイル名にしておくとGDM、XDM、LightDMなど使っている場合は自動でキーマッピングしてくれる(硬派にstartxしている人の場合は~/.xinitrcにxmodmapの処理を付け足す)
- Xmodmapのファイルは
!
でコメントアウト xmodmap -pke > ~/.BackupXmodmap
などすると、現状のマッピングが設定ファイル化出来るけどリマップする際にマッピングの書き換え量が多いからなのか重いのであまりオススメしない(部分適用が良い気がする)
まとめ
- xmodmapの設定ファイルを2つ用意する
- 使うキーボードによってマッピングを切り替える
という話でした。ということで皆様良いキーボードライフを!
0 件のコメント:
コメントを投稿