2021/04/20 このエントリーをはてなブックマークに追加 はてなブックマーク - [Linux]自作キーボードユーザーだけど、xmodmapを使ってキーマップを変更する

[Linux]自作キーボードユーザーだけど、xmodmapを使ってキーマップを変更する



今回はLinux系のキーマッピングについてです。
マッピングを変更できる、xmodmapというコマンドがあります。
詳しくは以下。
https://wiki.archlinux.jp/index.php/Xmodmap

X Windowシステム上のキーマップが変えれるわけですね。


前から知ってはいたんですが、自作キーボードを使っていたのでキーボードそのもののキーマップを好きに出来るのであまり興味が持てていなかったのです。
ただ、今回改めて考えてみたところ使いどころあるんじゃないかと思った次第です。というのは、どうしてもPCの内蔵のキーボードを使わないといけない場面です。
自作キーボードを家に忘れてきた!なんてことも皆さんよくあると思います




忘れた!という場合のほか、自分はかなりめんどくさがりなので、自作キーボードをPCにつけるのすら面倒なときがあります。気分転換にやっぱり自作キーボードが使いたいなぁ。。。というときもあります。
そういう、2つのユースケースがあるので以下を実現すればええんやなと気づきました。

  • PCの純正キーボードを使うときだけxmodmapを使いたい
  • 自作キーボードのときはxmodmapを使わないようにする

ここまで話を読んで、大体想像つくかと思いますが

  • 何も設定しないデフォルトの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 というファイル名にしておくとGDM、XDM、LightDMなど使っている場合は自動でキーマッピングしてくれる(硬派にstartxしている人の場合は~/.xinitrcにxmodmapの処理を付け足す)
  • Xmodmapのファイルは ! でコメントアウト
  • xmodmap -pke > ~/.BackupXmodmap などすると、現状のマッピングが設定ファイル化出来るけどリマップする際にマッピングの書き換え量が多いからなのか重いのであまりオススメしない(部分適用が良い気がする)

  • xmodmapの設定ファイルを2つ用意する
  • 使うキーボードによってマッピングを切り替える

という話でした。ということで皆様良いキーボードライフを!





0 件のコメント:

コメントを投稿

GA