• Hans de Goede's avatar
    HID: logitech-dj: add support for non unifying receivers · 74808f91
    Hans de Goede authored
    We emulate the DJ functionality through the driver.
    
    The receiver supports "fake device arrival" which behaves
    like the probing of DJ devices.
    
    A non-unifying receiver has 2 USB interfaces, the first one generates
    standard keypresses and is compatible with the USB Keyboard Boot Subclass.
    The second interface sends events for the mouse and special keys such as
    the consumer-page keys. Events are split this way for BIOS / Windows /
    generic-hid driver compatibility. This split does not actually match with
    which device the event originate from, e.g. the consumer-page key events
    originate from the keyboard but are delivered on the mouse interface.
    
    To make sure the events are actually delivered to the dj_device
    representing the originating device, we pick which dj_dev to forward
    a "regular" input-report to based on the report-number, rather
    then based on the originating interface.
    Co-authored-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
    74808f91
hid-logitech-dj.c 48 KB