で書いた方法は、
- Japanese(mozc) でctrl+hするとbackspaceとして動作してくれなかった
- 起動時に自動で読み込むベストプラクティスが思い付かなかった
ことから別のアプローチを模索することとなった。
gtk-key-theme を変更するアプローチ
$ gsettings set org.gnome.desktop.interface gtk-key-theme Emacs
を実行するだけでctrl+hでBackspaceができるようになった。
こちらのやり方なら直接入力でもかな入力中でも認識してくれた。
Super押下時のActivitiesのキー入力など、一部では動作しないケースがあるが諦めた。
こちらは再起動後もそのまま適用してくれるので良さそう....
と思ったが、ブラウジング中などにも ctrl + a
で全選択でなく行頭にカーソル移動など、きっちりEmacs寄りのキーバインドになってしまったので独自key-themeを作成することにする。
独自key-themeの作成
$ cp /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css ~/.local/share/themes/<テーマ名>/gtk-3.0/gtk-keys.css
して自分好みのキーバインドを定義することにした。
.themes
配下でも .local/share/themes
配下でもどちらでもOK
@binding-set gtk-yourtheme-text-entry { /* * Some non-Emacs keybindings people are attached to */ bind "<ctrl>u" { "move-cursor" (paragraph-ends, -1, 0) "delete-from-cursor" (paragraph-ends, 1) }; bind "<ctrl>h" { "delete-from-cursor" (chars, -1) }; bind "<ctrl>w" { "delete-from-cursor" (word-ends, -1) }; } entry { -gtk-key-bindings: gtk-yourtheme-text-entry; }
独自key-themeの適用
$ gsettings set org.gnome.desktop.interface gtk-key-theme <テーマ名>
これでOK.
戻したい時
戻したい時には
$ gsettings set org.gnome.desktop.interface gtk-key-theme Default
とすればOK.
起動時にも適用する
./.config/gtk-3.0/settings.ini
に下記のように記述する
[Settings] gtk-application-prefer-dark-theme = true # 元々あったダークモードの設定 gtk-key-theme-name = <テーマ名>
参考
UbuntuTips/Desktop/GnomeEmacsKeyTheme - Ubuntu Japanese Wiki GTKのキーバインドを変更する | monolithic kernel

- 作者:吾峠 呼世晴
- 発売日: 2016/06/03
- メディア: コミック