Karabiner-Elements: Cómo re-mapear caps_lock basado en aplicaciones

2

Objetivo

Se trata de confirmar si esta configuración es correcta para realizar la reasignación con Karabiner-Elements para la reasignación:

  • caps_lock to left_control si está en la Terminal
  • caps_lock to left_control si está en Emacs
  • caps_lock a left_command de lo contrario

Aprecie si alguien puede confirmar si esto es lo suficientemente bueno, o sugiera formas mejores / correctas.

Fondo

Buscando una manera de volver a asignar claves en Mac Sierra y encontré Karabiner-Elements para este propósito, pero no muchos ejemplos y documentación sobre la sintaxis de karabiner.json. Por lo tanto, buscando 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"
                }
            ]
        }
    ]
}
    
pregunta mon 02.11.2017 - 13:57

0 respuestas

Lea otras preguntas en las etiquetas