Skip to content
  • Peter Hutterer's avatar
    Support the new Lenovo X1 Carbon 3rd trackpoint buttons · 06444536
    Peter Hutterer authored
    
    
    This device has the trackpoint buttons wired up to the touchpad to send BTN_0,
    BTN_1 and BTN_2 for left, right, middle. This conflicts with previous
    touchpads that used those event codes for dedicated scroll buttons.
    
    Add an option HasTrackpointButtons that can be set via a xorg.conf.d
    snippets. This option is not intended as a user-set option, rather
    we expect distributions to ship some conglomerate of udev/hal rules with
    xorg.conf snippets that take effect.
    
    If the option is set, we look at the three affected buttons at the beginning
    of HandleState and send button events immediately for them. The HW state is
    reset to neutral and other processing continues. This saves us from having to
    synchronize these buttons with software buttons (also present on this device),
    tapping, etc.
    
    Since the buttons are physically different and (mentally) associated with the
    trackpoint device we also don't need to worry about having finger motion event
    correctly synced up with the button presses - it's acceptable to send the
    presses before the motion events.
    
    Signed-off-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
    Tested-by: default avatarBenjamin Tissoires <benjamin.tissoires@gmail.com>
    06444536