๐ป I'm making Fusuma, a multi-touch gestures software for Linux written in Ruby.
๐พ I work as a freelance engineer in Japan.
- LinkedIn(https://www.linkedin.com/in/kohei-yamada-63b9b173)
- Twitter(https://twitter.com/nukumaro22)
Tap and Hold gestures plugin for Fusuma
License: MIT License
๐ป I'm making Fusuma, a multi-touch gestures software for Linux written in Ruby.
๐พ I work as a freelance engineer in Japan.
Hi,
Thank you for the plugin. When I tap noting happens, the fusuma app doesn't print anything. It does print whenever I swipe.
I have fusuma (1.11.1) and fusuma-plugin-tap (0.3.2) according to "gem list".
This is the config file (renamed to txt).
Here is what fusuma prints when I start it:
`/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/oper
ating_system.rb:29: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:30: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
I, [2020-11-04T13:26:02.830269 #28481] INFO -- : reload config: /home/user/.config/fusuma/config.yml
/usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated
NOTE: Gem::Specification#rubyforge_project= is deprecated with no replacement. It will be removed on or after 2019-12-01.
Gem::Specification#rubyforge_project= called from /home/user/gems/specifications/em-websocket-0.5.1.gemspec:15.
I, [2020-11-04T13:26:02.870278 #28481] INFO -- : ---------------------------------------------
I, [2020-11-04T13:26:02.870346 #28481] INFO -- : Fusuma: 1.11.1
I, [2020-11-04T13:26:02.872151 #28481] INFO -- : libinput: 1.6.3
I, [2020-11-04T13:26:02.872991 #28481] INFO -- : OS: Linux 4.15.0-122-generic #124~16.04.1-Ubuntu SMP Thu Oct 15 16:08:36 UTC 2020
I, [2020-11-04T13:26:02.873816 #28481] INFO -- : Distribution: Ubuntu 16.04.4 LTS \n \l
I, [2020-11-04T13:26:02.874599 #28481] INFO -- : Desktop session: ubuntu x11
I, [2020-11-04T13:26:02.874637 #28481] INFO -- : ---------------------------------------------
I, [2020-11-04T13:26:02.874666 #28481] INFO -- : Enabled Plugins:
I, [2020-11-04T13:26:02.874752 #28481] INFO -- : Fusuma::Plugin::Buffers::GestureBuffer
I, [2020-11-04T13:26:02.874775 #28481] INFO -- : Fusuma::Plugin::Buffers::TapBuffer
I, [2020-11-04T13:26:02.874800 #28481] INFO -- : Fusuma::Plugin::Detectors::PinchDetector
I, [2020-11-04T13:26:02.874808 #28481] INFO -- : Fusuma::Plugin::Detectors::RotateDetector
I, [2020-11-04T13:26:02.874815 #28481] INFO -- : Fusuma::Plugin::Detectors::SwipeDetector
I, [2020-11-04T13:26:02.874823 #28481] INFO -- : Fusuma::Plugin::Detectors::TapDetector
I, [2020-11-04T13:26:02.874830 #28481] INFO -- : Fusuma::Plugin::Events::Records::GestureRecord
I, [2020-11-04T13:26:02.874850 #28481] INFO -- : Fusuma::Plugin::Events::Records::IndexRecord
I, [2020-11-04T13:26:02.874857 #28481] INFO -- : Fusuma::Plugin::Events::Records::TextRecord
I, [2020-11-04T13:26:02.874863 #28481] INFO -- : Fusuma::Plugin::Executors::CommandExecutor
I, [2020-11-04T13:26:02.874870 #28481] INFO -- : Fusuma::Plugin::Filters::LibinputDeviceFilter
I, [2020-11-04T13:26:02.874877 #28481] INFO -- : Fusuma::Plugin::Filters::LibinputTimeoutFilter
I, [2020-11-04T13:26:02.874884 #28481] INFO -- : Fusuma::Plugin::Inputs::LibinputCommandInput
I, [2020-11-04T13:26:02.874891 #28481] INFO -- : Fusuma::Plugin::Parsers::LibinputGestureParser
I, [2020-11-04T13:26:02.874916 #28481] INFO -- : Fusuma::Plugin::Parsers::TapParser
I, [2020-11-04T13:26:02.874924 #28481] INFO -- : ---------------------------------------------
`
ref: #8 (comment)
Hold should be recognized by using the amount of gesture or pointer movement.
Especially when operating with both hands, hold
is triggered by false detection when tapping -> moving or clicking -> dragging.
On my kubuntu 20.04 machine lenovo c940 I cannot make the tap 4 gesture work.
while the message is correctly displayed in the console for tap 3 gesture, it doesn't happen for tap 4.
this is my config.yml
I tried following the instructions but I couldn't get it to work, I need the "fusuma-sendkey" because I'm running Wayland.
Hi,
I've been looking through the documentation and examples, and I can't find anything for a hold and click option, or a multi click option.
I'm trying to set this up so I can click on the touchpad with 2,3,4 fingers and have certain actions be completed. Is there anyway to do this? I know the OS can differentiate between the tap and the click. Not sure if there is a way to get this to do it.
How to configure this feature, which command to use instead of
"echo------------------tap3----------------------------"
and
"echo ----------------hold3----------------------------"
I am having an issue where I have 4 finger tap configured to maximize/restore the current window but sometimes a 3 finger tap registers as a 4 finger tap.
I think I narrowed the specific condition under which this occurs. If I perform a 3 finger tap and my fingers slide just a small amount in any direction it seems to register it as a 4 finger tap instead.
I tried to change the threshold parameter to see if it made any difference, but no luck.
I am using is an xps 15 9560 with libinput drivers.
I am using Pop OS 20.04 LTS with 5.4.0-7634 kernel.
I attached the config.yml file I am using as a text file.
config.txt
Hello,
I'm having some trouble getting 4 finger tap or hold to be recognised with this plugin. With normal fusuma 4 finger swipes are detected however a tap is not registered nor is a hold, plugin works excellently with anything up to 3 fingers.
Libinput version: 1.15.5
Distro: Manjaro 19.0.1
DE: KDE 5.18.4
Kernel: 5.4.35
Laptop Maker/Model: Lenovo 720s-14IKB (81BD)
Please let me know if you need any more info.
When I use this code:
tap:
3:
sendkey: "LEFTCTRL+ENTER" # Open anything in new background tab
keypress:
LEFTCTRL:
sendkey: "LEFTCTRL+LEFTSHIFT+ENTER" # Open anything in new foreground tab
It can open in a new tab just right, but it open two tabs instead of one. I tried it in Firefox and Dolphin.
Is the tap registered as double tap? Can this issue be fixed? Thanks ๐
Distribution: Manjaro 20.2 Nibia, Wayland, Gnome.
my config;
swipe:
3:
left:
sendkey: "LEFTALT+RIGHT" # history back
keypress:
LEFTCTRL:
sendkey: "PREVIOUSSONG"
# LEFTMETA+LEFTALT:
# sendkey: 'BRIGHTNESSDOWN'
right:
sendkey: "LEFTALT+LEFT" # history forward
keypress:
LEFTCTRL:
sendkey: "NEXTSONG"
# LEFTMETA+LEFTALT:
# sendkey: 'xdotool key --clearmodifiers XF86AudioLowerVolume'
up:
sendkey: "LEFTMETA" # Overview
keypress:
LEFTCTRL:
sendkey: "LEFTCTRL+K" # open new tab
LEFTCTRL+LEFTALT:
sendkey: 'BRIGHTNESSUP'
down:
sendkey: "LEFTMETA" # Overview
keypress:
LEFTCTRL:
sendkey: "LEFTCTRL+COMMA" # close tab
LEFTCTRL+LEFTALT:
sendkey: 'BRIGHTNESSDOWN'
4:
left:
sendkey: "VOLUMEDOWN"
right:
sendkey: "VOLUMEUP"
# up:
# sendkey: "xdotool key ctrl+alt+Down" # Switch to next workspace
# down:
# sendkey: "xdotool key ctrl+alt+Up" # Switch to previous workspace
pinch:
in:
sendkey: "ZOOMOUT" # Zoom in
out:
sendkey: "ZOOMIN" # Zoom out
threshold:
pinch: 0.4
swipe: 0.2
interval:
swipe: 0.8
pinch: 0.5
tap: 0.2
tap:
1:
sendkey: "echo ----------------tap1----------------------------"
# 2:
# sendkey: "echo ----------------tap2----------------------------"
# 3:
# sendkey: "echo ----------------tap3----------------------------"
# 4:
# sendkey: "PLAYPAUSE"
hold:
# 1:
# command: "echo ----------------hold1----------------------------"
# 2:
# command: "echo ----------------hold2----------------------------"
# 3:
# command: "echo ----------------hold3----------------------------"
4:
sendkey: "PLAYPAUSE"
plugin:
inputs:
libinput_command_input:
enable-tap: true
verbose: true
show-keycodes: true
Details of fusuma
๏ ๎ฐ ๏ ~ ๎ฐ fusuma ๎ฒ โ
I, [2021-03-21T05:46:22.426018 #81200] INFO -- : reload config: /home/hritwik/.config/fusuma/config.yml
I, [2021-03-21T05:46:22.474143 #81200] INFO -- : ---------------------------------------------
I, [2021-03-21T05:46:22.474180 #81200] INFO -- : Fusuma: 1.11.1
I, [2021-03-21T05:46:22.475746 #81200] INFO -- : libinput: 1.17.0
I, [2021-03-21T05:46:22.476284 #81200] INFO -- : OS: Linux 5.11.6-1-MANJARO #1 SMP PREEMPT Thu Mar 11 19:05:51 UTC 2021
I, [2021-03-21T05:46:22.476807 #81200] INFO -- : Distribution: Manjaro Linux \r (\n) (\l)
I, [2021-03-21T05:46:22.479360 #81200] INFO -- : Desktop session: gnome wayland
I, [2021-03-21T05:46:22.479387 #81200] INFO -- : ---------------------------------------------
I, [2021-03-21T05:46:22.479399 #81200] INFO -- : Enabled Plugins:
I, [2021-03-21T05:46:22.479460 #81200] INFO -- : Fusuma::Plugin::Buffers::GestureBuffer
I, [2021-03-21T05:46:22.479473 #81200] INFO -- : Fusuma::Plugin::Buffers::KeypressBuffer
I, [2021-03-21T05:46:22.479482 #81200] INFO -- : Fusuma::Plugin::Buffers::TapBuffer
I, [2021-03-21T05:46:22.479490 #81200] INFO -- : Fusuma::Plugin::Detectors::KeypressDetector
I, [2021-03-21T05:46:22.479498 #81200] INFO -- : Fusuma::Plugin::Detectors::PinchDetector
I, [2021-03-21T05:46:22.479506 #81200] INFO -- : Fusuma::Plugin::Detectors::RotateDetector
I, [2021-03-21T05:46:22.479513 #81200] INFO -- : Fusuma::Plugin::Detectors::SwipeDetector
I, [2021-03-21T05:46:22.479524 #81200] INFO -- : Fusuma::Plugin::Detectors::TapDetector
I, [2021-03-21T05:46:22.479536 #81200] INFO -- : Fusuma::Plugin::Events::Records::GestureRecord
I, [2021-03-21T05:46:22.479544 #81200] INFO -- : Fusuma::Plugin::Events::Records::IndexRecord
I, [2021-03-21T05:46:22.479552 #81200] INFO -- : Fusuma::Plugin::Events::Records::KeypressRecord
I, [2021-03-21T05:46:22.479560 #81200] INFO -- : Fusuma::Plugin::Events::Records::TextRecord
I, [2021-03-21T05:46:22.479568 #81200] INFO -- : Fusuma::Plugin::Executors::CommandExecutor
I, [2021-03-21T05:46:22.479576 #81200] INFO -- : Fusuma::Plugin::Executors::SendkeyExecutor
I, [2021-03-21T05:46:22.479585 #81200] INFO -- : Fusuma::Plugin::Executors::WmctrlExecutor
I, [2021-03-21T05:46:22.479594 #81200] INFO -- : Fusuma::Plugin::Filters::KeypressFilter
I, [2021-03-21T05:46:22.479603 #81200] INFO -- : Fusuma::Plugin::Filters::LibinputDeviceFilter
I, [2021-03-21T05:46:22.479611 #81200] INFO -- : Fusuma::Plugin::Filters::LibinputTimeoutFilter
I, [2021-03-21T05:46:22.479620 #81200] INFO -- : Fusuma::Plugin::Inputs::LibinputCommandInput
I, [2021-03-21T05:46:22.479629 #81200] INFO -- : Fusuma::Plugin::Parsers::KeypressParser
I, [2021-03-21T05:46:22.479638 #81200] INFO -- : Fusuma::Plugin::Parsers::LibinputGestureParser
I, [2021-03-21T05:46:22.479647 #81200] INFO -- : Fusuma::Plugin::Parsers::TapParser
I, [2021-03-21T05:46:22.479657 #81200] INFO -- : ---------------------------------------------
Nothing happens when i tap with 1 finger or hold with 4 finger. I cant debug it since i dont see any log messages.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.