• Hans de Goede's avatar
    HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses · 3c785a06
    Hans de Goede authored
    The usb-hid keyboard-dock for the Acer Switch 10 SW5-012 model declares
    an application and hid-usage page of 0x0088 for the INPUT(4) report which
    it sends. This reports contains 2 8-bit fields which are declared as
    HID_MAIN_ITEM_VARIABLE.
    
    The keyboard-touchpad combo never actually generates this report, except
    when the touchpad is toggled on/off with the Fn + F7 hotkey combo. The
    toggle on/off is handled inside the keyboard-dock, when the touchpad is
    toggled off it simply stops sending events.
    
    When the touchpad is toggled on/off an INPUT(4) report is generated with
    the first content byte set to 120/121, before this commit the kernel
    would report this as ABS_MISC 120/121 events.
    
    Patch the descriptor to replace the HID_MAIN_ITEM_VARIABLE with
    HID_MAIN_ITEM_RELATIVE (because no key-presss release events are send)
    and add mappings for the 0x00880078 and 0x00880079 usages to generate
    touchpad on/off key events when the touchpad is toggled on/off.
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    3c785a06
hid-ite.c 3.18 KB