MacのUSキーボードの日本語入力UX改善
Problem
多くの人がKarabiner Elementsで"For Japanese (日本語環境向けの設定) (rev 4)"の"コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな) (rev 3)"を導入しているかと思う。
ただ、これだとRight Commandで かなキーの入力がたまに誤作動し、ストレスを感じることが多かった。改善のために、SImple ModificationでRight Commandをかなキーに入れ替えたりもしてみたが、この場合は当然だがRight CommandがCommandとして使えなくなり、それはそれで不便さを感じた。
Solution
Karabiner Elementsは簡単に自作のルールを導入できるため、下記のルールを作ったら非常にUXが改善された。
下記のルールは、Right Command押下時に200ms以内であればRight Command、200ms以上であればかなキーとして動作させるためのもの。定義を見ると自明だが、to_if_aloneとto_if_held_downにイベントを割り当てることができ、単押しと長押しの閾値も設定可能。便利!!
code: settings.json
{
"title": "Custom Right Command (@ryoheimorimoto)",
"rules": [
{
"description": "Change Left Command to Eisuu.",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_command",
"modifiers": {
"optional": [
"any"
]
}
},
"parameters": {
"basic.to_if_alone_timeout_milliseconds": 200,
"basic.to_if_held_down_threshold_milliseconds": 200
},
"to": [
{
"key_code": "left_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "japanese_eisuu"
}
],
"to_if_held_down": [
{
"key_code": "left_command"
}
]
}
]
},
{
"description": "Change Right Command to Kana .",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"any"
]
}
},
"parameters": {
"basic.to_if_alone_timeout_milliseconds": 200,
"basic.to_if_held_down_threshold_milliseconds": 200
},
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "japanese_kana"
}
],
"to_if_held_down": [
{
"key_code": "right_command"
}
]
}
]
}
]
}