最近のMac OSではCapsキーを使って日本語モードと英数モードの切り替えができたりするんですが,そのためには日本語IMで「ひらがな」と「英字」の両方がオンになっていないとダメだったり(日本語IMの英字モードだとウムラウトなんかがうまく入力できない)して今ひとつでしたが,Karabiner-Elementsが入力モードの判別に対応してくれたおかげで自分がやりたいことができるようになりました。
以下の設定ファイルでは,「caps lock」キーを単独で押した場合に「ひらがな」モードと「U.S.」モードの切り替え,それ以外の場合は左「control」キーとして動作するようにしています。左「control」キーは「caps lock」キーとして動作します。
また,設定ファイルの後半では,日本語入力時以外にスペースキーをシフトキーがわりに使用できるようにしています。日本語入力時「以外」としたのは,このところ日本語入力にはLacailleによる親指シフト入力を使用しているためです。
需要があるかどうかはわかりませんが,せっかくなのでここに公開しておきます。
{
"title": "ひらがな-U.S.トグル",
"rules": [
{
"description": "caps lockを左コントロールに(単体で押した場合には英数・かなキーを送信する)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_control",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "caps_lock"
}
]
},
{
"conditions": [
{
"type": "input_source_unless",
"input_sources": [
{
"language": "ja"
}
]
}
],
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_control"
}
],
"to_if_alone": [
{
"key_code": "japanese_kana"
}
]
},
{
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"language": "ja"
}
]
}
],
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_control"
}
],
"to_if_alone": [
{
"key_code": "japanese_eisuu"
}
]
}
]
},
{
"description": "日本語モード以外でスペースキーを左シフトに(単体で押した場合はスペースを送信する)",
"manipulators": [
{
"conditions": [
{
"type": "input_source_unless",
"input_sources": [
{
"language": "ja"
}
]
}
],
"type": "basic",
"from": {
"key_code": "spacebar",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_shift"
}
],
"to_if_alone": [
{
"key_code": "spacebar"
}
]
}
]
}
]
}