前にこんな記事を書きましたが、
たしかにCtrl-Nで新しいウィンドウが開くことはなくなったんですけど、Webページによっては Ctrl-N を押しても何も反応がないことがあります。原因は調べてません。まあウィンドウが開くことがないだけでもいいかと思ってたんですけど、xkeysnail というのがあると教えてもらいました。
Python製のツールみたいです。Pythonは全然わかんないんですけど、書かれてる通りにインストールしました。 pip3 は Ruby の gem コマンドみたいなもんなのかしら。
% sudo apt install python3-pip % sudo pip3 install xkeysnail
example/config.py はたくさん設定されててなんかこわいので Ctrl-N と Ctrl-K だけにしてみました。Pythonわからないんでテキトーです。
# -*- mode: python, coding: utf-8 -*- import re from xkeysnail.transform import * # [Global modemap] Change modifier keys as in xmodmap define_modmap({ Key.CAPSLOCK: Key.LEFT_CTRL }) define_keymap(lambda wm_class: wm_class in ("Firefox"), { K("C-k"): [K("Shift-end"), K("C-x"), set_mark(False)], K("C-n"): with_mark(K("down")), }, "Firefox")
/dev/uinput とかを使うので root で実行する必要があるんですけど、常に root で動かしとくのもアレなので、この記事を参考に専用ユーザーを作って見ました。
自動起動はこういうスクリプトを作って、デスクトップの設定の「自動起動するアプリ」で起動するようにしました。バックグラウンド実行するようにしとかないとログイン処理が止まってキー入力が一切効かなくなって電源切るしかなくなっちゃったので注意。
~/bin/xkeysnail.sh
:
#!/bin/sh exec >> $HOME/tmp/xkeysnal.log 2>&1 xhost +SI:localuser:xkeysnail sudo -u xkeysnail DISPLAY=$DISPLAY /usr/local/bin/xkeysnail $HOME/etc/xkeysnail.conf
今のところ期待通りに動いているようです。