Obiettivo
Questo è qualcosa in più per confermare se questa configurazione è corretta per rimappare con Karabiner-Elements per rimappare:
- caps_lock a left_control se è in Terminal
- caps_lock a left_control se è in Emacs
- caps_lock a left_command altrimenti
Apprezza se qualcuno può confermare se questo è abbastanza buono o suggerire modi migliori / corretti.
Sfondo
Alla ricerca di un modo per rimappare le chiavi in Mac Sierra e trovato Karabiner-Elements allo scopo, ma non molti esempi e documentazioni sulla sintassi di karabiner.json. Quindi cerca input.
Codice
"complex_modifications": {
"parameters": {
"basic.to_if_alone_timeout_milliseconds": 1000
},
"rules": [
{
"manipulators": [
{
"description": "Change caps_lock to left_command in Terminal.",
"conditions": [
{
"bundle_identifiers": [
"^com\.apple\.Terminal$",
"^com\.googlecode\.iterm2$",
"^co\.zeit\.hyperterm$",
"^co\.zeit\.hyper$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_control"
}
],
"type": "basic"
}
]
},
{
"description": "caps_lock to left_control in Emacs",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"org\.gnu\.Emacs"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_control"
}
],
"type": "basic"
}
]
},
{
"description": "caps_lock to left_command otherwise",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_command"
}
],
"type": "basic"
}
]
}
]
}