Estoy trabajando ya hace dias con este ejemplo intentando ver como funciona. Me refiero al ejemplo Ex_USB_KBMOUSE2 que viene en los ejemplos del compilador de ccs para pics. Esto ejemplo simula el uso de un raton y un teclado.
Mi duda esta en el envio de pa posicion del raton para el movimiento del puntero.
La informacion se envia usando un vector de 5 posiciones. El vector en el ejemplo se llama Out_data y contiene la siguiente informacion.
Out_data[0] -> Hid report del id.
Out_data[1] -> Estado de los botones del raton.
Out_data[2] -> movimiento eje x.
Out_data[3] -> Movimiento eje y.
Out_data[4] -> Movimiento de la rueda del raton.
Segun lo que fui inventigando (siempre puedo estar equivocado) se usa una variable de 8 bits con signo, con lo que tenemos valores desde +127 a -128. Con eso hacemos que se mueva en un sentido u otro tanto el eje x como el eje y.
Mi duda esta en que no entiendo que formula se le aplica a ese numero para que salga el movimiento de pixeles que se desplaza. Al principio crei que eran pixeles puros, pero no. Por que si le mandar moverse 1 pixel, casi siempre lo hace, pero cada 4 o 5 saltos hay uno que no lo hace.Si le pones que salte 10 pixeles,a veces salta 10 a veces 11, pero si le decimos que salte 20, ya pasa a saltar 33 pixeles. Lo probe en dos ordenadores de diferente resoluciion y no me dio la sensacion que dependiera de la resolucion que tenia el pc.
Tampoco vi ningun comando que enviandolo desde el pic, pudieramos cambiar la resoluccion en el sistema operativo.
En definitiva, alguien podria dar algo de luz sobre estas cuestiones?
Un saludo a todos.