¿Se pueden reasignar las teclas de un teclado específico?

Tengo dos teclados conectados a mi computadora. Un teclado normal de tamaño completo y un teclado numérico. Quiero "reasignar" las teclas en el teclado numérico, pero dejar el teclado completo solo. Entonces, cuando el usuario presiona "5" en el teclado, se vuelve a asignar a la tecla "Media Play", pero si se presionara el mismo "5" en el teclado del teclado completo, obtendría un "5". En esencia, quiero convertir ese teclado numérico separado en un dispositivo de control de medios.

Lamentablemente no estoy seguro de cómo hacer que esto funcione. Hay una función de "Entrada sin procesar" de Windows que permite distinguir los teclados, pero que solo permite leer las teclas, no remapearlas. Hay ganchos para teclado (nivel bajo y nivel alto) que pueden reasignar las pulsaciones de teclado, pero no distinguen entre los teclados.

¿Puedo hacer que una combinación de los dos métodos funcione? Para eso, tengo que asegurarme de que el mensaje de entrada sin procesar se procesa antes de que se active el gancho del teclado. ¿Es así?

Además, he leído que, por algún motivo, Windows no permite usar enganches de entrada y teclado sin procesar en el mismo proceso. Podría solucionarlo haciendo 2 procesos diferentes, pero eso se vuelve más frágil debido a la latencia de la comunicación (los ganchos del teclado tienen un tiempo muy limitado en el que deben completar su trabajo).

¿Es esto posible en absoluto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta