xremapを利用して特殊なショートカットをマッピングしてみる(Alt+c → Shift+Ctrl+c など )

スペースキーの左側の「ALT」キーを普段は「Katakana」キーにマッピングしています。これでIME側の設定で日本語を解除するのに利用しています(USキーボードを使用しておりmacosでの挙動を模倣しています)
やりたいことは次のようになります。

ショートカット変更後のキー
Katakana + cShift + Ctrl + c
Katakana + cShift + Ctrl + v

macOSでは、キーと Ctrl キーの使い分けがきちんと出来ておりTerminalとかでコピーとCtrl+cをうまく分離しています。Linuxではこれらを避けるために多くのアプリは Shift + Ctrl + c にショートカットが割り当てられていることが多いです。

WaylandもXでもどちらでも利用できる xremap というツールでこれを実現できました。

普段 macの場合には Karabiner Elements を利用してコマンドキーを一回押した場合に Hiragana / Katakana にしています。Linuxでも同様に ALT_R を Katakana にしています。そのため、うまくこのキーを利用したいので、

キー1回長押し
KatakanaKatakanaAlt_R

に設定するようにします。そしてこのAlt_Rのショートカットを設定するようにします。

ショートカット変更後のキー
Alt_R + cShift + Ctrl + c
Alt_R + cShift + Ctrl + v

今回は、Alt_Rという装飾キーmodifiersを利用しました。Katakanaキーを直接virtual_modifiersにしていすると単体でKatakanaキーが有効化できなくなったので一旦Alt_Rを経由して実現しています。

modmap:
  - remap:
      Katakana:
        held: Alt_R
        alone: Katakana
        alone_timeout_millis: 100

keymap:
  - remap:
      Alt_R-c : SHIFT-CTRL-c
      Alt_R-v : SHIFT-CTRL-v

xremap自体はバイナリで提供されておりダウンロードしてすぐに使えますのでまずは試してみるのが良いですね。他にも色々なことができそうなのでもう少し色々見てみたいと思います。

参考


Created by roguer.info 2016