Bug 43232

Summary: X doesn't receive button #7 from moused's /dev/sysmouse
Product: Ports & Packages Reporter: siegbert.baude <siegbert.baude>
Component: Individual Port(s)Assignee: Eric Anholt <anholt>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
xmousediff none

Description siegbert.baude 2002-09-22 08:20:02 UTC
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
Comment 1 Ying-Chieh Liao freebsd_committer freebsd_triage 2002-09-22 19:07:18 UTC
Responsible Changed
From-To: freebsd-ports->anholt

over to maintainer
Comment 2 Eric Anholt 2003-01-10 03:41:01 UTC
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
Comment 3 Eric Anholt freebsd_committer freebsd_triage 2003-01-24 04:19:13 UTC
State Changed
From-To: open->closed

Fix has been committed.