US 配列のキーボードでKarabiner-Elements を使って command キーで英数/かなを設定する方法のメモ。
https://karabiner-elements.pqrs.org/からダウンロードしてインストールする。
~/.config/karabiner/karabiner.jsonを以下で作成 or 上書き保存する。
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな) (rev 3)",
"manipulators": [
{
"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" }],
"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" }],
"to_if_held_down": [{ "key_code": "right_command" }],
"type": "basic"
}
]
},
{
"description": "英数・かなキーを他のキーと同時に押したときに、Optionキーを送信する (rev 3)",
"manipulators": [
{
"from": {
"key_code": "japanese_eisuu",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_alone_timeout_milliseconds": 200 },
"to": [{ "key_code": "left_option" }],
"to_if_alone": [{ "key_code": "japanese_eisuu" }],
"type": "basic"
},
{
"from": {
"key_code": "japanese_kana",
"modifiers": { "optional": ["any"] }
},
"parameters": { "basic.to_if_alone_timeout_milliseconds": 200 },
"to": [{ "key_code": "right_option" }],
"to_if_alone": [{ "key_code": "japanese_kana" }],
"type": "basic"
}
]
},
{
"description": "escキーを押したときに、英数キーも送信する(vim用)",
"manipulators": [
{
"from": { "key_code": "escape" },
"to": [
{ "key_code": "escape" },
{ "key_code": "japanese_eisuu" }
],
"type": "basic"
}
]
},
{
"description": "Ctrl+[を押したときに、英数キーも送信する(vim用) (rev 2)",
"manipulators": [
{
"conditions": [
{
"keyboard_types": ["ansi", "iso"],
"type": "keyboard_type_if"
}
],
"from": {
"key_code": "open_bracket",
"modifiers": { "mandatory": ["control"] }
},
"to": [
{
"key_code": "open_bracket",
"modifiers": ["control"]
},
{ "key_code": "japanese_eisuu" }
],
"type": "basic"
},
{
"conditions": [
{
"keyboard_types": ["jis"],
"type": "keyboard_type_if"
}
],
"from": {
"key_code": "close_bracket",
"modifiers": { "mandatory": ["control"] }
},
"to": [
{
"key_code": "close_bracket",
"modifiers": ["control"]
},
{ "key_code": "japanese_eisuu" }
],
"type": "basic"
}
]
}
]
},
"name": "Default profile",
"selected": true,
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
}
]
}