LinuxBeanでキーバインドの設定 xdotool & obkey
LinuxでAutohotkeyを実現したかっただけなのに…
皆さんはどんなキーバインド、キーコンビネーションがお好みだろうか?
僕が今までUbuntuやDebianその他Linuxディストリビューションをメインマシンとして使用しなかったのは、自分が好きなキーバインド、キーコンビネーションの設定ができなかったのが大きな理由だ。
もちろん他にも理由はあるが、これが結構な割合を占めてた。
僕はWindowsを使用している場合はAutohotkeyを使ってCtrl+[?]の組み合わせでvimライクな操作を実現していた。
Ctrl+hjklで方向キーを入力できないなんて嫌だ。
それなのに、何故かLinux環境ではなんか設定が難しい、というか理解しにくい。
できるにはできそうなんだが、紋切り型の方法で設定するのではなく、Google先生方もみんなそれぞれ違った記事を書いている。
xkb?
xdotool?
xbindkeys?
rc.xml?
様々な方法が書いてあったが、どれも僕のイメージに沿わない。
あくまでもキー入力は最終的に、ウィンドウマネージャが受け取り、処理したのち、アプリケーションへ送信する、というのが僕のイメージだった。
LinuxBeanを使用している僕としては、できることならばOpenBoxのキーボード・ショートカット設定ツールObkeyから設定したかった。
Ctrl+[?]によるキーコンビネーションの設定は技術的に難しいらしい、ということが、このあたりに書いてあったと思う。
しかし、最低でもAlt+[?]の形で設定したかった。
それがやっと実現できたので記述しようと思う。
キーを送信するスクリプトを作成
この方の記事がわかりやすかった。
このページの"emu_keystroke.sh"をありがたく使わせていただいた。
$ cd ~/bin $ ln -s emu_keystroke.sh emu_Up.sh $ ln -s emu_keystroke.sh emu_Down.sh $ ln -s emu_keystroke.sh emu_Left.sh $ ln -s emu_keystroke.sh emu_Right.sh
あとはObkeyでこれらのスクリプトを設定するだけ。
Obkeyでの設定
まずは起動。
設定方法は以下。
1. 水色の□と+が縦に並んでいるボタンをクリックすると「Key」部分に新たな項目が追加される。
2. 新たに追加されたを選択し、画面右下「Actions」下のプラスをクリックする。
3. 「Actions」に新たに「Focus」が追加される。
4. 「Focus」をクリックすると、選択肢が表示されるので「Execute」を選択する。
5. 画面右上に出てくる「command」右のテキストボックスに、先ほど作成したスクリプトのパスを記入。
6. 「Key」部分を選択した状態で、もう一度クリックすると、「新たなアクセラレータ…」と表示されるので、[Alt+h]などと設定する。
以上で完了。
やっぱり好きだなLinux。