iberianpig / fusuma

Multitouch gestures with libinput driver on Linux
MIT License
3.58k stars 146 forks source link

Fusuma doesn't recognize multi fingers swipe gestures #269

Closed minhduc66532 closed 2 years ago

minhduc66532 commented 2 years ago

Describe the bug Fusuma doesn't recognize multi fingers swipe gestures, haven't tried Wayland yet

Versions

I, [2022-03-20T17:26:49.895523 #44083]  INFO -- : reload config: /home/minhduc/.config/fusuma/config.yml
I, [2022-03-20T17:26:49.938597 #44083]  INFO -- : ---------------------------------------------
I, [2022-03-20T17:26:49.938836 #44083]  INFO -- : Fusuma: 2.3.0
I, [2022-03-20T17:26:49.939446 #44083]  INFO -- : libinput: 1.20.0
I, [2022-03-20T17:26:49.939475 #44083]  INFO -- : ruby 3.0.3p157
I, [2022-03-20T17:26:49.940422 #44083]  INFO -- : OS: Linux 5.16.12-xanmod1-1 #1 SMP Tue, 08 Mar 2022 15:07:13 +0000
I, [2022-03-20T17:26:49.940928 #44083]  INFO -- : Distribution: Arch Linux \r (\l)
I, [2022-03-20T17:26:49.943338 #44083]  INFO -- : Desktop session: kde x11
I, [2022-03-20T17:26:49.943441 #44083]  INFO -- : ---------------------------------------------
I, [2022-03-20T17:26:49.943466 #44083]  INFO -- : Enabled Plugins:
I, [2022-03-20T17:26:49.943632 #44083]  INFO -- :   Fusuma::Plugin::Buffers::GestureBuffer
I, [2022-03-20T17:26:49.943652 #44083]  INFO -- :   Fusuma::Plugin::Buffers::TapBuffer
I, [2022-03-20T17:26:49.943666 #44083]  INFO -- :   Fusuma::Plugin::Buffers::TimerBuffer
I, [2022-03-20T17:26:49.943678 #44083]  INFO -- :   Fusuma::Plugin::Detectors::HoldDetector
I, [2022-03-20T17:26:49.943691 #44083]  INFO -- :   Fusuma::Plugin::Detectors::PinchDetector
I, [2022-03-20T17:26:49.943705 #44083]  INFO -- :   Fusuma::Plugin::Detectors::RotateDetector
I, [2022-03-20T17:26:49.943718 #44083]  INFO -- :   Fusuma::Plugin::Detectors::SwipeDetector
I, [2022-03-20T17:26:49.943731 #44083]  INFO -- :   Fusuma::Plugin::Detectors::TapDetector
I, [2022-03-20T17:26:49.943744 #44083]  INFO -- :   Fusuma::Plugin::Events::Records::ContextRecord
I, [2022-03-20T17:26:49.943756 #44083]  INFO -- :   Fusuma::Plugin::Events::Records::GestureRecord
I, [2022-03-20T17:26:49.943769 #44083]  INFO -- :   Fusuma::Plugin::Events::Records::IndexRecord
I, [2022-03-20T17:26:49.943782 #44083]  INFO -- :   Fusuma::Plugin::Events::Records::TextRecord
I, [2022-03-20T17:26:49.943794 #44083]  INFO -- :   Fusuma::Plugin::Executors::CommandExecutor
I, [2022-03-20T17:26:49.943808 #44083]  INFO -- :   Fusuma::Plugin::Executors::SendkeyExecutor
I, [2022-03-20T17:26:49.943820 #44083]  INFO -- :   Fusuma::Plugin::Filters::LibinputDeviceFilter
I, [2022-03-20T17:26:49.943834 #44083]  INFO -- :   Fusuma::Plugin::Inputs::LibinputCommandInput
I, [2022-03-20T17:26:49.943847 #44083]  INFO -- :   Fusuma::Plugin::Inputs::TimerInput
I, [2022-03-20T17:26:49.943859 #44083]  INFO -- :   Fusuma::Plugin::Parsers::LibinputGestureParser
I, [2022-03-20T17:26:49.943871 #44083]  INFO -- :   Fusuma::Plugin::Parsers::TapParser
I, [2022-03-20T17:26:49.943885 #44083]  INFO -- : ---------------------------------------------

Configuration

swipe:
  2:
    left:
      sendkey: "LEFTALT+RIGHT" # history back
    right:
      sendkey: "LEFTALT+LEFT" # history forward

  3:
    left:
      sendkey: "PREVIOUSSONG"
    right:
      sendkey: "NEXTSONG"
    up:
      sendkey: "VOLUMEUP"
    down:
      sendkey: "VOLUMEDOWN"

tap:
  3:
    sendkey: "PLAYPAUSE"

plugin: 
  inputs:
    libinput_command_input: # options for lib/plugin/inputs/libinput_command_input
      enable-tap: true # click to tap
      enable-dwt: true # disable tap while typing
      show-keycodes: true # https://github.com/iberianpig/fusuma-plugin-keypress#add-show-keycode-option
      verbose: true

Run fusuma -v from the terminal and try 2 fingers swiping gesture

D, [2022-03-20T17:31:42.170415 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: libinput version: 1.20.0}
D, [2022-03-20T17:31:42.172179 #44440] DEBUG -- : {:list_devices=>"libinput list-devices"}
D, [2022-03-20T17:31:42.702205 #44440] DEBUG -- : {:available_devices=>[#<Fusuma::Device:0x000055e592c38c50 @id="event19", @name="ELAN1203:00 04F3:307A Touchpad", @capabilities="pointer gesture", @available=true>, #<Fusuma::Device:0x000055e592d9d938 @id="event7", @name="Logitech G703 LS", @capabilities="keyboard pointer", @available=true>, #<Fusuma::Device:0x000055e592d0a250 @id="event18", @name="ELAN1203:00 04F3:307A Mouse", @capabilities="pointer", @available=true>]}
D, [2022-03-20T17:31:42.702541 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event3  - Power Button: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.702766 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event3  - Power Button: device is a keyboard}
D, [2022-03-20T17:31:42.702976 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event8  - Asus Wireless Radio Control: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.703159 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event8  - Asus Wireless Radio Control: device is a keyboard}
D, [2022-03-20T17:31:42.703328 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event9  - Video Bus: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.703484 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event9  - Video Bus: device is a keyboard}
D, [2022-03-20T17:31:42.703659 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event0  - Power Button: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.703833 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event0  - Power Button: device is a keyboard}
D, [2022-03-20T17:31:42.704003 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event2  - Lid Switch: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.704187 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event2  - Lid Switch: device is a switch device}
D, [2022-03-20T17:31:42.704353 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event2  - Lid Switch: device is a switch device}
D, [2022-03-20T17:31:42.704528 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event1  - Sleep Button: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.704687 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event1  - Sleep Button: device is a keyboard}
D, [2022-03-20T17:31:42.704878 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event13 - HDA NVidia HDMI/DP,pcm=3: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.705049 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event13 - not using input device '/dev/input/event13'}
D, [2022-03-20T17:31:42.705247 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event14 - HDA NVidia HDMI/DP,pcm=7: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.705422 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event14 - not using input device '/dev/input/event14'}
D, [2022-03-20T17:31:42.705612 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event15 - HDA NVidia HDMI/DP,pcm=8: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.705789 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event15 - not using input device '/dev/input/event15'}
D, [2022-03-20T17:31:42.705982 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event16 - HDA NVidia HDMI/DP,pcm=9: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.706421 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event16 - not using input device '/dev/input/event16'}
D, [2022-03-20T17:31:42.706623 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event12 - HD-Audio Generic HDMI/DP,pcm=3: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.706861 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event12 - not using input device '/dev/input/event12'}
D, [2022-03-20T17:31:42.707127 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event5  - Logitech Gaming Keyboard G610: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.707377 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event5  - Logitech Gaming Keyboard G610: device is a keyboard}
D, [2022-03-20T17:31:42.707659 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event6  - Logitech Gaming Keyboard G610 Keyboard: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.707877 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event6  - Logitech Gaming Keyboard G610 Keyboard: device is a keyboard}
D, [2022-03-20T17:31:42.708066 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event7  - Logitech G703 LS: is tagged by udev as: Keyboard Mouse}
D, [2022-03-20T17:31:42.708949 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event7  - Logitech G703 LS: device is a pointer}
D, [2022-03-20T17:31:42.709542 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event7  - Logitech G703 LS: device is a keyboard}
D, [2022-03-20T17:31:42.710058 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event17 - USB2.0 HD UVC WebCam: USB2.0 HD: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.710302 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event17 - USB2.0 HD UVC WebCam: USB2.0 HD: device is a keyboard}
D, [2022-03-20T17:31:42.710539 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event20 - HD-Audio Generic Headphone: is tagged by udev as: Switch}
D, [2022-03-20T17:31:42.710742 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event20 - not using input device '/dev/input/event20'}
D, [2022-03-20T17:31:42.710969 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event18 - ELAN1203:00 04F3:307A Mouse: is tagged by udev as: Mouse Pointingstick}
D, [2022-03-20T17:31:42.711427 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event18 - ELAN1203:00 04F3:307A Mouse: device is a pointer}
D, [2022-03-20T17:31:42.711881 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event19 - ELAN1203:00 04F3:307A Touchpad: is tagged by udev as: Touchpad}
D, [2022-03-20T17:31:42.712541 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event19 - ELAN1203:00 04F3:307A Touchpad: device is a touchpad}
D, [2022-03-20T17:31:42.713120 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record:   ... event19 - lid: activated for ELAN1203:00 04F3:307A Touchpad<->Lid Switch}
D, [2022-03-20T17:31:42.713397 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event11 - Asus WMI hotkeys: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.713662 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event11 - Asus WMI hotkeys: device is a keyboard}
D, [2022-03-20T17:31:42.713951 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event4  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard}
D, [2022-03-20T17:31:42.714234 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event4  - AT Translated Set 2 keyboard: device is a keyboard}
D, [2022-03-20T17:31:42.714549 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record:   ... event2  - lid: keyboard paired with Lid Switch<->AT Translated Set 2 keyboard}
D, [2022-03-20T17:31:42.714899 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record:   ... event19 - palm: dwt activated with ELAN1203:00 04F3:307A Touchpad<->AT Translated Set 2 keyboard}
D, [2022-03-20T17:31:42.715168 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event10 - PC Speaker: not tagged as supported input device}
D, [2022-03-20T17:31:42.715420 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: event10 - not using input device '/dev/input/event10'}
D, [2022-03-20T17:31:42.715737 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event3   DEVICE_ADDED            Power Button                      seat0 default group1  cap:k}
D, [2022-03-20T17:31:42.715969 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event8   DEVICE_ADDED            Asus Wireless Radio Control       seat0 default group2  cap:k}
D, [2022-03-20T17:31:42.716215 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event9   DEVICE_ADDED            Video Bus                         seat0 default group3  cap:k}
D, [2022-03-20T17:31:42.716444 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event0   DEVICE_ADDED            Power Button                      seat0 default group4  cap:k}
D, [2022-03-20T17:31:42.716689 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event2   DEVICE_ADDED            Lid Switch                        seat0 default group5  cap:S}
D, [2022-03-20T17:31:42.716988 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event1   DEVICE_ADDED            Sleep Button                      seat0 default group6  cap:k}
D, [2022-03-20T17:31:42.717288 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event5   DEVICE_ADDED            Logitech Gaming Keyboard G610     seat0 default group7  cap:k}
D, [2022-03-20T17:31:42.717601 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event6   DEVICE_ADDED            Logitech Gaming Keyboard G610 Keyboard seat0 default group7  cap:k}
D, [2022-03-20T17:31:42.717890 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event7   DEVICE_ADDED            Logitech G703 LS                  seat0 default group8  cap:kp left scroll-nat scroll-button}
D, [2022-03-20T17:31:42.718110 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event17  DEVICE_ADDED            USB2.0 HD UVC WebCam: USB2.0 HD   seat0 default group9  cap:k}
D, [2022-03-20T17:31:42.718403 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event18  DEVICE_ADDED            ELAN1203:00 04F3:307A Mouse       seat0 default group10 cap:p left scroll-nat scroll-button}
D, [2022-03-20T17:31:42.718711 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event19  DEVICE_ADDED            ELAN1203:00 04F3:307A Touchpad    seat0 default group10 cap:pg  size 101x52mm tap(dl off) left scroll-nat scroll-2fg-edge dwt-on}
D, [2022-03-20T17:31:42.718927 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event11  DEVICE_ADDED            Asus WMI hotkeys                  seat0 default group11 cap:k}
D, [2022-03-20T17:31:42.719141 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: libinput_command_input, record: -event4   DEVICE_ADDED            AT Translated Set 2 keyboard      seat0 default group12 cap:k}
D, [2022-03-20T17:31:42.719242 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:42.769262 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:42 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:43.070082 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:43 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:43.370798 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:43 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:43.671563 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:43 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:43.972318 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:43 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:44.273437 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:44 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:44.574015 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:44 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:44.874571 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:44 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:45.175217 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:45 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:45.475846 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:45 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:45.776391 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:45 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:46.076917 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:46 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:46.377501 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:46 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:46.678079 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:46 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:46.978363 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:46 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:47.278663 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:47.446454 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:    2: event19 - button state: touch 0 from BUTTON_STATE_NONE    event BUTTON_EVENT_IN_AREA     to BUTTON_STATE_AREA   }
D, [2022-03-20T17:31:47.447814 #44440] DEBUG -- : {:list_devices=>"libinput list-devices"}
D, [2022-03-20T17:31:47.976056 #44440] DEBUG -- : {:available_devices=>[#<Fusuma::Device:0x000055e592f67ef8 @id="event19", @name="ELAN1203:00 04F3:307A Touchpad", @capabilities="pointer gesture", @available=true>, #<Fusuma::Device:0x000055e592f965a0 @id="event7", @name="Logitech G703 LS", @capabilities="keyboard pointer", @available=true>, #<Fusuma::Device:0x000055e592f87668 @id="event18", @name="ELAN1203:00 04F3:307A Mouse", @capabilities="pointer", @available=true>]}
D, [2022-03-20T17:31:47.976963 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - button state: touch 1 from BUTTON_STATE_NONE    event BUTTON_EVENT_IN_AREA     to BUTTON_STATE_AREA   }
D, [2022-03-20T17:31:47.977433 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - tap: touch 0 (TOUCH_BEGIN), tap state TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH}
D, [2022-03-20T17:31:47.977875 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - tap: touch 1 (TOUCH_BEGIN), tap state TAP_STATE_TOUCH → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_2}
D, [2022-03-20T17:31:47.978305 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - gesture state GESTURE_STATE_NONE → GESTURE_EVENT_FINGER_DETECTED → GESTURE_STATE_UNKNOWN}
D, [2022-03-20T17:31:47.978684 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:    8: event19 - gesture state GESTURE_STATE_UNKNOWN → GESTURE_EVENT_HOLD_TIMEOUT → GESTURE_STATE_HOLD}
D, [2022-03-20T17:31:47.978933 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record: -event19  GESTURE_HOLD_BEGIN      +0.040s    2}
D, [2022-03-20T17:31:47.979952 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   10: event19 - tap: touch 1 (TOUCH_UPDATE), tap state TAP_STATE_TOUCH_2 → TAP_EVENT_MOTION → TAP_STATE_DEAD}
D, [2022-03-20T17:31:47.980354 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   11: event19 - gesture state GESTURE_STATE_HOLD → GESTURE_EVENT_RESET → GESTURE_STATE_NONE}
D, [2022-03-20T17:31:47.980756 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - gesture state GESTURE_STATE_HOLD → GESTURE_EVENT_SCROLL → GESTURE_STATE_SCROLL}
D, [2022-03-20T17:31:47.981050 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  GESTURE_HOLD_END        +0.056s    2 cancelled}
D, [2022-03-20T17:31:47.981739 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.056s    vert 0.00/0.0 horiz 6.41/0.0* (finger)}
D, [2022-03-20T17:31:47.982402 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.063s    vert 0.00/0.0 horiz 6.74/0.0* (finger)}
D, [2022-03-20T17:31:47.982981 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.070s    vert 0.00/0.0 horiz 6.91/0.0* (finger)}
D, [2022-03-20T17:31:47.983556 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.076s    vert 0.00/0.0 horiz 7.57/0.0* (finger)}
D, [2022-03-20T17:31:47.984350 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.083s    vert 0.00/0.0 horiz 7.57/0.0* (finger)}
D, [2022-03-20T17:31:47.984920 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.090s    vert 0.00/0.0 horiz 8.06/0.0* (finger)}
D, [2022-03-20T17:31:47.985481 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.097s    vert 0.00/0.0 horiz 8.06/0.0* (finger)}
D, [2022-03-20T17:31:47.986039 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.104s    vert 0.00/0.0 horiz 8.39/0.0* (finger)}
D, [2022-03-20T17:31:47.986632 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.111s    vert 0.00/0.0 horiz 8.55/0.0* (finger)}
D, [2022-03-20T17:31:47.987211 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.118s    vert 0.00/0.0 horiz 8.72/0.0* (finger)}
D, [2022-03-20T17:31:47.987785 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.125s    vert 0.00/0.0 horiz 7.90/0.0* (finger)}
D, [2022-03-20T17:31:47.988365 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.132s    vert 0.00/0.0 horiz 9.05/0.0* (finger)}
D, [2022-03-20T17:31:47.988935 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.140s    vert 0.00/0.0 horiz 9.38/0.0* (finger)}
D, [2022-03-20T17:31:47.989510 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.147s    vert 0.00/0.0 horiz 9.70/0.0* (finger)}
D, [2022-03-20T17:31:47.990170 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   25: event19 - button state: touch 0 from BUTTON_STATE_AREA    event BUTTON_EVENT_UP          to BUTTON_STATE_NONE   }
D, [2022-03-20T17:31:47.990550 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - button state: touch 1 from BUTTON_STATE_AREA    event BUTTON_EVENT_UP          to BUTTON_STATE_NONE   }
D, [2022-03-20T17:31:47.990876 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - gesture state GESTURE_STATE_SCROLL → GESTURE_EVENT_RESET → GESTURE_STATE_NONE}
D, [2022-03-20T17:31:47.991247 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:   ... event19 - tap: touch 1 (TOUCH_END), tap state TAP_STATE_DEAD → TAP_EVENT_RELEASE → TAP_STATE_IDLE}
D, [2022-03-20T17:31:47.991567 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: libinput_command_input, record:  event19  POINTER_SCROLL_FINGER   +0.154s    vert 0.00/0.0* horiz 0.00/0.0* (finger)}
D, [2022-03-20T17:31:47.992105 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:47.992271 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:47 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:48.180502 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:48 +0700, tag: timer_input, record: timer}
D, [2022-03-20T17:31:48.481021 #44440] DEBUG -- : {:input_event=>time: 2022-03-20 17:31:48 +0700, tag: timer_input, record: timer}

libinput debug-events

-event3   DEVICE_ADDED            Power Button                      seat0 default group1  cap:k
-event8   DEVICE_ADDED            Asus Wireless Radio Control       seat0 default group2  cap:k
-event9   DEVICE_ADDED            Video Bus                         seat0 default group3  cap:k
-event0   DEVICE_ADDED            Power Button                      seat0 default group4  cap:k
-event2   DEVICE_ADDED            Lid Switch                        seat0 default group5  cap:S
-event1   DEVICE_ADDED            Sleep Button                      seat0 default group6  cap:k
-event5   DEVICE_ADDED            Logitech Gaming Keyboard G610     seat0 default group7  cap:k
-event6   DEVICE_ADDED            Logitech Gaming Keyboard G610 Keyboard seat0 default group7  cap:k
-event7   DEVICE_ADDED            Logitech G703 LS                  seat0 default group8  cap:kp left scroll-nat scroll-button
-event17  DEVICE_ADDED            USB2.0 HD UVC WebCam: USB2.0 HD   seat0 default group9  cap:k
-event18  DEVICE_ADDED            ELAN1203:00 04F3:307A Mouse       seat0 default group10 cap:p left scroll-nat scroll-button
-event19  DEVICE_ADDED            ELAN1203:00 04F3:307A Touchpad    seat0 default group10 cap:pg  size 101x52mm tap(dl off) left scroll-nat scroll-2fg-edge dwt-on
-event11  DEVICE_ADDED            Asus WMI hotkeys                  seat0 default group11 cap:k
-event4   DEVICE_ADDED            AT Translated Set 2 keyboard      seat0 default group12 cap:k
-event19  GESTURE_HOLD_BEGIN      +0.040s   2
 event19  GESTURE_HOLD_END        +0.048s   2 cancelled
 event19  POINTER_SCROLL_FINGER   +0.048s   vert 0.00/0.0 horiz -7.73/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.055s   vert 0.00/0.0 horiz -9.21/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.062s   vert 0.00/0.0 horiz -9.05/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.069s   vert 0.00/0.0 horiz -9.21/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.076s   vert 0.00/0.0 horiz -9.70/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.083s   vert 0.00/0.0 horiz -5.59/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.090s   vert 0.00/0.0 horiz -12.17/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.097s   vert 0.00/0.0 horiz -12.67/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.104s   vert 0.00/0.0 horiz -12.67/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.111s   vert 0.00/0.0 horiz -5.10/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.118s   vert 0.00/0.0 horiz -12.67/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.125s   vert 0.00/0.0 horiz -10.86/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.132s   vert 0.00/0.0 horiz -10.20/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.139s   vert 0.00/0.0 horiz -17.11/0.0* (finger)
 event19  POINTER_SCROLL_FINGER   +0.146s   vert 0.00/0.0* horiz 0.00/0.0* (finger)
iberianpig commented 2 years ago

Fusuma doesn't support 2 fingers swipe. This is a restrictions of libinput.

minhduc66532 commented 2 years ago

Oof can confirm I change the history gestures to 3 fingers and it working properly right now. Also is there any way to increase/decrease volume without swiping multiple time ? For example, on Window you can swipe continuously to change the volume accordingly

iberianpig commented 2 years ago

The following config is a part of my ~/.config/fusuma/config.yml.

The three-finger rotate gesture changes the volume; pressing the Shift key decreases the width of the volume change for fine-tuning. Hold down the ALT key while rotating to change the brightness.

see: https://twitter.com/nukumaro22/status/1393232055383691274

# Volume and brightness adjustment by swiping/rotating

rotate:
  3:
    clockwise: # clockwise
      update:
        sendkey: VOLUMEUP # volume up 
        LEFTSHIFT: # hold down Shift
          sendkey: LEFTSHIFT+VOLUMEUP # volume up (slight increase)
        LEFTALT: # Hold down Alt
          sendkey: BRIGHTNESSUP # brightness up
    counterclockwise: # counterclockwise
      update:
        sendkey: VOLUMEDOWN # volume DOWN
        LEFTSHIFT: # Hold down Shift
          sendkey: LEFTSHIFT+VOLUMEDOWN # volume DOWN (slight decrease)
        LEFTALT: # Hold down Alt
          sendkey: BRIGHTNESSDOWN # brightness DOWN
minhduc66532 commented 2 years ago

Brilliant, thanks for sharing