世の中にはSKKという素晴しい日本語入力方式があり,IMEとして様々なプラットフォームに移植されている。 ただ典型的なSKKはShiftを多用するため,通常のキー配列のまま使いこなすには小指を鍛える必要がある。 楽器をやるでもなければ,なかなか指を鍛えるモチベーションは発生しにくいものだ。
そこで紹介したいのがSandS (Space and Shift)という秘策だ。 これは他キーと組み合わされた場合のみSpaceをShiftへリマップするというものだ。
Linuxの場合
xmodmapとxcapeで実現する……のが定石だった。2023年くらいまでは。 現代においてはxremapという素晴らしいソフトウェアを使うのがよさげ。
xremapを用いるSandSのやり方は独立した記事に書いた。
詳しくはこちら: https://seppuku.club/unix-like/sands-xremap/
従来のxmodmap+xcapeを用いる方法はネット上で確認できるので気になる各位はggって欲しい。
Windowsの場合
WindowsはCorvusSKKとSandSExeの組み合わせがオススメ。
CorvusSKKは初期設定の辞書が貧弱だったりして,ややOOTB志向でない気がするが,それでも必要な機能は揃っている。
また,SandSExeはshell:startup
にぶち込むだけでは自動起動しなかった(管理者権限を要求してくるので,それが原因なのかも)。
僕はWindowsをあまり使わないので原因究明はまた今度。
実は他にもSKK-FEPというソフトウェア(FEPを名乗っているが実質IMEやろ,知らんけど)がある。 これは単体でSandSができたりGoogle日本語入力の候補が使えたりして良かったのだが,設定画面がWSHで動くのでWindows11以降との組み合わせが微妙かもしれない。 最近試してないので実際のところは不明。
macOSの場合
macOSにはKarabiner-Elementsという素晴らしいソフトウェアがあり,これを使用してSandSを実現する。
Note
以下は大昔に記した設定方法であり,現行バージョンのKarabinerだとマウスポチポチで設定できた気がする。 そのうち更新する……かもしれない……。
Karabiner-Elementsは~/.config/karabiner/assets/complex_modifications/
以下から追加のルールを読み込むので,ここにJSON形式の設定ファイルを配置すれば良い。
では実際にSandS用の設定を先程のディレクトリの中にhoge.json
として保存する。
{
"title": "SandS",
"rules": [
{
"description": "SandS",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "spacebar",
"modifiers": {
"optional": ["any"]
}
},
"to": [
{
"key_code": "left_shift"
}
],
"to_if_alone": [
{
"key_code": "spacebar"
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": ["^io\\.krunker\\.desktop$"]
}
]
}
]
}
]
}
conditions
内のfrontmost_application_unless
は(名前から察せる通り),設定を適用しないアプリケーションをパッケージの名前空間っぽいやつの正規表現で指定する(ちなみにこのIDは付属のEventViewerで確認できる)。
これを設定しないとスペースキーを使うゲームがまともにプレイできなくなってしまう。
Mine○raftのように,ゲーム本体の形式がAppでない場合はこれ以外の方法でどうにかする必要がある(具体的にどうやるかはわからない)。
おわりに
SKKは便利だし,SandSを駆使して快適なPCライフを送ろう。