Skip to content
  • Peter Hutterer's avatar
    test: auto-update for BTN_TOOL_* when using litest_touch_ functions · 61995348
    Peter Hutterer authored
    
    
    Set BTN_TOUCH, BTN_TOOL_DOUBLETAP automatically depending on the number of
    fingers down.
    
    This emulates real event sequences a bit better than the current approach,
    though it's not a 100% correct emulation:
    1) On real devices, BTN_* are usually sent last before the SYN_REPORT - here
       they are sent first to slot in with the custom, device-specific event
       sequence. We should only ever look at the complete sequence anyway, so this
       shouldn't matter.
    2) On real devices, the switch from BTN_TOOL_DOUBLETAP to TRIPLETAP and vice
       versa is not always toggled within the same SYN_REPORT
    3) On synaptics devices, BTN_TOUCH is released in the frame where
       BTN_TOOL_DOUBLETAP is set. It is then immediately set again in the next
       frame.  With the current litest framework this is hard to integrate, so we
       just leave BTN_TOUCH set the whole time, which is what MT devices do if
       they don't have BTN_TOOL_DOUBLETAP.
    
    Signed-off-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
    61995348