• Dmitry Torokhov's avatar
    HID: hid-input: avoid splitting keyboard, system and consumer controls · 7c7d7ac7
    Dmitry Torokhov authored
    A typical USB keyboard usually splits its keys into several reports:
    
    - one for the basic alphanumeric keys, modifier keys, F<n> keys, six pack
      keys and keypad. This report's application is normally listed as
      GenericDesktop.Keyboard
    - a GenericDesktop.SystemControl report for the system control keys, such
      as power and sleep
    - Consumer.ConsumerControl report for multimedia (forward, rewind,
      play/pause, mute, etc) and other extended keys.
    - additional output, vendor specific, and feature reports
    
    Splitting each report into a separate input device is wasteful and even
    hurts userspace as it makes it harder to determine the true capabilities
    (set of available keys) of a keyboard, so let's adjust application
    matching to merge system control and consumer control reports with
    keyboard report, if one has already been processed.
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    Acked-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    7c7d7ac7
hid-input.c 57.2 KB