Summary: | udev 208 classifying USB Pro Pedals (CH Products) as ID_INPUT_ACCELEROMETER | ||
---|---|---|---|
Product: | systemd | Reporter: | Tyson Whitehead <twhitehead> |
Component: | general | Assignee: | systemd-bugs |
Status: | RESOLVED FIXED | QA Contact: | systemd-bugs |
Severity: | normal | ||
Priority: | medium | CC: | joe.harvell.x |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Tyson Whitehead
2014-07-30 01:27:18 UTC
I've had this same problem for quite some time now. Thanks for taking the time to write the bug report. I'm on Gentoo using systemd 215-r3. I tried to work around this by attaching the CH Pedals input device to seat0 using loginctl, but I can't seem to make it work. I just have to frequently do a chown on /dev/input/eventx, but then systemd (actually loginctl) seems to keep changing it back. lsusb [...] Bus 008 Device 007: ID 068e:00f2 CH Products, Inc. Flight Sim Pedals Bus 008 Device 003: ID 068e:00fa CH Products, Inc. Ch Throttle Quadrant Bus 003 Device 003: ID 068e:0057 CH Products, Inc. Bus 007 Device 005: ID 068e:00f3 CH Products, Inc. Fighterstick lsinput [...] /dev/input/event6 id : 068e:00f3, USB, v256 phys : "usb-0000:00:1a.0-1.5/input0" name : "CH PRODUCTS CH FIGHTERSTICK USB " KEY : [ 19 codes ] ABS : X Y Z HAT0X HAT0Y MSC : SCAN /dev/input/event7 id : 068e:00fa, USB, v256 phys : "usb-0000:00:1d.0-1.5/input0" name : "CH PRODUCTS CH THROTTLE QUADRANT" KEY : [ 12 codes ] ABS : X Y Z RX RY RZ MSC : SCAN /dev/input/event8 id : 068e:00f2, USB, v256 phys : "usb-0000:00:1d.0-1.8/input0" name : "CH PRODUCTS CH PRO PEDALS USB " ABS : X Y Z /dev/input/event9 id : 068e:0057, USB, v256 phys : "usb-0000:32:00.0-2/input0" name : "S CH ECLIPSE YOKE" KEY : [ 26 codes ] ABS : X Y Z RX RY RZ HAT0X HAT0Y MSC : SCAN The simple hack I use to work around this until upstream figures our a proper fix is to create "/etc/udev/rules.d/49-ch-products.rules" containing SUBSYSTEM=="input", ATTRS{idVendor}=="068e", ATTRS{idProduct}=="00f2", ENV{ID_INPUT}="1", ENV{ID_INPUT_JOYSTICK}="1" where "idVendor" and "idProduct" was taken from lsusb. This manual classification works because "/lib/udev/rules.d/50-udev-default.rules" only runs "input_id" if "ID_INPUT" isn't already set. One other issue I've noticed is that I have to unplug and plug them back in every time I suspend my machine. I imagine there must be some way to automatically perform a reset, but I haven't dug into it yet. Cheers! -Tyson I figure this is a job for a hwdb database, so that we don't have to ship tons of udev rules for a myriad of devices. Let's close this here. if this still is an issue, please file a github issue, and cc @whot. |
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.