Obbiettivo
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
Apprezzo 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 per lo scopo, ma non molti esempi e documentazioni sulla sintassi di karabiner.json. Quindi cercando 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"
}
]
}
]
}