Input id=2 size=8 count=1 page=Generic_Desktop usage=Wheel Variable
Input id=2 size=8 count=1 page=Consumer usage=AC_Pan Variable Relative,
What can be done about it ??
I don't know - bthidd(4) could grow the support for AC_Pan fairly easily
but I don't know how you would get that into the kernel - the mouse_info
structure has no W direction and the ioctl would need to be versioned if
the structure was extended as there was no padding..
exactly Iain. parsing hid messages in bthidd(8) and extracting all the
data is trivial. the question is how to feed those data into the
kernel. right now, bthidd(8) uses console ioctl to feed data into the
kernel. as you pointed out, mouse_info structure (specifically
mouse_data union) does not have have w direction.
btw just to make you feel better I should say that sideways scroll does
not always work in applications; eg GThumb considers the extra buttons
to be 'next' and 'prev' instead and sideways scroll just jumps to the next
i have a wired usb apple mighty mouse here and horizontal scrolling
does not work for me at all. quick look at ums(4) showed that it does
not export w data (it tries to locate both wheel and z axis, however
it does not look for ac_pan axis).
so, it appears that we need to teach moused(8), sysmouse(4) and mice
drivers about second wheel. it appears to be a somewhat bigger chunk