1 |
Mickael Chazaux posted on Wed, 21 Apr 2010 20:36:32 +0200 as excerpted: |
2 |
|
3 |
> Hi, |
4 |
> |
5 |
> Again, I hit in the whizzingly fast mouse problem with Xorg. With my |
6 |
> previous release of Xorg (1.7.6) I solved this using a hal FDI file. |
7 |
> Here is the link fore reference : |
8 |
> |
9 |
> http://www.gossamer-threads.com/lists/gentoo/desktop/207830 |
10 |
> |
11 |
> The solution was to merge this XML fragment [snip] |
12 |
|
13 |
> Today I tried Xorg 1.8.0, and I added this content to |
14 |
> /etc/X11/xorg.conf.d/10-evdev.conf : |
15 |
> |
16 |
> Section "InputClass" |
17 |
> Identifier "My mouse" |
18 |
> MatchProduct "Bluetooth Laser Travel Mouse" |
19 |
> Option "AccelerationProfile" "-1" |
20 |
> Option "ConstantDeceleration" "10" |
21 |
> EndSection |
22 |
> |
23 |
> In Xorg log (Xorg -retro -verbose 10 2>log) I see : |
24 |
> |
25 |
> (II) config/udev: Adding input device Bluetooth Laser Travel Mouse |
26 |
> (/dev/input/event12) |
27 |
> (**) Bluetooth Laser Travel Mouse: Applying InputClass "My mouse" |
28 |
> <<<<<<<<<<< |
29 |
> (**) Bluetooth Laser Travel Mouse: Applying InputClass "evdev pointer |
30 |
> catchall" |
31 |
> (**) Bluetooth Laser Travel Mouse: always reports core events |
32 |
> (**) Bluetooth Laser Travel Mouse: Device: "/dev/input/event12" |
33 |
> (II) Bluetooth Laser Travel Mouse: Found 12 mouse buttons |
34 |
> (II) Bluetooth Laser Travel Mouse: Found scroll wheel(s) |
35 |
> (II) Bluetooth Laser Travel Mouse: Found relative axes |
36 |
> (II) Bluetooth Laser Travel Mouse: Found x and y relative axes |
37 |
> (II) Bluetooth Laser Travel Mouse: Configuring as mouse |
38 |
> (**) Bluetooth Laser Travel Mouse: YAxisMapping: buttons 4 and 5 |
39 |
> (**) Bluetooth Laser Travel Mouse: EmulateWheelButton: 4, |
40 |
> EmulateWheelInertia: 10, EmulateWheelTimeout: 200 |
41 |
> (II) XINPUT: Adding extended input device "Bluetooth Laser Travel |
42 |
> Mouse" (type: MOUSE) |
43 |
> (II) Bluetooth Laser Travel Mouse: initialized for relative axes. |
44 |
> (II) config/udev: Adding input device Bluetooth Laser Travel Mouse |
45 |
> (/dev/input/mouse2) |
46 |
> (**) Bluetooth Laser Travel Mouse: Applying InputClass "My mouse" |
47 |
> (EE) No input driver/identifier specified (ignoring) |
48 |
> |
49 |
> So I assume my options are merged in the configuration. But it has no |
50 |
> effect. What can be wrong ? |
51 |
|
52 |
Your options DO seem to be merged as we see it applying the specific |
53 |
inputclass by ID string. |
54 |
|
55 |
However, we see it detected twice, using two different device files and |
56 |
kernel drivers. |
57 |
|
58 |
Do you use gpm for text-mode mouse? AFAIK, it doesn't yet support evdev, |
59 |
or at least I couldn't figure out how to do it, so if you use it, you need |
60 |
to keep the kernel input/mouse driver around for that. But if you don't |
61 |
use a mouse at the text console anyway, you can probably disable the |
62 |
kernel mouse driver and thus /dev/input/mouseX and mice, while keeping |
63 |
evdev and /dev/input/eventX. That would simplify things for udev and X, |
64 |
somewhat. |
65 |
|
66 |
But if like me you use gpm and thus need to keep /dev/input/mice and the |
67 |
individual mouseX devices around, you'll just have to live with the extra |
68 |
devices, as I am. By default, xorg-server is set, using the catchall, to |
69 |
only use evdev, and to ignore the mouse device as it won't be assigned a |
70 |
driver, as that (EE) log entry seems to indicate is happening. So that |
71 |
itself shouldn't be an issue. |
72 |
|
73 |
What I'm wondering, however, is if either the order of application or the |
74 |
application of your own settings to the /dev/input/mouseX device (despite |
75 |
it not having an assigned driver) is screwing things up. |
76 |
|
77 |
What happens if...? |
78 |
|
79 |
OK, before we get to that, I just noticed something else. You're editing |
80 |
the default /etc/X11/xorg.conf.d/10-evdev.conf . |
81 |
|
82 |
There's a better way. Create your OWN file, something like |
83 |
00-mc-bluetooth-mouse.conf . 00- puts it in order before the 10- file, so |
84 |
it's processed first and thus receives precedence over the defaults. -mc- |
85 |
is your initials. Here, I use jed, my initials, to indicate my own |
86 |
settings. The idea is simply to make it easy to distinguish your own |
87 |
settings from any default settings. Then follows a name that identifies |
88 |
the function to you, with the .conf extension, or X will ignore it. |
89 |
|
90 |
That way, the default files stay unmodified and are easier and less risky |
91 |
to etc-update or whatever you use. |
92 |
|
93 |
So you probably want to create your own separate file, as I mentioned, and |
94 |
leave the default one untouched. |
95 |
|
96 |
Now that we got that out of the way... what happens... |
97 |
|
98 |
... if you add a couple more lines to your section inputclass, above, like |
99 |
so (MatchDevicePath and Driver, also note that I've column tabulated the |
100 |
entries for ease of reading, I had my whole xorg.conf aligned like this, |
101 |
and of course now do it in my xorg.conf.d/*.conf files): |
102 |
|
103 |
Section "InputClass" |
104 |
Identifier "My mouse" |
105 |
MatchProduct "Bluetooth Laser Travel Mouse" |
106 |
MatchDevicePath "/dev/input/event*" |
107 |
Driver "evdev" |
108 |
Option "AccelerationProfile" "-1" |
109 |
Option "ConstantDeceleration" "10" |
110 |
EndSection |
111 |
|
112 |
The idea for the event* devicepath match came from the blog entry |
113 |
introducing xorg.conf.d to the world, here (see Dan Nicholson's Jan 4 2010 |
114 |
5:02 PM, comment): |
115 |
|
116 |
http://who-t.blogspot.com/2010/01/new-configuration-world-order.html |
117 |
|
118 |
Basically, what we're doing is confining our config so it ONLY matches |
119 |
that product, ONLY on evdev devicefiles, NOT on /dev/input/mouseX files. |
120 |
That way, it's now safe to tell it specifically to load the evdev driver, |
121 |
without having to worry about it trying to use that driver on the mouseX |
122 |
devfile as well. |
123 |
|
124 |
With this in place, it shouldn't fall thru to the catchall entry at all, |
125 |
and we should eliminate all possibility of it getting mixed up by either |
126 |
that, or the mouseX device. |
127 |
|
128 |
If desired, you can add a similar specific mouseX device ignore section |
129 |
(or another file, there's a reason it's modular now!), as follows: |
130 |
|
131 |
Section "InputClass" |
132 |
Identifier "Ignore mousedev" |
133 |
MatchDevicePath "/dev/input/mouse*" |
134 |
Option "ignore" "1" |
135 |
EndSection |
136 |
|
137 |
BTW, that <<<<< mark, does that indicate snippage? Did you snip anything |
138 |
related to the input detection if so? Because I expected to see it |
139 |
applying the accel profile and constant decel settings there. But I'm not |
140 |
sure if it does that before seeing a driver or not, or whether you snipped |
141 |
out that bit if it was there, etc. |
142 |
|
143 |
Either way, I think/hope the above changes will make the log easier to |
144 |
follow, even if they don't solve the issue. So try it and reply with the |
145 |
new log info if it still doesn't work, and perhaps there'll be some other |
146 |
hint there. If nothing else, the documentation is pretty specific that |
147 |
once the driver is set, it's set, and with the above, your settings should |
148 |
set it and we should for sure see it set there and not with the catchall |
149 |
settings. If with the above it's still not setting the driver until it |
150 |
reaches catchall, then we know something else strange is going on, as it |
151 |
would seem to be ignoring your whole custom section. The only way I can |
152 |
think that that might happen would be if the match isn't matching for some |
153 |
reason, but I guess we'll see. |
154 |
|
155 |
-- |
156 |
Duncan - List replies preferred. No HTML msgs. |
157 |
"Every nonfree program has a lord, a master -- |
158 |
and if you use the program, he is your master." Richard Stallman |