DEV Community

loading...
Cover image for Fusuma, multi-touch gestures for Linux, updated to v2!

Fusuma, multi-touch gestures for Linux, updated to v2!

Kohei Yamada
Freelance engineer working in JapanπŸ—Ύ I specialize in developing software with Ruby. I can build applications with Ruby on Rails or SPA using the front-end frameworks.
・Updated on ・1 min read

Fusuma v2 is released! πŸŽ‰

GitHub logo iberianpig / fusuma

Multitouch gestures with libinput driver on Linux

Fusuma Gem Version Build Status Coverage Status Inline docs

Fusuma is multitouch gesture recognizer This gem makes your linux able to recognize swipes or pinchs and assign commands to them.

fusuma_image

θ₯–(Fusuma) means sliding door used to partition off rooms in a Japanese house.

Features

  • Easy installation with RubyGems
  • Defining Gestures and Actions in YAML
  • Sensitivity setting (threshold, interval) for gesture recognition
  • Automatic device addition for reconnecting external touchpads
  • Extension of gesture recognition by plugin system

Installation

Grant permission to read the touchpad device

IMPORTANT: You MUST be a member of the INPUT group to read touchpad by Fusuma.

$ sudo gpasswd -a $USER input
Enter fullscreen mode Exit fullscreen mode

Then, You apply the change with no logout or reboot.

$ newgrp input
Enter fullscreen mode Exit fullscreen mode

For Debian Based Distros (Ubuntu, Debian, Mint, Pop!OS)

1. Install libinput-tools

You need libinput release 1.0 or later.

$ sudo apt-get install libinput-tools
Enter fullscreen mode Exit fullscreen mode

2. Install Ruby

Fusuma runs in Ruby, so you must install it first.

$ sudo apt-get install
…
Enter fullscreen mode Exit fullscreen mode

There are a lot of updates in Fusuma v2.

  • Performance improvements with multiprocessing and IO multiplexing.
  • Real-time continuation gestures
  • Contextual switching of gesture settings and other enhancements!

Update Fusuma

You can update Fusuma with the gem command.
No need to use sudo if you haven't installed it using system-wide Ruby.

$ sudo gem update fusuma
Enter fullscreen mode Exit fullscreen mode

If you have any installed Fusuma plugins, update them all.

List fusuma plugins

$ sudo gem list fusuma-plugin-
fusuma-plugin-keypress (0.4.1)
fusuma-plugin-sendkey (0.6.2)
fusuma-plugin-wmctrl (0.4.3)
Enter fullscreen mode Exit fullscreen mode

Update fusuma plugins

$ sudo gem update fusuma-plugin-sendkey fusuma-plugin-wmctrl fusuma-plugin-keypress
Enter fullscreen mode Exit fullscreen mode

More powerful tweaks with Fusuma v2!🦾

Some useful features have been available using the v2 API.

  • App-specific gesture settings (iberianpig/fusuma-plugin-appmatcher)
  • Mac OS style three-finger drag
  • Windows-style 3-finger swipe to switch windows
  • Swipe/rotate to adjust volume and change brightness.

I will write a series of articles about these configuration details.

↓ BTW, I realized that three-finger drag was really useful after I implemented it.

Watch Fusuma WikiπŸ€“

Some configs have already been added to the fusuma Wiki.

Anyone can edit this Fusuma Wiki.
It also contains settings for various distributions or WM(Ubuntu, Linux Mint, Pop!_OS, KDE, i3...). If you find any valuable configurations, please share them on Fusuma Wiki. I look forward to seeing new tips.

Next Articles

Discussion (0)