¿Hay alguna forma de reasignar programáticamente las claves en un Macbook con OSX Mavericks?

4

Quiero volver a asignar las teclas de mi teclado. Quiero hacerlo programáticamente, porque usaré algo de lógica para decidir qué introducir. Por ejemplo, cuando un usuario presiona "A" seguido de "S", emitiré "λ". En otras palabras, cada vez que escribo una tecla en mi teclado, quiero interceptarla, aplicarle cierta lógica y devolverla antes de que vaya a la aplicación enfocada.

¿Cómo?

    
pregunta MaiaVictor 11.07.2014 - 15:24

4 respuestas

2

¿Has mirado en el teclado maestro? Lo uso todo el tiempo, creo que puedes lograrlo con lo que quieras usando Keyboard Maestro.

Por ejemplo: puede hacer que verifique una cadena "buena" escrita y regresar por la mañana o por la tarde según la hora del día.

Con Keyboard Maestro puede ejecutar scripts de AppleScript o Shell. El teclado maestro es bastante poderoso. Sus macros pueden ser globales o específicas para una aplicación.

    
respondido por el Scott Walter 11.07.2014 - 21:44
2

La mayoría de las herramientas de macro de texto disponibles en Mac podrán activar scripts (Applescript, shell scripts, etc.), así como realizar expansiones estándar basadas en la entrada y el contexto.

Me gusta comenzar mis expansiones con el punto y coma, ya que sé que rara vez dispararé accidentalmente una expansión en mi tipeo normal, y es una tecla fácil de pulsar.

Por ejemplo:

  • Cuando escribo "; check", se expande automáticamente a "✓"
  • ; yen → ¥
  • ; dt → 2014-07-11 (fecha actual)
  • ; correo electrónico → se expande a mi dirección de correo electrónico
  • etc.

Estas expansiones también pueden llamar scripts en lugar de sustituciones básicas para realizar funciones más avanzadas si lo desea. Algunas opciones populares de software para esto son aText , Typinator y TextExpander entre muchos otros.

    
respondido por el Dave K 12.07.2014 - 02:58
1

Las respuestas que otros han dado son probablemente la forma en que quieres hacerlo, pero si realmente quisiste interceptar e inyectar pulsaciones de teclas, comprueba cómo lo hace Karabiner (anteriormente KeyRemap4MacBook).

Aquí está el bit interesante: enlace

Sería bastante complicado adaptar su código y hacer lo que quieras, pero ciertamente es posible.

    
respondido por el Kevin Chen 12.07.2014 - 03:09
1

Otra opción es crear ~/Library/KeyBindings/ , guardar

{
  "a" = {
    "s" = (insertText:, "λ");
  };
}

como ~/Library/KeyBindings/DefaultKeyBinding.dict , y cierre y vuelva a abrir las aplicaciones para aplicar los cambios.

Eso le impide insertar a , pero puede reemplazar a con otra combinación de teclas como ~a (opción-a) o \Uf704 (F1).

    
respondido por el user495470 12.07.2014 - 09:52

Lea otras preguntas en las etiquetas