ibus-skkでSticky Shift
この記事では、ibus-skkでSticky Shiftを実現していきます。
この記事に検索で辿りつく人には説明はいらないかもしれませんが、SKKは日本語入力システム(ATOKとかgoogle IMEとか)の一つです。 基本的にはEmacs上で動くものですが、macOSではAquaSKK、Linuxではibus-skkなど、OS上で日本語入力システムとして利用できるようになっています。 初めて聞いたという方はぜひSKKで検索してみてください。
では、本題のibus-skkでのSticky Shiftの実現方法です。
ibus-skkではlibskkの設定を参照しています。そのため、libskkにSticky Shiftの設定ができればOKです。
libskkのREADME.rulesを読んでみると、libskkの設定は/usr/share/libskk/rules/
で定義されていますが、ユーザ用に~/.config/libskk/rules
にも定義することが可能です。
今回は、デフォルトの設定を継承して、ユーザ用にSiticy Shifftの設定を追加します。
ユーザ用の設定ファイルの保存場所の準備
以下のコマンドで設定用プ ロファイルの保存場所を作成します。
mkdir -p ~/.config/libskk/rules/StickyShift/keymap
metadata.jsonの設定
まずは、プロファイルを判別するためのmetadata.jsonを以下のように作成します。
{
"name": "Sticky Shift",
"description": "Enable Sticky Shift"
}
設定を判別するためのnameとdescriptionなので、自身が分かりやすければ好きなように記載しても問題ありません。
keymapの設定
次にkeymapを設定します。 libskkで変換の開始場所を指定するコマンドは以下の3つがあります。
- start-preedit
- start-preedit-kana
- start-preedit-no-delete
私は変換確定時に改行がされないようにstart-preedit-no-delete
を使いますが、この辺りは好みで選んでください。
このコマンドを以下のように、ひらがなとカタカナ入力時のkeymapの設定ファイルであるhiragana.json
とkatakana.json
として設定します。
- hiragana.json
{
"include": [
"default/hiragana"
],
"define": {
"keymap": {
";": "start-preedit-no-delete"
}
}
}
- katakana.json
{
"include": [
"default/katakana"
],
"define": {
"keymap": {
";": "start-preedit-no-delete"
}
}
}
プロファイルの有効化
ibus-skkの設定画面で、タイピング方式欄にStickyShift
が表示されますので、選択します。
念のため、PCを再起動して完了です。
終わりに
これでibus-skkでもSticky Shiftを実現できました。SKKはどうしても小指を酷使しがちなので、これでibus-skkでも快適な日本語入力ができます。 この記事でSKKに興味をもった方はぜひ試してみてください!