EDITAR: Acabo de agregar dos corchetes "[]" a la final "to": [{-part, ya que su falta se solucionó [error]!
=============================================== ===========================
Por lo tanto, aquí hay una "versión final" (algunas notas a / desde un primer intento se adjuntan al final):
... algún código de muestra que excluye cualquier escritura, excepto las letras "a" & "b".
Este ejemplo está configurado para funcionar solo en TextEdit (para propósitos de prueba) pero, por supuesto, puede cambiar / eliminar estas "condiciones" (en el último manipulador).
- La "exclusión" se prepara mediante Shft-Ctrl-A
que solo establece "none_but_ab"
en verdadero (1).
- El siguiente en la línea es un manipulador de parada (seguridad primero); establece "none_but_ab"
a "0" después de mantener "x" 2 segundos.
- Las dos partes siguientes superan nuestras letras "a" y "b", excluyendo a partir de las siguientes annihilation .
- El último manipulador fatal toma "any: key_code" y lo muestra en "none" ...
- Tenga cuidado con su mecanismo de parada: ¡las teclas singulares funcionan mejor, los combos modificados pueden fallar!
- Algunas ideas más:
Al agregar "command" ("shift") a la última "from", podría evitar que la aplicación-Cmd-shortcuts (mayúsculas).
Karabiner El. puede comenzar antes de iniciar sesión (Preferencias > 'Copiar el actual ...'); ¡La "contraseña" se vería afectada!
También me gustaría saber cómo se puede aplicar "Shift" a "cualquiera": "código_clave", forzando mayúsculas, o si los números pueden ser "seleccionados" de alguna manera. Bueno, veamos ...
{ "description": "============= vk_none but a,b ============= ",
"manipulators": [
{
"from": { "key_code": "a",
"modifiers": {
"mandatory": ["left_shift", "left_control"]
} },
"to": [
{ "set_variable": {
"name": "none_but_ab",
"value": 1 } }
],
"type": "basic"
},
{
"from": { "key_code": "x" },
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 2000 },
"to_if_held_down": [
{ "key_code": "x" },
{ "set_variable": {
"name": "none_but_ab",
"value": 0 } }
],
"type": "basic"
},
{ "from": { "key_code": "a" },
"to": [ { "key_code": "a" } ],
"type": "basic" },
{ "from": { "key_code": "b" },
"to": [ { "key_code": "b" } ],
"type": "basic" },
{
"conditions": [
{ "name": "none_but_ab",
"type": "variable_if",
"value": 1 },
{ "bundle_identifiers": [
"^com.apple.TextEdit" ],
"type": "frontmost_application_if"
}
],
"from": { "any": "key_code",
"modifiers": {
"optional": ["any"] }
},
"to": [ { "key_code": "vk_none" } ],
"type": "basic"
}
]
}
(Aquí hay algunos restos de una primera respuesta (eliminada) en este:
note the twisted "any: key_code" part that calls every key, including "modifiers…any"
Interestingly 'from-to' units within
{manipulators:…} Karabiner.json are worked through from top to bottom
hasta que uno sea ejecutable
So if you want particular letters (a, b) to work nonetheless, you must call them previously.
¡Los valores de
Starting value for any variable is "0"
… "vivirán" mientras Karabiner se está ejecutando!
… while experimenting I made my monitor sleep, but when I typed my pw – one letter simply was not recognised. I had to start from an external drive and change my code.
)