If you map any button to button #7 on the command line of moused, you get the correct events on the console (using the -fd flags for moused). But within X the events of button #7 are simply ignored as you can check with xev. This is with a Microsoft IntelliMouse Optical on XFree86-4.2.0_1,1 but I saw the same behaviour along the whole XFree86-4.x line. I never checked this for XFree86-3.x The conventional approach i.e. configuring only X (and no additional -m flags for moused) to map the ZAxis and changing buttons 6/7 with 4/5 with xmodmap works however. All 7 buttons are received then by xev. Also not using moused at all, but pointing X directly to the correct device works for all seven buttons. How-To-Repeat: root # moused -fd -p /dev/psm0 -t auto -m 7=3 moused: proto params: f8 80 00 00 8 00 ff moused: port: /dev/psm0 interface: ps/2 type: sysmouse model: IntelliMouse Explorer [snip] Pressing mouse button #3 here, which is now mapped to #7 moused: received char 0x87 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 87,0,0,0,0,0,0,7f moused: tv: 1032678418 792660 moused: flags:00000004 buttons:00000000 obuttons:00000004 moused: activity : buttons 0x00000000 dx 0 dy 0 dz 0 moused: mstate[6]->count:1 moused: button 7 count 0 But xev sees only buttons up to #6. #7 is silently ignored. Relevant lines of /etc/X11/XF86Config: Section "InputDevice" Identifier "MS IntelliMouse Optical" Driver "mouse" Option "Protocol" "Auto" Option "Device" "/dev/sysmouse" Option "Buttons" "7" EndSection
Responsible Changed From-To: freebsd-ports->anholt over to maintainer
The following patch fixed it for me, and I'll be submitting it to XFree86. However, due to ports freeze it will have to wait until post-5.0. -- Eric Anholt eta@lclark.edu http://people.freebsd.org/~anholt/dri/ anholt@FreeBSD.org
State Changed From-To: open->closed Fix has been committed.