macでAZIK/AZITを試してみる
こちらの記事で興味が湧いて、AZIKデビューしてみました。
もともとコードのコメントは英語で書くようにしているし、日本語で文字を入力する回数は他の人にくらべて多いほうではないと思います。ただ、慣れない入力方法で常に脳にすこし負荷がかかっているのが心地よく、1週間ほど使い続けています。
USキーボードでもストレスなく入力できるようKarabiner-Elementsの設定したので、備忘録がてら共有。
いまの自分のKarabiner-Elementsの設定はこんな感じ。
-
左cmd
は「英数」 -> 入力ソースをMac標準のABCに切り替える -
右cmd
は「かな」 -> 入力ソースをAquaSKKに切り替えつつ、ひらがな入力に / すでにAquaSKKが有効なら、StickyKeyとして働く -
Caps Lock
は、AquaSKKのStickyKeyに -
右Shift
は、AquaSKKのKanaToggleを発火するために使う
Caps Lock
と右cmd
の役割が重複しているが、しばらく使ってどちらが押しやすいかを判断してから整理したいです。
{
"description": "AquaSKK // cmdをIME言語切り替えに、caps_lockをStickyKeyに変更",
"manipulators": [
{
"description": "cmd(left) -> 英語",
"type": "basic",
"from": {
"key_code": "left_command",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 },
"to": [
{
"key_code": "left_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "japanese_eisuu"
}
],
"to_if_held_down": [{ "key_code": "left_command" }],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "jp.sourceforge.inputmethod.aquaskk"
}
]
}
]
},
{
"description": "cmd(right) -> 日本語 / if AquaSKK is ON",
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 },
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "comma",
"modifiers": ["control", "left_alt", "shift"]
}
],
"to_if_held_down": [{ "key_code": "right_command" }],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "jp.sourceforge.inputmethod.aquaskk"
}
]
}
]
},
{
"description": "cmd(right) -> AquaSKK + 日本語かな / if AquaSKK is OFF",
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 },
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "japanese_kana"
},
{
"key_code": "close_bracket",
"modifiers": ["control", "left_alt", "shift"]
}
],
"to_if_held_down": [{ "key_code": "right_command" }],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id": "com.apple.keylayout.ABC",
"language": "en"
}
]
}
]
},
{
"description": "caps_lock -> StickyKey",
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "comma",
"modifiers": ["control", "left_alt", "shift"]
}
],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "jp.sourceforge.inputmethod.aquaskk"
}
]
}
]
},
{
"description": "right_shift -> kanaToggle",
"type": "basic",
"from": {
"key_code": "right_shift",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": ["control", "shift"]
}
],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "jp.sourceforge.inputmethod.aquaskk"
}
]
}
]
}
]
}
Caps Lock
は促音(っ, ッ)を入力するためか、ひらがなカタカナ切り替えに使う方が良さそう。
AquaSKK側のkeymap.conf
はこんな感じ。元々の設定と同じ箇所は割愛。
SKK_JMODE
とStickyKey
、TaggleKana
は、Karabiner-Elementsで処理したショートカットを受け取っている。
###
### keymap.conf
###
# ======================================================================
# event section
# ======================================================================
SKK_JMODE shift::ctrl::alt::]
# ======================================================================
# attribute section(for SKK_CHAR)
# ======================================================================
ToggleKana shift::ctrl::` # [で「かな/カナ」のトグルをせず、back-quoteをKarabiner-Elements経由で受け取る
# ToggleJisx0201Kana ctrl::q # 使わない
# SwitchToAscii shift::ctrl::alt::[ # 最初は設定していたが、Mac標準のABCを使うことにしたので不要
# ======================================================================
# handle option
# ======================================================================
StickyKey shift::ctrl::alt::,
StickyKey
として使うのは右cmd
の方が良さそう。
capsLock
キーはかなカナ切り替えに使うことにした。
macSKK
mac向けSKK方式のIMEとして、macSKKというOSSを発見。
以下の理由からAquaSKKから乗り換えました。
- 頻繁にアップデートされている
- 設定ファイルがUTF-8(AquaSKKはEUC-JP)
- キーバインドを設定画面からいじれる[1]
macSKKでAZIKを使う
AquaSKKと違って、macSKKには設定画面にAZIKを有効化するオプションがありません。
また、探した限りではAZIK用のローマ字変換ルールを公開されている方もいないようです。
ですので、自分で用意して[2]gistを公開しました。
このファイルを~/Library/Containers/net.mtgto.inputmethod.macSKK/Data/Documents/Settings/
に配置すれば、即座にAZIK入力ができます。
カスタマイズをしたい場合
上記のファイルの末尾に、変換ルールを書き加えてみてください。
macSKK用のKarabiner-ElementsのComplex Modifications
右cmd
キーを入力ソースに応じて、macSKKの有効化とStickyKeyの両方に使っているが、かなり便利。
その他のキーとmacSKKのキーバインド設定は以下の通り:
-
左cmd
→英数キー
- mac標準のABC入力に
-
右cmd (ABC入力時)
→かなキー
+fn + ctrl + \
- macSKKを有効化
- その後macSKKでひらがなモードにする(カタカナモードで立ち上がらないように)
-
右cmd (macSKK入力時)
→fn + ,
- macSKKでStickyKeyに設定
-
caps_lock
→fn + ctrl + left_alt
- macSKKでかなカナトグルに設定
json
は以下の通りです:
{
"description": "macSKK // cmdをIME言語切り替え、StickyKeyに変更",
"manipulators": [
{
"description": "cmd(left) -> 英語",
"type": "basic",
"from": {
"key_code": "left_command",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 },
"to": [
{
"key_code": "left_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "japanese_eisuu"
}
],
"to_if_held_down": [{ "key_code": "left_command" }],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "net.mtgto.inputmethod.macSKK.hiragana"
}
]
}
]
},
{
"description": "cmd(right) -> 日本語 / if macSKK is ON",
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 },
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "comma",
"modifiers": ["fn"]
}
],
"to_if_held_down": [{ "key_code": "right_command" }],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "net.mtgto.inputmethod.macSKK.hiragana"
}
]
}
]
},
{
"description": "cmd(right) -> macSKK + 日本語かな / if macSKK is OFF",
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 },
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "japanese_kana"
},
{
"key_code": "backslash",
"modifiers": ["control", "fn"]
}
],
"to_if_held_down": [{ "key_code": "right_command" }],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id": "com.apple.keylayout.ABC",
"language": "en"
}
]
}
]
},
{
"description": "caps_lock -> KanaToggle",
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "backslash",
"modifiers": ["fn", "control", "left_alt"]
}
],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "net.mtgto.inputmethod.macSKK.hiragana"
}
]
}
]
},
{
"description": "right_shift -> kanaToggle",
"type": "basic",
"from": {
"key_code": "right_shift",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "backslash",
"modifiers": ["fn", "control", "left_alt"]
}
],
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"input_source_id" : "net.mtgto.inputmethod.macSKK.hiragana"
}
]
}
]
}
]
}
SKK + AZIKを使ってみた、ごく個人的な感想:
- AZIK自体はとても良い。打鍵数が減ったことで万年腱鞘炎気味の手への負荷が軽くなった
- 一方でmacの
日本語入力プログラム
(特にライブ変換)に慣れた自分には、SKKは手間が増えて面倒に感じられてしまった[1](ただ、ミニマムな操作でひらがなに開いた状態で単語や文節を打ち込めるのは非常によい) - おそらくmacの
日本語入力プログラム
でAZIKを使う方法は(現実的には)存在しないため、折衷案としてGoogle日本語入力
でAZIKを使うのがベストな気がする。IME自体の使用感はmacの日本語入力プログラム
より若干悪いが我慢するしかない[2] - OSSのIMEとしてはAzookey for Desktopの感触が非常によかったので、ローマ字変換ルールを設定できるようになったら乗り換えるかもしれない
-
使用開始1週間時点では
SKK
と日本語入力プログラム
で速度が最低でも2, 3倍以上差が出てしまうのが最大のネックでした。もちろんこれは慣れの問題だと思いますが、個人的にはSKK
で日本語入力プログラム
と同程度の速度を出せるまで熟達できるイメージが湧きませんでした。 ↩︎ -
macの
日本語入力プログラム
(というかライブ変換)は、日本語入力における認知負荷をかなり下げてくれる設計になっているなと実感しています。Google日本語入力
と比較して変換キーの打鍵数が少なくて済み、長いIME文節も誤変換を心配せず入力できる感覚があります。また、まだ発展途上とはいえ、Azookey for Desktopにも同様の印象を抱きました。こちらはM1の学生さんが作られているとのこと。すごい。 ↩︎