¿Existe una forma sencilla de deshabilitar un grupo de teclas en modificaciones complejas en Karabiner-Elements?
Considere un ejemplo:
Bajo la siguiente condición
"set_variable": {
"name": "con-1",
"value": 1
}
Quiero deshabilitar todos los alfabetos/números/símbolos (o la mayoría de ellos al menos), excepto a
y b
.
Solo como referencia, esta página explica cómo deshabilitar teclas individuales. La aplicación de este enfoque a muchas claves no es eficiente.
Agradezco su conocimiento de antemano.
EDITAR: ¡Acabo de agregar dos corchetes "[]" al final "a": [{ -parte, ya que su falta se volvió soan [error]!
================================================== ========================
Entonces, aquí hay una "versión final" (algunas notas a/de un primer intento se adjuntan en la parte inferior):
... algún código de muestra que excluye cualquier escritura excepto las letras "a" y "b".
Este ejemplo está configurado para funcionar solo en TextEdit (para fines de prueba), pero, por supuesto, puede cambiar/eliminar estas "condiciones" (en el último manipulador).
– Se prepara el "Excluyendo" por Shft-Ctrl-A
lo que únicamente se establece "none_but_ab"
en verdadero (1).
– El siguiente en la línea es un manipulador de parada (primero la seguridad); se establece "none_but_ab"
en "0" después de mantener presionada "x" 2 seg.
– Ambas partes siguientes muestran nuestras letras "a" y "b", excluyéndolas de la siguiente aniquilación .
– El último manipulador fatal toma "any: key_code" y lo convierte 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 "comando" ("cambio") al último "de", podría evitar los accesos directos de app-Cmd (letras mayúsculas).
Mosquetón 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 podría aplicar "Shift" a "cualquier": "key_code", forzando letras mayúsculas, o si los números se pueden "seleccionar" de alguna manera. Bien, 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 esto:
note the twisted "any: key_code" part that calls every key, including "modifiers…any"
Interestingly 'from-to' units within
{manipuladores: …} 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.
Starting value for any variable is "0"
… ¡los valores "vivirán" mientras Karabiner esté funcionando!
… 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.
)
clemsam lang
T_T
to
should be array: {"conditions":[{"name":"none_but_ab","type":"variable_if","value":1} ,{"bundle_identifiers":["^com.apple.TextEdit"],"type":"frontmost_application_if"}],"from":{"any":"key_code","modifiers":{"opcional":[ "any"]}},"to":{"key_code":"vk_none"},"type":"basic"} '. ¿Me estoy perdiendo de algo?clemsam lang
T_T
Nullify_keys.json
aquí si está interesado .clemsam lang