続・uim-skk から ibus-skk へ
[comp] 続・uim-skk から ibus-skk へ
入力補完や変換ミスを C-g (Ctrl+g) 以外に esc (Escape) でキャンセルするには、独自ルールを作ることで対応できた。
~/.config/libskk/rules/custom/ディレクトリを作成。customディレクトリ以下にmetadata.jsonファイルを次の内容で作成。
{
"name": "custom",
"description": "custom rules"
}
customディレクトリ以下に/usr/share/libskk/rules/default/rom-kana/ディレクトリに対するシンボリックリンクを作成(これでいいのか不明)keymapディレクトリを作成。keymapディレクトリ以下に/usr/share/libskk/rules/default/keymap/ディレクトリ以下の*.jsonファイルをすべてコピー(これでいいのか不明)default.jsonファイルに esc (Escape) のキーマップを追加。
--- /usr/share/libskk/rules/default/keymap/default.json 2021-01-10 03:26:52.000000000 +0900
+++ ./default.json 2023-10-28 21:54:52.006252472 +0900
@@ -2,6 +2,7 @@
"define": {
"keymap": {
"C-g": "abort",
+ "Escape": "abort",
"\n": "commit-unhandled",
"C-m": "commit-unhandled",
"\b": "delete",
- ibus-skkの設定でTyping Ruleを
customに設定。
これでOK。
jsonファイルの全コピーがダサいんだけど、既存のルールへの追加方法がどうもよくわからなかったので、このままで。また、 latin.json に
--- /usr/share/libskk/rules/default/keymap/latin.json 2021-01-10 03:26:52.000000000 +0900
+++ ./latin.json 2023-10-28 22:22:55.691675624 +0900
@@ -4,6 +4,8 @@
],
"define": {
"keymap": {
+ "(lshift space)": "set-input-mode-hiragana",
+ "(rshift space)": "set-input-mode-hiragana",
"C-j": "set-input-mode-hiragana"
}
}
を入れてみたけど、shift+space がどこかで横取りされてるのか、うまく動かなかった。これが動くようになるとありがたいんだけど…。