Pregunta

Quiero ser capaz de interceptar (y hacer el proceso arbitrario en) de repetición automática pulsaciones de teclas en Windows. Me gustaría saber cómo teclado de repetición automática se lleva a cabo de modo que sepa qué opciones tengo. es decir, puedo interceptar en la:

  • aplicación,
  • controlador de dispositivo y / o
  • nivel de hardware

Actualización: Parece que la repetición automática es generada a nivel de hardware y luego anulado por los controladores de dispositivos ( ver aquí ).

¿Fue útil?

Solución

Para modificar el comportamiento o filtro, que puede interceptar claves mediante un gancho:

SetWindowsHookEx usando WH_KEYBOARD

El procedimiento de enlace recibe, entre otros, el número de repeticiones (debido a manteniendo pulsada la tecla)

Tenga en cuenta que el gancho de teclado de bajo nivel (WH_KEYBOARD_LL) no recibe el número de repeticiones.

Si todas las ventanas se crean en la misma trhead, se puede utilizar un gancho hilo específico, y evitar mover el procedimiento de enlace a un archivo DLL.


Me vagamente recuerdo que los recuentos de repetición son generados por el propio teclado y el gancho LL envía repitió eventos keydown - Puedo estar equivocado, sin embargo. Bajo DOS, la tasa de repetición de las teclas y el tiempo que se estableció en el BIOS o por medio de una llamada BIOS volvieron a los valores por defecto cuando un DIN o teclado PS / 2 fue desconectada y Replugged. No estoy seguro de por qué es necesario saber con exactitud.

Otros consejos

Sugiero que es posible que desee para editar su pregunta ... su pregunta real es "¿Cómo suprimir la repetición automática de Windows en $ {} yourLangauge" ...

A lo que mi respuesta es que no tengo ni idea, sólo he hecho en ensamblador (MASM 80286) ... e incluso entonces he encontrado una solución en un BBS (¿alguien se acuerda de ellos) y simplemente utilizado. De memoria, la intersección se tiene que hacer en el nivel de controlador de dispositivo.

La implementación de repetición automática ($ 100 dice que es el ensamblador) problably no va a arrojar alguna luz sobre suprimiendo lo que ... y Microsoft juega esas tarjetas muy cerca de su pecho.

Saludos. Keith.

EDITAR: Me acaba de ocurrir ... técnicas pueden ahora ser diferentes entre las versiones de las ventanas y la gran cantidad de diferentes dispositivos de regalos ... Oh

Sonidos gustos esto es "Sin programación relacionada", sin embargo. Ir a "Opciones de accesibilidad" en el panel de control. Seleccione "Configuración" en grupo "Filter Keys", aquí, se puede desconectar la repetición de teclas para ese usuario en esa máquina.

Espero que esto es lo que busca.

P.S. instrucciones anteriores dadas para Windows XP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top