Elementi di Karabiner: come mappare caps_lock in base alle applicazioni


2

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"
                }
            ]
        }
    ]
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.