• ValdikSS's avatar
    HID: lenovo: Add support for ThinkPad TrackPoint Keyboard II · 24401f29
    ValdikSS authored
    This keyboard has two modes: regular HID and a native mode, which is used
    in Windows driver. Native mode disables (poor) middle mouse button
    scrolling emulation and reports middle button and scrolling events with a
    custom report ID, which could be better handled in the driver.
    
    This commit adds functional button mapping and native scrolling support.
    
    HID collection in Bluetooth mode for custom report ID=5 is broken and
    is patched upon connection. The collection initially contains incorrect
    Usage Minimum/Usage Maximum numbers and, more importantly, marks Input
    as Variable, not Array, while reporting values as in Array.
    
    The keyboard is very similar to Compact USB/Bluetooth Keyboard with
    TrackPoint, that's why this patch reuses all of cptkbd functions, except
    for input mapping.
    Signed-off-by: default avatarFlorian Klink <flokli@flokli.de>
    Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    24401f29
hid-lenovo.c 37.5 KB