4 votos

¿Existe alguna forma de reasignar las teclas de forma programada en un Macbook con OSX Mavericks?

Quiero reasignar las teclas de mi teclado. Quiero hacerlo de forma programada, ya que utilizaré cierta lógica para decidir qué introducir. Por ejemplo, cuando un usuario presiona "A" seguido de "S", voy a dar salida a "". En otras palabras, cada vez que escriba una tecla en mi teclado, quiero interceptarla, aplicarle alguna lógica y devolverla cambiada antes de que vaya a la aplicación enfocada.

¿Cómo?

2voto

Adam Nelson Puntos 2299

¿Has mirado en Keyboard Maestro? Yo lo uso todo el tiempo, creo que puedes lograr lo que quieres usando Keyboard Maestro.

Por ejemplo: Puede hacer que compruebe una cadena de caracteres "buena" y que devuelva la mañana o la tarde en función de la hora del día.

enter image description here

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

2voto

perimosocordiae Puntos 4582

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

Me gusta empezar mis expansiones con el punto y coma, ya que sé que rara vez activaré una expansión accidentalmente en mi escritura 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)
  • ;email → se expande a mi dirección de correo electrónico
  • etc.

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

1voto

pille Puntos 121

Las respuestas que otros han dado son probablemente la forma en que usted quiere hacer esto, pero si usted realmente quería interceptar e inyectar las pulsaciones de las teclas, compruebe cómo lo hace Karabiner (antes KeyRemap4MacBook).

Esta es la parte interesante: https://github.com/tekezo/Karabiner/tree/master/src/core/kext

Sería bastante complicado adaptar su código y hacer lo que quieres, pero sin duda es posible.

1voto

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

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

como ~/Library/KeyBindings/DefaultKeyBinding.dict y salir y volver a abrir las aplicaciones para aplicar los cambios.

Eso evita que se inserte a , pero podría reemplazar a con otra combinación de teclas como ~a (opción-a) o \Uf704 (F1).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X