Pregunta

Puede que hayas leído mi cuestión anterior sobre reasignar mi teclado a un nivel bajo en Java y encontré una solución, principalmente.

Para ser honesto, simplificé demasiado el problema que estaba tratando de resolver. No solo quiero combinar el NumerickEypad 1-3 a 7-9 y viceversa, quiero reasignar todo el teclado numérico. En particular, necesito reasignar la tecla NUMLOCK, que es parte de ese teclado. Esto parece ser interceptado a nivel de sistema y no puedo simplemente mapearlo para emitir algún carácter.

Lo que quiero es que al ejecutar mi aplicación, la tecla NUMLOCK no alterna la configuración de Numlock del sistema, sino que emite alguna otra clave.

¿Estoy más allá del reino de lo que es posible en Java aquí? ¿O hay alguna forma de cavar a este bajo nivel y lograr esto también?

¿Fue útil?

Solución 2

La solución que se me ocurrió no funcionará para todos, pero en realidad es óptima en nuestro caso de uso:

Use el registro de Windows para hacer la reasignación del teclado.

Es permanente, no requiere JNI ni escritura de dispositivo de dispositivo y, en nuestro caso, no nos preocupa por estropear el teclado para otras aplicaciones. Muy simple.

Si necesita hacer esto y puede salirse con la suya, es la solución rentable.

Otros consejos

No estoy seguro de que sea lo que quieres, pero es posible que eches un vistazo a esto juegos Editor de eventos clave, en la foto en este captura de pantalla e implementado en org.gcs.robot.RCKeys.

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