This is really annoying because it makes Ubuntu unusable when using some
of the DPI selections of my new mouse. The mouse speed setting won't
come up with my old mouse, too.

I've added some debug printf() to gnome-control-center "gsd-input-helper.c" in 
device_type_is_present:
                printf("Result %d: name %s type %d\n", i, device_info[i].name, 
device_info[i].type);
                printf("Result %d: type %s\n", i, 
XGetAtomName(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 
device_info[i].type));

(second line is a memory leak)

And in device_info_is_mouse, where "atom" is the result of the XInternAtom call 
in that function:
        printf("Mouse atom: %s -> %d\n", XGetAtomName(GDK_DISPLAY_XDISPLAY 
(gdk_display_get_default ()), atom), atom);


This is the output when opening the mouse panel:
Result 0: name Virtual core pointer type 0
Result 0: type (null)
Mouse atom: MOUSE -> 89
Result 1: name Virtual core keyboard type 0
Result 1: type (null)
Mouse atom: MOUSE -> 89
Result 2: name Virtual core XTEST pointer type 0
Result 2: type (null)
Mouse atom: MOUSE -> 89
Result 3: name Virtual core XTEST keyboard type 0
Result 3: type (null)
Mouse atom: MOUSE -> 89
Result 4: name Power Button type 88
Result 4: type KEYBOARD
Mouse atom: MOUSE -> 89
Result 5: name Power Button type 88
Result 5: type KEYBOARD
Mouse atom: MOUSE -> 89
Result 6: name AT Translated Set 2 keyboard type 88
Result 6: type KEYBOARD
Mouse atom: MOUSE -> 89
Result 7: name Holtek USB Gaming Mouse type 88
Result 7: type KEYBOARD
Mouse atom: MOUSE -> 89
Result 8: name Holtek USB Gaming Mouse type 88
Result 8: type KEYBOARD
Mouse atom: MOUSE -> 89
Result 9: name USB Multi-Smart Mouse type 88
Result 9: type KEYBOARD
Mouse atom: MOUSE -> 89

Clearly, all of the mouse entries (old mouse is the Multi-Smart one, new
mouse is the Holtek one) use the KEYBOARD type aka atom 88, while no
device uses the MOUSE atom number 89. So gnome-control-center assumes
there are no mice because mouse_is_present() returns false.

At the same time, xinput --list shows this (so one of the KEYBOARD entries for 
my Holtek mouse was correct, while the second entry should be MOUSE and the 
Multi-Smart mouse should have a MOUSE entry only):
$ xinput --list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Holtek USB Gaming Mouse                   id=9    [slave  pointer  (2)]
⎜   ↳ USB Multi-Smart Mouse                     id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ Holtek USB Gaming Mouse                   id=8    [slave  keyboard (3)]


So XListInputDevices appears to return the wrong device type? I'm afraid of X 
server internals, so I guess this is a dead end for me.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1132063

Title:
  Mouse settings missing from Mouse & Touchpad dialog

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1132063/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to