Utilicé la aplicación Karabiner 10.22 original y pude restringir con mucha precisión cualquier acción a través del Inspector de accesibilidad de Apple para trabajar en ventanas de diálogo específicas.
Esto ya no es posible con Karabiner Elements.
Entonces, para (en Safari) hacer clic en el elemento "Información del elemento" del menú contextual (que uso con mucha frecuencia), probé este código en "Modificaciones complejas":
"to": [ { "pointing_button": "button2" },
{ "key_code": "e" },
{ "key_code": "return_or_enter"} ]
Lo cual funcionó , pero alternativamente solo abrió / mostró el menú contextual o ejecutó "Información del elemento".
Al experimentar, encontré una solución que en su mayoría funciona para mí:
"parameters": { "basic.to_if_held_down_threshold_milliseconds": 50 },
"to": [ { "pointing_button": "button2" } ],
"to_if_held_down":
[ { "key_code": "e" },
{ "key_code": "return_or_enter"} ]
Mis preguntas:
¿Por qué no se ejecutan todos los "comandos" en el primer ejemplo de código en el debido orden (o: solo alternativamente) y (más interesante:) cómo puede asegurarse de que cada "comando" se ejecute cada vez?
Creo que su solución demuestra perfectamente el motivo: está seleccionando "Información del elemento" a través de la GUI, y el menú contextual puede tardar unos milisegundos en aparecer. Esto no es un problema con Karabiner específicamente: si los códigos clave Ey returnse envían instantáneamente después de hacer clic con el botón derecho, es posible que el menú contextual aún no esté enfocado y no se dirigirán de manera adecuada.
En resumen, si está creando una macro GUI, es posible que deba esperar a que la GUI responda.
Tal y como yo lo veo, hay tres posibles soluciones:
matt sephton