Summary: | Log Spam "[Xi] Too many valuators reported for device..." | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Alan Swanson <reiver> | ||||
Component: | Server/General | Assignee: | Peter Hutterer <peter.hutterer> | ||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | CC: | peter.hutterer | ||||
Version: | unspecified | ||||||
Hardware: | Other | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Please download http://people.freedesktop.org/~whot/evtest.c, compile it with gcc -o evtest evtest.c and then run it as root against the device file. The device file is /dev/input/eventX, where X is a number. You can get the right device file by looking into /proc/bus/input/devices. Then attach the output of evtest here. Evtest output for my two joysticks (which had hal policy added to remove "input.x11_driver" key to stop messages). $ evtest /dev/input/event5 Input driver version is 1.0.0 Input device ID: bus 0x14 vendor 0x1 product 0x103f version 0x100 Input device name: "Analog 4-axis 10-button 1-hat CHF joystick" Supported events: Event type 0 (Sync) Event code 0 (Sync) Event code 1 (Key) Event code 3 (Absolute) Event type 1 (Key) Event code 288 (Trigger) Event code 289 (ThumbBtn) Event code 291 (TopBtn) Event code 292 (TopBtn2) Event code 294 (BaseBtn) Event code 295 (BaseBtn2) Event code 296 (BaseBtn3) Event code 297 (BaseBtn4) Event code 298 (BaseBtn5) Event code 299 (BaseBtn6) Event type 3 (Absolute) Event code 0 (X) Value 1278 Min 159 Max 2397 Fuzz 31 Flat 159 Event code 1 (Y) Value 1344 Min 168 Max 2520 Fuzz 31 Flat 168 Event code 6 (Throttle) Value 274 Min 34 Max 2588 Fuzz 31 Flat 34 Event code 7 (Rudder) Value 1692 Min 211 Max 2411 Fuzz 31 Flat 211 Event code 16 (Hat0X) Value 0 Min -1 Max 1 Event code 17 (Hat0Y) Value 0 Min -1 Max 1 Testing ... (interrupt to exit) $ evtest /dev/input/event6 Input driver version is 1.0.0 Input device ID: bus 0x3 vendor 0x6a3 product 0xff0c version 0x110 Input device name: "Saitek PLC Cyborg Force Rumble Pad" Supported events: Event type 0 (Sync) Event code 0 (Sync) Event code 1 (Key) Event code 3 (Absolute) Event code 4 (?) Event type 1 (Key) Event code 288 (Trigger) Event code 289 (ThumbBtn) Event code 290 (ThumbBtn2) Event code 291 (TopBtn) Event code 292 (TopBtn2) Event code 293 (PinkieBtn) Event code 294 (BaseBtn) Event code 295 (BaseBtn2) Event code 296 (BaseBtn3) Event code 297 (BaseBtn4) Event code 298 (BaseBtn5) Event code 299 (BaseBtn6) Event type 3 (Absolute) Event code 0 (X) Value 0 Min 0 Max 255 Flat 15 Event code 1 (Y) Value 0 Min 0 Max 255 Flat 15 Event code 6 (Throttle) Value 0 Min 0 Max 255 Flat 15 Event code 7 (Rudder) Value 0 Min 0 Max 255 Flat 15 Event code 16 (Hat0X) Value 0 Min -1 Max 1 Event code 17 (Hat0Y) Value 0 Min -1 Max 1 Event type 4 (?) Event code 4 (?) Testing ... (interrupt to exit) there's multiple causes for this bug: - evdev doesn't handle joystick buttons, so the device is initialised with valuators only, no buttons. - as a result of the above, the device is attached to the core keyboard, not the core pointer (IsPointerDevice() has a wrong check here). - as a result, if the valuators are posted by the device, they are posted through the VCK, not the VCP. Most of the server handles posting keys through the VCP well but not valuators through the VCK, some checks are missing here. The simple one-line fix is this: http://lists.freedesktop.org/archives/xorg-devel/2009-October/002740.html this causes the device to attach correctly, thus avoiding the problem Long-term the server should of course handle this case correctly, and possibly even a fix in evdev to handle these. Meanwhile, it's probably better to hook the joystick driver up to this device anyway. (In reply to comment #3) > - as a result of the above, the device is attached to the core keyboard, not > the core pointer (IsPointerDevice() has a wrong check here). Fixed with 72f5874434c0c015b671c492c1318f35f1793668. This commit doesn't address the underlying issue but it prevents it from occuring. moving this off the blocker list. should be fixed eventually, but we've worked around now for this device. Claiming this is closed since I haven't seen this in a while. Please reopen if it's still here |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 30249 [details] Xorg.0.log In xorg-server 1.7, with hal defining joysticks with the key input.x11_driver by default, I was getting the following line repeatedly spamming the log file every few seconds. This should be a once only warning in the Xi/exevents.c file. [Xi] Too many valuators reported for device 'Virtual core pointer'. Ignoring event.