Estou criando um aplicativo incorporado que hospeda um mouse USB. Estou tentando torná-lo genérico para qualquer mouse / trackball / HID USB HID. Eu descobri que os ratos relatam de maneira diferente ... enquanto todos eles relatam + -127 coordenadas X / Y relativas, a 'sensação' do aplicativo muda drasticamente entre diferentes modelos, em que alguns se movem muito lentamente e outros se movem muito rapidamente. Suponho que isso esteja relacionado ao tamanho físico do espaço lógico que o mouse relata.
Embora os descritores da HID tenham campos específicos para isso, os ratos nunca os usam ... pelo menos para o modo de inicialização que estou usando (sem drivers aqui!) (Editar: os ratos não iniciam no modo de inicialização, meu erro) . Neste ponto, estou reduzido a criar tabelas codificadas em VID / PID; isso significa que terei que testar cada mouse e criar ajustes para ele, algo de que já estou cansado (e o cliente também está cansado!).
Você pode pegar esses mouses e conectá-los ao Windows e obter movimentos decentemente equivalentes deles. Estou procurando drivers especiais e o driver normal que vejo é o 2006 HID genérico da MS.
Minha principal pergunta: como isso é tratado nos sistemas operacionais típicos? Estou perdendo alguma coisa, como talvez os ratos que se movem mais rapidamente tenham um intervalo de relatório mais curto (não li o descritor do ponto final)? Ou alguém precisou fazer uma tabela de DPI para todas as combinações de VID / PID? Se eles colocassem apenas físico vs. lógico no descritor de relatório, isso funcionaria como deveria! Por favor ajude...