スペースキーにシフトキーを割り当てるSandSの設定をするのにちょびっとつまづいたので自分用にメモ。
なぜSandSか
僕はSKKと呼ばれる日本語入力エンジンを使用しています。SKKの主たる特徴は、シフトキーを利用して手動で送り仮名の区切りや変換させたい部分を指定する事です。これが面倒に見えるのですが、慣れると変な変換ミスを減らすことができ、変換させたくない部分を変換されるような事も無くなるので助かっています。ついでにAZIKと呼ばれるローマ字入力の拡張を利用することもでき、大幅な入力速度の向上が見込めるのです。
さて、先日このSKKで頻繁に利用するキーを入力しやすくするべくxmodmap
を利用して右Spaceを@
に変更しました。平仮名片仮名の切り替えに使うキーなのですが、US配列のキーボードでは使いにくかったので、普段は使用しない右Shiftを利用したのです。
HHKBで快適なSSKライフを送るためにXmodmapでキーバインドを変更した話 - Lambdaカクテル
SandSとは、スペースキーにシフトキーを割り当てることで、スペースキーを押下している間はシフトキーとして、スペースキーを押下してそのまま離したらスペースキーとして認識させるというキーボードのモディファイ手法です。これを、xcape
というソフトウェアで実現します。これにより、SKKでの文字入力がよりスムーズに行えるようになるのです。
手法
ここを参考にしました。
Keyboard - UbuntuでSandSをxcape+xmodmapで実現する - Qiita
僕が作成した設定用のシェルスクリプトと.xmodmap
を貼っておきます。
#!/bin/sh # modKbd.sh # SandS configuration killall xcape # to prevent xcape daemon duplication xmodmap -e 'keycode 255=space' xmodmap -e 'keycode 65=Shift_L' ~/opt/xcape/xcape -e '#65=space' xmodmap .Xmodmap
! .xmodmap file ! shift_r -> @ clear Shift add Shift = Shift_L keycode 62 = at