LoginSignup
0
0

Ubuntu22 vimmer のためのキーボード設定

Last updated at Posted at 2023-07-17

参考文献

https://wiki.archlinux.jp/index.php/GNOME/%E3%83%92%E3%83%B3%E3%83%88%E3%81%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF
https://wiki.archlinux.jp/index.php/Xorg_%E3%81%A7%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A

https://wiki.archlinux.jp/index.php/X_keyboard_extension
https://wiki.archlinux.org/title/X_keyboard_extension
https://www.x.org/wiki/XKB/
https://junology.hatenablog.com/entry/2017/06/24/141322#fn-0b8eec0f

設定

/usr/share/X11/xkb/ が設定ディレクトリになる。
rules/evdev の symbols に追記

! option        =       symbols
  ...
  jpkey:util            =       +jpkey(util)
  vimmer:caps_arrow             =       +vimmer(caps_arrow)

symbols/jpkey を作成
AE13 の行は vimmer 用にハット右のエスケープを$にしている。

hidden partial modifier_keys
xkb_symbols "util" {
    key <AE13> { [ dollar, bar ] };
    key <MUHE> { [ Control_L, Control_L ] };
    key <HENK> { [ Escape, Escape ] };
    key <HKTG> { [ underscore, underscore ] };
    modifier_map Control { <MUHE> };
};

symbols/vimmer を作成

// ref. https://wiki.archlinux.org/title/X_keyboard_extension#Caps_hjkl_as_vimlike_arrow_keys
// ref. https://wiki.archlinux.org/title/X_keyboard_extension#Level3
xkb_symbols "caps_arrow" {
    //key <LWIN> { [ ISO_Level3_Shift ] };
    key <AC06> {
        type= "THREE_LEVEL",
        symbols= [               h,               H, Left]
    };
    key <AC07> {
        type= "THREE_LEVEL",
        symbols= [               j,               J,               Down]
    };
    key <AC08> {
        type= "THREE_LEVEL",
        symbols= [               k,               K,               Up]
    };
    key <AC09> {
        type= "THREE_LEVEL",
        symbols= [               l,               L,               Right]
    };
    modifier_map Mod5 { <CAPS> };
};

dconf で設定。xkbcomp だとブラウザは設定が反映されるが、terminal では反映されなかった。

dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:none', 'jpkey:util', `'vimmer:caps_arrow']"

Tips

xev でキーの信号を確認できる。
xkbcomp $DISPLAY now.xkb で今の設定を now.xkb に書き出せる。設定の確認や書き方の勉強に使える。(ただし、設定が確実に反映されてるとは断言できるまで検証していない)
/usr/share/X11/xkb/rules/*.lst に dconf で設定できる options が一覧できる。
一度ログアウトしてログインし直すと、設定を再読込できる。ただし、うまくいかない場合もあるので、そのときは再起動が必要。

補足

/usr/share/X11/xkb/ に個人の設定を追加するのは、たぶん良くない。
xkbcomp mine.xkb $DISPLAY では gnome に上書きされるのか、terminal などで設定が反映されなかった。

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