読者です 読者をやめる 読者になる 読者になる

Lambdaカクテル

ソフトウェア開発者です.玉石混淆です.

SandS( Shift and Space)をxcapeで実現するメモ

linux memo SKK SandS xmodmap キーボード

スペースキーにシフトキーを割り当てる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