ports/132100: Xorg server forgets pointer map after xlock

Harald Hanche-Olsen hanche at math.ntnu.no
Wed Feb 25 13:40:02 UTC 2009


>Number:         132100
>Category:       ports
>Synopsis:       Xorg server forgets pointer map after xlock
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 25 13:40:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Harald Hanche-Olsen
>Release:        7.1-STABLE
>Organization:
>Environment:
FreeBSD fiinbeck.math.ntnu.no 7.1-STABLE FreeBSD 7.1-STABLE #4: Mon Jan 12 20:59:50 CET 2009     root at fiinbeck.math.ntnu.no:/usr/obj/usr/src/sys/FIINBECK  amd64

>Description:
After unlocking xlock, the pointer setting (the result of xmodmap -e 'pointer = ...') is lost. More precisely, xmodmap -pp reports the settings that were created before, but the server behaves as if the identity map was in force, i.e., as if one had run xmodmap -e 'pointer = 1 2 3 4 5 6 ...'.

This does not always happen if I run xlock for a short while, but if it runs overnight, it always does for me.

I run moused and hald. Some relevant port versions: xorg-server-1.5.3_5,1 hal-0.5.11_17 xf86-input-mouse-1.4.0_3. I should add that I have two pointer devices: One regular three button mouse where the middle button is also a scroll wheel, and a four button trackball.

When I run xlock, the following appears in Xorg.0.log:

(II) config/hal: removing device USB Trackball
(II) UnloadModule: "mouse"

And when I unlock xlock, the following appears:

(II) config/hal: Adding input device USB Trackball
(**) USB Trackball: Device: "/dev/sysmouse"
(==) USB Trackball: Protocol: "Auto"
(**) USB Trackball: always reports core events
(**) Option "Device" "/dev/sysmouse"
(==) USB Trackball: Emulate3Buttons, Emulate3Timeout: 50
(**) USB Trackball: ZAxisMapping: buttons 4 and 5
(**) USB Trackball: Buttons: 9
(**) USB Trackball: Sensitivity: 1
(II) XINPUT: Adding extended input device "USB Trackball" (type: MOUSE)
(II) USB Trackball: SetupAuto: hw.iftype is 4, hw.model is 0
(II) USB Trackball: SetupAuto: protocol is SysMouse

Also, messages in dmesg indicate that the entire USB world is being rescanned by the kernel, just as during boot.
>How-To-Repeat:
Create a file with a non-identity mapping of mouse buttons. I use

pointer = 1 9 3 4 5 8 7 6 2 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

but other maps should work, so long as they are not simply 1 2 3 4 ...

Feed the file to xmodmap. Verify that the pointer map works, both by running xmodmap -pp and by trying the mouse buttons (xev is good for this).

Run xlock, and keep it running for a while.

Unlock xlock. Run xmodmap -pp: It shows the same output as previously. Try the mouse buttons: They act as if the pointer map was 1 2 3 4 ...
>Fix:
A workaround is to rerun xmodmap after unlocking xlock.

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list