Objetivo
Se trata más bien de confirmar si esta configuración es correcta para hacer el remapeo con Karabiner-Elements to remap:
- caps_lock a left_control si está en Terminal
- caps_lock a left_control si está en Emacs
- caps_lock a left_command de lo contrario
Agradezco si alguien puede confirmar si esto es suficiente, o sugerir formas mejores/correctas.
Antecedentes
Buscando una manera de reasignar teclas en Mac Sierra y encontré Karabiner-Elements para el propósito, pero no muchos ejemplos y documentaciones sobre la sintaxis de karabiner.json. Por lo tanto, la búsqueda de entradas.
Código
"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"
}
]
}
]
}