Pontos por polegada do mouse ... como saber?


11

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...


Você implementou a "aceleração" do mouse?
Pjc50

2
Os ratos têm suas resoluções inerentes, mas o sistema operacional host também pode pesquisar a taxas diferentes. Por esse motivo, os sistemas operacionais geralmente permitem ajustar a velocidade e a aceleração do mouse. Tenho certeza de que não há um padrão sobre o que um mouse deve relatar em termos de conversão de unidades ... e eu estaria disposto a apostar que você está preso ao fazer esses mapeamentos de tabelas personalizados se quiser normalizar a resposta do mouse.
Toby Lawrence

1
@TobyLawrence - A resolução do mouse e as taxas de votação não são as mesmas! Se você pesquisar um mouse com mais frequência, ele reportará valores menores de posição delta por pesquisa. No entanto, o DPI subjacente não será alterado . Para simular um DPI mais baixo, você teria que dividir os valores da posição delta pela proporção de DPI do hardware para o DPI desejado.
Connor Lobo

1
@TobyLawrence - A taxa de pesquisa não deve influenciar o movimento do mouse. Apenas afeta a capacidade de resposta. Esse é o ponto que eu estava tentando entender.
Connor Lobo

1
ΔXΔY

Respostas:


1

Experimente a palavra MICKEY http://www.webopedia.com/TERM/M/mickey.html

Observe que alguns sistemas operacionais (acredito que o Windows e o Mac também fazem isso) mudam automaticamente diferentes "pontos por polegada", dependendo da velocidade do movimento humano-usuário. se o usuário mover o mouse rapidamente, ele aumentará "ponto por polegada". Quando o usuário move o mouse lentamente, como fazer uma pintura fina no photoshop, ele diminui para que o usuário possa controlar / mover um ou alguns pixels.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.