6 votos

¿Existe algún programa que permita crear atajos de teclado formados por teclas normales?

Estoy buscando un método que me permita convertir combinaciones de teclas personalizadas y no estándar en una tecla intermedia no utilizada actualmente (como F16 o algo así). La tecla intermedia sería entonces capaz de ser reconocida en otras aplicaciones (como FastScripts), para que yo pueda finalmente asignar este atajo de teclado intermedio a cualquier acción dentro de esa aplicación que yo desee.

Por "combinaciones de teclas no estándar" me refiero a combinaciones que no incorporan ninguna tecla modificadora (es decir, command , option , control , fn o shift ).

Ejemplos de combinaciones de teclas no estándar, pulsadas simultáneamente:

  • 1 + 0

  • A + D

  • space bar + V

  • W + 5

  • tab + Q

He instalado Mosquetón pero no veo la forma de conseguirlo en Karabiner.

¿Existe algún programa que pueda hacer lo que busco?

OS X El Capitan, versión 10.11.6.

0 votos

Tal vez las secuencias de teclas de BTT podrían funcionar. docs.bettertouchtool.net/docs/key_sequences.html .

0 votos

@hyph Interesante. No conozco BetterTouchTool. ¿Sabe usted si sólo funcionará si las pulsaciones de teclas se producen en una secuencia, o también funcionará si las pulsaciones de teclas se producen simultáneamente?

0 votos

Creo que en realidad no leí correctamente sus requisitos. Sólo puedes activar estas secuencias con un atajo normal (con un modificador). No al revés.

5voto

klanomath Puntos 19587

Esto puede hacerse en Karabiner, pero es contraintuitivo y da la vuelta al uso común del teclado (comprueba las primeras frases de la respuesta de Monomeeth).

En los preajustes de Karabiner ya se proporciona un ejemplo para [M+N] a F13:

enter image description here

Para asignar 1+0 a F16 sería necesario añadir el siguiente fragmento a private.xml:

<item>
  <name>Simultaneous Key Presses [0+1] to F16</name>
  <identifier>remap.simultaneouskeypresses_012f16</identifier>
  <autogen>__SimultaneousKeyPresses__ KeyCode::KEY_0, KeyCode::KEY_1, KeyCode::F16</autogen>
</item>

Definiendo una tecla vk_lazy adicional (es decir, 0) también debería ser posible pulsar primero 0 y luego 1 y, dependiendo de la primera tecla pulsada, enviar un F16 o escribir 01 que es un comportamiento más cómodo escribiendo "atajos" en un teclado.

0 votos

¿Pueden configurarse los accesos directos de Karabiner por aplicación?

1 votos

@hyph Claro, algunas aplicaciones están predefinidas en appdef.xml pero puedes añadir otras. Para restringir el "atajo" anterior sólo a Excel, habría que añadir <only>EXCEL</only> en el fragmento (¡Excel está predefinido!).

0 votos

Me has enseñado algo nuevo sobre Karabiner. Había visto el método abreviado [M+N] antes de escribir mi mensaje, pero había supuesto erróneamente que esta combinación fija era el único método abreviado de teclas normales que Karabiner era capaz de crear. He probado los 5 métodos abreviados de ejemplo de mi mensaje original utilizando su método, y Karabiner funciona a la perfección. Gracias. Además, creo que ahora estoy de acuerdo con tu última frase (cuanto más lo pienso). (Notas para mí: Inserte el primer elemento personalizado en la línea de abajo </root> . Al editar el archivo XML, tenga en cuenta que distingue entre mayúsculas y minúsculas).

2voto

Monomeeth Puntos 139

No creo que lo que quieres hacer sea posible si Karabiner no puede hacerlo.

La razón por la que tenemos teclas modificadoras (es decir control , option , shift y command ) es que necesitan modificar las teclas alfanuméricas estándar para que sean reconocidas como algo más que su valor alfanumérico. Permítanme explicar esto con más detalle:

  • Cuando se pulsa una tecla alfanumérica, su entrada se envía a la aplicación más activa. Así, si tiene MS Word abierto y, utilizando su primer atajo de teclado de ejemplo: 1 + 0 al pulsar estas teclas, MS Word las reconocerá como un "1" y un "0" respectivamente, a menos que se modifique su valor (por ejemplo, mediante una tecla modificadora).
  • Pero, lo que quieres hacer efectivamente, usando tu primer atajo de teclado de ejemplo: 1 + 0 de nuevo como ejemplo, es utilizar el 1 como tecla modificadora y/o el hecho de que tanto la tecla 1 y 0 llaves, si se pulsa simultáneamente representan algo diferente a un "1" y un "0".
  • Ahora puedes ver por qué esto puede causar problemas: Si el 1 actúa como tecla modificadora, ¿cómo se consigue que la aplicación activa reconozca un "1" cuando es necesario? O, si quieres que esto funcione sólo cuando la tecla 1 + 0 se pulsan simultáneamente, ¿qué ocurre si una de las teclas se pulsa un poco antes que la otra? Eso no es simultáneo y, por lo tanto, la entrada se estropeará (por así decirlo).
  • Así que, para que esto funcione, Karabiner (o alguna otra utilidad) tendrá que ser lo suficientemente inteligente como para gestionar este enigma. Como menciona Thomas Tempelmann en su comentario más abajo, una forma de hacerlo sería añadir un retardo tras la pulsación de una tecla para que la aplicación frontmost no reconozca la tecla todavía. Pero, por supuesto, cualquier retraso de este tipo tendrá que ser muy corto (créeme, incluso una fracción de segundo de retraso en algo puede hacer que los usuarios sientan que un sistema no está respondiendo).

Es posible que desee hacer referencia a la: Directrices de interfaz humana de MacOS - Atajos de teclado para conocer mejor las directrices de Apple para los desarrolladores al respecto.

Por otro lado, cuando los desarrolladores crean juegos y una clave se utiliza para un fin específico (por ejemplo, el Z mueve al personaje hacia la izquierda) el juego sigue reconociendo la tecla Z como una 'Z' pero acaba de ser programado para aceptar el valor 'Z' como que el carácter se mueve a la izquierda.

Cualquier software que parezca cambiar la acción de pulsar una tecla (por ejemplo, juegos que permiten personalizar los controles o utilidades como USB Overdrive, ControllerMate, etc.) sigue aceptando el valor predeterminado de las teclas en lugar de tener que modificarlas, y así es como consiguen su función.

Por ejemplo, un usuario puede utilizar USB Overdrive para asignar una tecla (digamos la tecla T ) a una función concreta con o sin el uso de teclas modificadoras, pero cuando se utilizan sin una tecla modificadora se siguen reconociendo como si tuvieran su entrada original. Así que tampoco creo que te vayan a ser útiles, y por supuesto, no están diseñadas para crear atajos de teclado per se. No obstante, podrías probarlos de todos modos (son gratuitos) por si acaso truco cualquiera de ellos para hacer lo que quieras:

Notas:

  1. He utilizado tanto USB Overdrive como ControllerMate, pero no tengo ningún tipo de asociación con ellos.
  2. Por si sirve de algo, ControllerMate ofrece funciones más avanzadas (pero es más difícil de dominar).
  3. Es posible que desee póngase en contacto con el servicio de asistencia de Karabiner o envíe un correo electrónico al desarrollador ya que sigo pensando que es su mejor opción y mayo poder hacer lo que quieras.

0 votos

Como desarrollador, su explicación me parece confusa. ¿No sería mucho más claro decir que el uso de teclas como "0" y "1" como modificadores crea un problema, porque por lo general, cuando se pulsa una tecla de este tipo, se envía inmediatamente a la aplicación frontal como una tecla escrita. Ahora, si quieres que 0+1 genere una tecla diferente, entonces la pregunta es qué pasará si pulsas 0 un poco antes que 1. ¿Cómo sabrá que 1 le seguirá pronto, y por tanto NO le dirá a la aplicación frontal que se ha pulsado 0? ¿Quieres tener todas las teclas retrasadas todo el tiempo para que esto funcione? Si puedes manejar eso, podría funcionar.

0 votos

@ThomasTempelmann Tienes toda la razón, mi explicación no fue muy clara. Gracias por avisarme :) Normalmente actualizaría mi respuesta, pero ya que parece que Klanomath ha proporcionado una explicación sobre cómo el OP puede hacer lo que quiere usando Karabiner, voy a borrar esta respuesta en breve, ya que no creo que realmente añade ningún valor. A menos que usted piense lo contrario.

0 votos

@klanomath me ha informado de cómo conseguir lo que quiero en Karabiner. Karabiner funciona a la perfección con todas las combinaciones variopintas que le he lanzado, lo cual es estupendo. Por cierto, la razón por la que quería esta habilidad es mi inclinación por los atajos de teclado cómodos que se usan con una sola mano; puedo ejecutarlos más rápido y con menos deliberación. Abrir todas las teclas normales amplía drásticamente el número de atajos de teclado adyacentes o casi adyacentes que puedo asignar. Entiendo lo que dices sobre el concepto de teclas modificadoras: los atajos con una tecla modificadora son, sin duda, preferibles.

-2voto

Ed Bondurant Puntos 7

IKey debería hacer lo que tú quieres.

0 votos

¡Bienvenido a Ask Different! Intentamos encontrar las mejores respuestas y esas respuestas proporcionarán información sobre por qué son las mejores. Explica por qué crees que la respuesta que has dado resolverá el problema o es mejor que otras. Proporcionar enlaces como información de apoyo también puede ayudar a la OP, y otros, encontrar información adicional por sí mismos. Véase Cómo responder sobre cómo dar una respuesta de calidad.

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