Bug 43232 - X doesn't receive button #7 from moused's /dev/sysmouse
Summary: X doesn't receive button #7 from moused's /dev/sysmouse
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Eric Anholt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-09-22 08:20 UTC by siegbert.baude
Modified: 2003-01-24 04:26 UTC (History)
0 users

See Also:


Attachments
xmousediff (1.12 KB, text/x-patch)
2003-01-10 03:41 UTC, Eric Anholt
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.