Você pode remapear chaves de um teclado específico?

Eu tenho dois teclados ligados ao meu computador. Um teclado normal de tamanho normal e um teclado numérico. Eu quero "remapear" as teclas no teclado numérico, mas deixe o teclado completo sozinho. Assim, quando o usuário pressiona "5" no teclado, ele é remapeado para a tecla "Media Play", mas se o mesmo "5" for pressionado no teclado do teclado inteiro, eu recebo um "5". Em essência, quero transformar esse teclado numérico separado em um dispositivo de controle de mídia.

Infelizmente não sei como fazer isso funcionar. Há um recurso "Entrada bruta" do Windows que permite distinguir entre teclados, mas que apenas permite a leitura das chaves - não as remapeia. Há ganchos de teclado (baixo nível e alto nível) que podem remapear os toques de tecla, mas eles não distinguem entre teclados.

Posso fazer uma combinação dos dois métodos funcionar? Para isso, tenho que ter certeza de que a mensagem de entrada bruta é processada antes que o gancho do teclado entre em ação.

Além disso, eu li que o Windows, por algum motivo, não permite usar Ganchos de Entrada e Teclado Brutos no mesmo processo. Eu poderia contornar isso fazendo dois processos diferentes, mas isso se torna mais frágil por causa da latência da comunicação (os ganchos do teclado têm um tempo muito limitado no qual eles precisam concluir seu trabalho).

Isso é factível?

questionAnswers(3)

yourAnswerToTheQuestion