• Benjamin Tissoires's avatar
    Input: reserve 2 events code because of HID · d9ca1c99
    Benjamin Tissoires authored
    Prior to commit 190d7f02 ("HID: input: do not increment usages when
    a duplicate is found") from the v4.18 kernel, HID used to shift the
    event codes if a duplicate usage was found. This ended up in a situation
    where a device would export a ton of ABS_MISC+n event codes, or a ton
    of REL_MISC+n event codes.
    
    This is now fixed, however userspace needs to detect those situation.
    Fortunately, ABS_MT_SLOT-1 (ABS_MISC+6) was never assigned a code, and
    so libinput can detect fake multitouch devices from genuine ones by
    checking if ABS_MT_SLOT-1 is set.
    
    Now that we have REL_WHEEL_HI_RES, libinput won't be able to differentiate
    true high res mice from some other device in a pre-v4.18 kernel.
    
    Set in stone that the ABS_MISC+6 and REL_MISC+1 are reserved and should not
    be used so userspace can properly work around those old kernels.
    Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
    Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    d9ca1c99
input-event-codes.h 24.4 KB