基本USレイアウトで使っている. CapsLockを左CTRLとして使いたい.
以前はXが動いていたのでsetxkbmap -option ctrl:nocapsを叩けば良かった.
Waylandになってどうもかんたんにやる方法が見つからないので, ルートで割と真面目に作業した. udevをゴニョゴニョするはめになる. 大雑把には, キーイベントを調べて, それを, 必要なキーにマップする設定ファイルを書いたあと, それをコンパイルし, サービス再読込.
キーイベントのコードを調べるために,
evtest
をルートで実行.
(デフォルトでは入っていないのでaptで入れる).
デバイスを選んだあとに,
キーを押すと, 以下の感じでイベント情報が得られる.
Event: time 1756179110.012099, type 4 (EV_MSC), code 4 (MSC_SCAN), value 3a Event: time 1756179110.012099, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0 Event: time 1756179110.012099, -------------- SYN_REPORT ------------
type 4 (EV_MSC), code 4 (MSC_SCAN), value 3a
のvalue のあとの3aがコード.
emacs -nw /etc/udev/hwdb.d/50-mykeyboard.hwdb
みたいに.hwdbの拡張子のファイルを作成.
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr* KEYBOARD_KEY_3a=leftctrl KEYBOARD_KEY_7d=backspace KEYBOARD_KEY_d2=backspace KEYBOARD_KEY_73=rightshift KEYBOARD_KEY_7b=space KEYBOARD_KEY_79=space
こんなファイルを作ると,
(capslock) -> ctrl,
(Insert) -> backspace,
(日本語キーボードのBackSpaceの隣のYenMark) -> backspace,
(日本語キーボードのRightShiftの隣のRo) -> rightshift,
(日本語キーボードのmuhenkan) -> space,
(日本語キーボードのhenkan) -> space,
になった.
一行目の
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
はPS2のキーボードなら何でもこの設定を適用するというワイルドカードによる指定.
ベンダーコードなどを調べてキーボードごとに設定を書くこともできるけど,
ノートパソコンなので面倒なのでこれでおわり.
USBキーボードなら evdev:input:b*v*p*e*-*みたいになるらしい.
ベンダーコードなどはlsusbで調べればいいっぽい.
systemd-hwdb updateをルートで叩いてコンパイル.
udevadm triggerでサービス再起動.
とりあえず入れたもの. すべてaptでいれた.
emacs texlive-lang-japanese texlive-lang-cjk git make texlive-latex-extra texlive-fonts-extra
texlive-fonts-extra は stix のためにいれた.
古い接続情報とかの移植.
/etc/NetworkManager/system-connections/
以下にあるファイルが設定情報.
古いマシンからコピーし,
interface-name=
のところだけsedで書き換えて chmod 600 したものをおいた.
[../]