Tengo un sistema en el que tengo varios teclados y realmente necesito saber de qué teclado proviene el golpe de tecla. Para explicar la puesta en marcha:Teclados múltiples y ganchos de bajo nivel
- tengo un teclado de PC normal y USB
- tengo una pantalla VGA externo con algunas teclas duras
- Las claves duro se asignan como un teclado USB estándar, el envío de una número limitado de códigos de teclado (F1, F2, Retorno + y -)
tengo un gancho de bajo nivel (en C#, pero en realidad pidiendo a Win32 funcionalidad) que es capaz de hacer frente a la entrada, incluso cuando mi aplicación no está enfocada
El problema es que cuando se utiliza el teclado normal, algunos de los códigos de teclas asignados son captados por la aplicación que se está ejecutando en la pantalla externa. Una de las pulsaciones de teclas enviadas por la pantalla externa y utilizada para la confirmación es VK_RETURN. A menos que pueda identificar el "dispositivo" y filtrarlo, el usuario podría realizar acciones y confirmarlas en una pantalla que ni siquiera está mirando.
¿Cómo sé qué teclado fue el responsable de la pulsación de teclas?
he respondido a esta pregunta aquí: [Cómo detectar si el dispositivo de entrada del ratón y touchpad están habilitados] (http://stackoverflow.com/a/8804862/1000282). La respuesta usa una biblioteca c y controladores que he creado. –
No es estrictamente una respuesta a mi pregunta. La respuesta marcada como correcta ha funcionado bien durante varios años. –
@ ray-haves ¿Puede confirmar si puede evitar la entrada de _making_ para otras aplicaciones incluso después de haberla filtrado? Es decir, una vez que una pulsación de tecla se filtra a través de la entrada sin procesar, ¿puede evitar que el resto del sistema operativo la procese? –