LoginSignup
0
0

Ubuntu 22.04 でキー割り当てを変更する

Posted at

やり方

  1. 割り当てを変更したいキーボードの、Bus, Vendor, Product 情報を取得する。
    $ cat /proc/bus/input/devices
    
    とすると、沢山デバイスが出力されるので、その中から対象となるキーボードを見つけて、その I: ... 行から、Bus, Vendor, Product の値を取得する。例えば、
    I: Bus=0011 Vendor=0001 Product=0001 Version=ab54
    
    なら、Bus, Vendor, Product はそれぞれ、0011, 0001, 0001
  2. /etc/udev/hwdb.d に、適当な名前で、拡張子が .hwdb のファイルを作る。
    $ sudo /etc/udev/hwdb.d/touch mine.hwdb
    
  3. そのファイルにキー割り当ての設定を書く。書き方は別途説明。
  4. hwdb を更新してリロードする。
    $ udevadm hwdb --update                                                        
    $ sudo udevadm trigger
    

hwdb ファイルの書き方

evdev:input:b0011v0001p0001*
 KEYBOARD_KEY_b8=enter
 KEYBOARD_KEY_b7=esc

evdev 行

対象となるキーボードを指定する。

evdev:input:b0011v0001p0001*

のように、bの後にBusの値、vの後にVendorの値、pの後にProductの値を置く。
最後のアスタリスクは残す。

KEYBOARD_KEY 行

キーの割り当てを指定する。

 KEYBOARD_KEY_b8=enter

は、b8 のキーに enter を割り当てる

enter 等の割り当てるキーに対応する文字列は、ここ から見つける。

b8 等の割り当て先のキーのコードは、evtestをインストール・実行すると

$ sudo apt install evtest
$ sudo evtest

デバイスのリストが表示されるので、キーボードを選択して、キーを叩くと、こんなものが出力される。

Event: time 1704669406.921868, type 4 (EV_MSC), code 4 (MSC_SCAN), value b8
Event: time 1704669406.921868, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1704669406.921868, -------------- SYN_REPORT ------------

この 1 行目の value の値がキーコードになる。

参考にしたサイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0