¿Crear "claves falsas" que la computadora interpreta como reales?


20

Explicación

Muy bien, entonces esta es una fotografía del diseño general de un teclado.

Lo que me pregunto es: ¿es posible emular teclas adicionales en un teclado que no sean las teclas estándar? Por ejemplo, podría engañar a mi computadora para que piense que mi teclado también tiene 3 teclas adicionales etiquetadas como FK1, FK2 y FK3.

Estas tres teclas adicionales no serían teclas de letras, como Inicio, Insertar, Re Pág, etc.
Básicamente no harían nada, a menos que se les asigne hacer algo. Por ejemplo, si configuro una tecla de acceso rápido en un programa para usar FK1 , la registraría.

¿Por qué?

Me alegra que lo hayas preguntado. Juego mucho un juego llamado ArmA 3 , y aquellos de ustedes que están familiarizados con el juego saben que utiliza casi todas las teclas del teclado.
Para comunicarme con mis compañeros en este juego, uso TeamSpeak. Tengo una placa de sonido para TeamSpeak, y quiero poder activar diferentes sonidos usando teclas de acceso rápido en lugar de presionar alt y hacer clic, pero prácticamente no quedan teclas libres en ArmA con todas las modificaciones que uso.

Incluso si pudieras crear estas "teclas falsas", ¿cómo las usarías en el juego si no están en un teclado real?

Excelente pregunta .
Mi teclado es un Logitech G910 Orion Spark, que tiene 27 macros. Supongo que puedo configurar cada una de estas macros para llamar a los botones falsos del teclado durante el uso.

Probablemente sea extremadamente confuso de leer, pero hice lo mejor que pude.

Windows 10 Pro (x64)


1
Este es un acertijo interesante ...
wogsland

podría sugerirle que compre un teclado con teclas personalizadas, puede obtenerlos. ejemplo; amazon.co.uk/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Robert Pounder

1
Las imágenes que incluyó NO son de un teclado estándar de EE. UU. No puedo creer que hayas tenido la parte más básica de este EQUIVOCADO. El teclado estándar es el teclado compatible con IBM-PC, básicamente un teclado de escritorio de tamaño completo con dos teclas WINDOWS. Has representado un teclado patentado de Apple aquí. Ese NO es el teclado estándar. Deberías arreglar esto; su pregunta no tiene ningún sentido en este momento, ya que preguntó acerca de los teclados estándar y luego incluyó diagramas de teclados no estándar. Será mejor que elimines esas imágenes si realmente preguntas sobre teclados estándar
InterLinked

Respuestas:


15

Cuando presiona una tecla en su teclado, el hardware genera un 'código de escaneo', que el software interpreta como una cierta presión de tecla.

Reasignación clave

KeyTweak le permite reasignar la pulsación de tecla que Windows interpreta de cada código de escaneo agregando las entradas de Registro apropiadas.

Desafortunadamente, no le permite agregar claves falsas adicionales. Lo más cerca que está es permitir la reasignación de las teclas de control de medios / web que tienen algunos teclados. Tampoco le permite asignar códigos de tecla que su teclado normalmente no usa. Entonces, si tiene un teclado estadounidense, no le permitirá asignar Ó o £. Por lo tanto, todavía estaría limitado a usar las letras clave normales, que dice que ha agotado.

Fingiéndolo

AutoHotkey permite que los scripts generen códigos de escaneo y símbolos inusuales.

Este script genera £ cada vez que se presiona Win + p (saqué el símbolo de Internet y lo pegué en el editor de texto que estaba usando para crear el script):

#p::
send, £

Dependiendo de su juego, es posible que pueda usar un script como este para obtener £ como clave en su juego. Pero, si el juego está esperando que se generen códigos de escaneo reales del teclado, esto no funcionará. Depende de cómo interactúa el juego con el hardware.

Afortunadamente, AutoHotkey también puede generar códigos de escaneo del teclado. Este script generará un espacio cuando se presione Win + p, porque el código de escaneo 39 (hexadecimal) es espacio (vea la Lista de códigos de escaneo ).

#p::
send, {sc39}

AutoHotkey también tiene otro método para generar claves virtuales. No he investigado la diferencia, pero este script generará espacio usando una tecla virtual al presionar win + p:

#p::
send, {vk20}

Esta referencia enumera todos los códigos de clave virtual, incluidas muchas claves no estándar que aún no habrá utilizado: https://autohotkey.com/board/topic/98757-how-to-create-a-new-virtual- llaves/

Podría intentar crear un script que envíe una Clave virtual no estándar a su juego. Si el juego lo registra y le permite guardarlo en la página de configuración de su teclado, es probable que lo haga funcionar.

La última pieza del rompecabezas es hacer que las macros de Logitech llamen al script AutoHotkey que genera la clave virtual. Crearía un script de AutoHotkey sin una tecla de acceso rápido, por lo que se dispara inmediatamente cuando se ejecuta, como

send, {vk7B}

o

send, £

Asociar archivos * .ahk con el programa Autohotkey, y luego obtener la macro Logitech para abrir el script guardado.

Nota: no he probado esto en ningún juego. Es probable que tenga diferentes resultados en diferentes juegos, dependiendo de lo que acepten como entradas válidas. En el enlace de Teclas virtuales anterior, las personas están discutiendo hacer casi exactamente lo que desea hacer, y parecen haber tenido cierto éxito con el uso de las teclas F13-F24, por lo que tal vez intente hacerlo primero.

vk7B    sc58    F12
vk7C    sc64    F13
vk7D    sc65    F14
vk7E    sc66    F15
vk7F    sc67    F16
vk80    sc68    F17
vk81    sc69    F18
vk82    sc6A    F19
vk83    sc6B    F20
vk84    sc6C    F21
vk85    sc6D    F22
vk86    sc6E    F23
vk87    sc76    F24

EDITAR: según lo solicitado en los comentarios; un script simple para crear F13 podría verse así:

b::
send, {vk7C}

Cada vez que presione 'b' mientras este script está activo (en su bandeja cerca del reloj), se enviará F13. Este script se mantendrá activo y se ejecutará cada vez que presione 'b' hasta que lo mate. Una vez que el juego registre F13 en la configuración clave, elimine este script y haga uno como este para que Logitech lo llame:

send, {vk7C}

Este no permanecerá activo, se ejecutará una vez y luego finalizará, cada vez que se llame.


Esto se ve exactamente como lo que necesito. Sin embargo, estoy completamente perdido en el programa. Creé un archivo .AHK. La primera línea dice #p :: y la segunda dice enviar, £ Eso debería funcionar, ¿verdad? O me estoy perdiendo algo por completo. Si es posible, ¿podría proporcionar un script de muestra? Algo así como un script que le dice a la computadora cada vez que se presiona WIN-F1 para registrarse como F13, en cambio, sería suficiente para que yo construya. Muchas gracias :)
Josh Silveous

La ayuda de AutoHotKey (AutoHotkey.chm en la carpeta del programa) es bastante buena. La entrada en la función Enviar y la entrada HotKey son buenas lecturas. También actualizaré la respuesta para incluir win-F1 -> F13.
Sir Adelaide

Si KeyTweak no permite nuevas claves, pero le permite moverlas, ¿podría obtener 1 clave virtual adicional tomando el diseño del Reino Unido y moviendo las teclas para que coincida con el diseño de los Estados Unidos?
user1937198

Sin embargo, hay teclas que no aparecen en la mayoría de los teclados, como F24 , como lo usa Tom Scott para su teclado emoji y Taran de Linus Tech Tips para sus macros de editor de video.
TRiG

1

Disculpas por la respuesta tardía. Tenía la necesidad de acceder a las teclas de función más allá de F12, algo que los fabricantes de teclados actuales no parecen tener en cuenta, pero es bastante fácil con AutoHotkey. He usado esto para agregar estas pulsaciones de teclas como macros a mi mouse, que de lo contrario no admite agregar teclas arbitrarias.

z::
send, {F13}
return

x::
send, {F14}
return

c::
send, {F15}
return

v::
send, {F16}
return

b::
send, {F17}
return

n::
send, {F18}
return

m::
send, {F19}
return

l::
send, {F20}
return

k::
send, {F21}
return

j::
send, {F22}
return

h::
send, {F23}
return

g::
send, {F24}
return
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.