Linux用のkeybordをフックするアプリを作ってみた

私はVimmerなのでvimキーバインドに慣れすぎていてなんでもvimキーバインドで操作できれば嬉しい。まあ現実考えると流石になんでもとは行かないのだけどWebブラウザは長く触るので対応してほしい。

 

さて、最近はChromeをメインに使っているが、これがブラウザを起動しっぱなしで運用しているが、時間が経てば経つほどメモリを食い尽くし、最終的にはシステムのほぼすべてをChromeが奪ってしまってついにはSwap化までするという酷さ。

こうなるとプラウザを再起動してSwapを手動で開放してやらないとダメという酷さ。もう付き合うのが辛いが、他のブラウザに乗り換えるのもちょっと腰が引けている。

 

で、原因を探すとその大きな原因の1つがChromeの操作をvimキーバインドで出来るようにする拡張機能だった。いくつか乗り換えたが結局はどれでも同じ結果となったのでもう色々無理なので拡張機能を削除した。が、操作が不便になってしまって困ってしまった。

 

色々考えたのだが、結局キーボードで操作さえできれば良いのでそういうソフトを探すが、WindowsだとAutoHotKeyというのがあったはずだが、Linuxだと意外と無かったり機能がいまいちだったり。

 

昔からここは悩みどころだったのだけど、ちょと検索してみると作れなくはなさそうというのに気づく、というか知っていたけど時間的に余裕がないので手が出せなかったというのもある。

 

ということで、とりあえずコードを書いてみると最低限は動いたし先も見えたので多少真面目にコードを書いてレポジトリを作ってみました。

https://github.com/longicorn/xremapkey

 

現状はすべてのkeybordの入力をhookしてhjklのときにだけ入力を変更している。

~~すべての入力時に動くけど、とりあえずChromeの動きだけを対象にしている~~

~~どうも一部バグっているようで動作しないようだ。別途対応が必要そう~~

対応終わった

 

 

とりあえず、ここからは対象アプリ、設定ファイルの対応、複数key入力対応辺りをなんとかしてみたい

 

 

しかし、久々にCを書いたけど多少忘れているのもあったけど、まあ普通に書けたので良いリハビリになるかもしれない

時間があるときに頑張りたい

 

さて、そろそろ無職をやめないとまずいなぁ。次どうしよう?