メインPC を Ubuntu 16.04 にアップデートしたらキーボードのカスタマイズが 15.04 の時の方法では機能せず、少し変更が必要になった。
変更点
「Ubuntu 15.04: キーボードのカスタマイズ設定」の記事で紹介した手順は必要だが、さらにもうひと手間必要になる。
以前の記事ではキーマップファイル ~/.xkb/keymap/hhk はテスト用に作成しただけだが、Ubuntu 16.04 ではこれが必要になり、デスクトップにログイン後に xkbcomp -I$HOME/.xkb ~/.xkb/keymap/hhk $DISPLAY
を実行しないとキーマップが反映されなくなった。
xkbcomp の設定だけでは以前と同様、入力メソッドを fcitx-mozc に切り替えるなどの操作でキーマップがリセットされてしまう。
デスクトップログイン時に xkbcomp を実行するため、まずシェルスクリプト ~/bin/hhk_setup.sh を作成する。
#!/bin/sh xkbcomp -I~/.xkb ~/.xkb/keymap/hhk $DISPLAY 2>/dev/null
これを起動させるために gnome session のスタートアップで起動するデスクトップファイル ~/.config/autostart/hhk_setup.desktop を作成する。
[Desktop Entry] Type=Application Exec=/home/hoge/bin/hhk_setup.sh Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[ja]=HHK Setup Name=HHK Setup Comment[ja]=Happy Hacking Keyboard のキーマップ設定 Comment=Happy Hacking Keyboard のキーマップ設定
hoge のところはユーザ名に置き換え。~/ や $HOME が使えないのでフルパスで書くしかない模様。以前は GNOME のスタートアップで xkbcomp を実行しても設定が反映されなかったが今回は大丈夫なようだ。
右 Alt キーを Super キーにする
GNOME Flashback は metacity 版を使っていたが、radeon ドライバになってから動画の再生でティアリングが発生するので compiz 版に乗り換えた。compiz 版では gnome-panel の右クリックメニューを出すのに Super キーを押さないといけなくて、HHK にはそんなキーがないので右 Alt キーを Super キーにするように hhk_swap を以下のように書き換えた。
partial modifier_keys xkb_symbols "alt_keys" { replace key <MUHE> { [ Alt_L ] }; replace key <HENK> { [ Alt_R ] }; replace key <LALT> { [ Super_L ] }; };
これで Super キーは使えるようになったが、Emacs で Meta キーが効かなくなった。M-x のつもりが s-x になってしまう。Meta キーが Super_L と解釈されている? でも xev で見ても Alt_L にちゃんとなっているのだが…
とりあえず .emacs に
(setq x-super-keysym 'meta)
を追加して Super キーを Meta キーと解釈させることで問題を回避した。
トラックバック:
idトラックバック: