menu
書いてる野郎
orebike@gmail.com
Mac は 左shift 一発で IME の切り替えにしているのでこれと同等のことを Ubuntu でもできるようにする。
使っているのは ibus + mozc
海外ではこのようなキーカスタムの方法を One shot modifier と呼ばないっぽく、あまり文献が出てこない。日本で SandS というカスタム(space キーに shift キーを割り当てる)をやっている人がいたのでそこを参考にすると xcape というツールを使うとこの One shot modifier が簡単にできるようなことがわかった。
ここである。2016-04-25。指示にしたがってインストールする。特に何も無い。
$ git clone https://github.com/alols/xcape.git $ cd xcape $ make $ sudo make install
これでOK。必要なライブラリは環境によって違うだろうが、別に何も特別なものはない
早速動作させてみる。これだけで起動する。
$ xcape
デフォルトでは ctrl キーワンショットが ESC に割り当てられているらしく、確かに gVim を立ち上げてそのように操作できる。 あまりに簡単に実現できて拍子抜けである。
今回は IME の切り替えをしたいので Ubuntu 側の設定でとりあえずIME切り替えキーを「Zenkaku_Hankaku」に設定する。
そして xcape で左shiftからこのキーを発生させる。
終了の仕方がわからないのでとりあえず kill で止める。
再びこのようにして起動
$ xcape -e 'Shift_L=Zenkaku_Hankaku'
昔は結構難しいと思っていたLinuxでのワンショットモディファイアがいとも簡単に終了である。
これ fcitx を使っていた場合(16.04ではそうなっている)別に何の導入もいらず、標準で shift ワンショットでIMEの切り替えをできるようになる。
適当に調べた所によると、キーの名前は↓のようになる
BackSpace Tab Return Escape Delete Muhenkan Henkan Zenkaku_Hankaku Home Left Up Right Down Prior Page_Up Next Page_Down End Begin KP_Space KP_Tab KP_Enter KP_F1 KP_F2 KP_F3 KP_F4 KP_Home KP_Left KP_Up KP_Right KP_Down KP_Prior KP_Page_Up KP_Next KP_Page_Down KP_End KP_Begin KP_Insert KP_Delete KP_Equal KP_Multiply KP_Add KP_Separator KP_Subtract KP_Decimal KP_Divide KP_0 KP_1 KP_2 KP_3 KP_4 KP_5 KP_6 KP_7 KP_8 KP_9 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Shift_L Shift_R Control_L Control_R Caps_Lock Shift_Lock Meta_L Meta_R Alt_L Alt_R Super_L Super_R Hyper_L Hyper_R space exclam quotedbl numbersign dollar percent ampersand apostrophe quoteright parenleft parenright asterisk plus comma minus period slash 0 1 2 3 4 5 6 7 8 9 colon semicolon less equal greater question at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z bracketleft backslash bracketright asciicircum underscore grave quoteleft a b c d e f g h i j k l m n o p q r s t u v w x y z braceleft bar braceright asciitilde