Bug 83404

Summary: Rotary encoder does not get used by evdev input
Product: xorg Reporter: Sean Cross <xobs>
Component: Input/evdevAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: minor    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Sean Cross 2014-09-02 15:51:47 UTC
We did a board based on the Novena core.  It had a rotary coder connected via GPIO pins.  The device tree file had the following definition:

	rotary@0 {
		compatible = "rotary-encoder";
		gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>, <&gpio1 02 GPIO_ACTIVE_HIGH>;
		linux,axis = <REL_WHEEL>;
		rotary-encoder,relative-axis;
		rotary-encoder,half-period;
	};

Upon initialization, the kernel would create an evdev device present under /dev/input/.  This device has only a mouse wheel, and no other axes.  In order to get the device to actually send events to applications, the following xorg.conf.d file was created:

60-rotary.conf:

Section "InputClass"
    Identifier "Rotary encoder"
    MatchProduct "rotary.20"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
EndSection
Comment 1 Peter Hutterer 2014-09-02 21:49:34 UTC
So it works once you apply that config? In that case we need to fix the udev builtin to label devices for us. Or just bite the bullet and enable evdev for all event* devices, but that's not a good idea.
Comment 2 GitLab Migration User 2018-08-10 20:54:10 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-input-evdev/issues/4.

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.