<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kohei Yamada</title>
    <description>The latest articles on Forem by Kohei Yamada (@iberianpig).</description>
    <link>https://forem.com/iberianpig</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F41674%2F67142263-02db-433a-8970-998f629d65e0.jpeg</url>
      <title>Forem: Kohei Yamada</title>
      <link>https://forem.com/iberianpig</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/iberianpig"/>
    <language>en</language>
    <item>
      <title>Enhance Your Touchpad Experience on Linux with ThumbSense!</title>
      <dc:creator>Kohei Yamada</dc:creator>
      <pubDate>Wed, 27 Sep 2023 13:35:02 +0000</pubDate>
      <link>https://forem.com/iberianpig/enhance-your-touchpad-experience-on-linux-with-thumbsense-391n</link>
      <guid>https://forem.com/iberianpig/enhance-your-touchpad-experience-on-linux-with-thumbsense-391n</guid>
      <description>&lt;p&gt;Hello everyone! 🌟&lt;/p&gt;

&lt;h2&gt;
  
  
  What is ThumbSense?
&lt;/h2&gt;

&lt;p&gt;With ThumbSense, you can use your laptop's touchpad as an additional modifier key.&lt;br&gt;
Assign specific keys as mouse buttons and toggle their functionality based on whether your thumb is touching the touchpad. This feature allows you to keep your hands on the home position of the keyboard.&lt;br&gt;
By turning off the often troublesome "tap to click" feature, you can achieve a more comfortable touchpad experience.&lt;/p&gt;
&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;

&lt;p&gt;Thumbsense is implemented as a plugin of &lt;a href="https://github.com/iberianpig/fusuma" rel="noopener noreferrer"&gt;fusuma&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/iberianpig/fusuma-plugin-thumbsense" rel="noopener noreferrer"&gt;https://github.com/iberianpig/fusuma-plugin-thumbsense&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Key Features:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Seamless integration with the touchpad gesture tool, &lt;a href="https://github.com/iberianpig/fusuma" rel="noopener noreferrer"&gt;Fusuma&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A stable mouse-like experience without moving your hands away from the keyboard.&lt;/li&gt;
&lt;li&gt;Customize key-to-mouse button mappings using YAML.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Installation and setup
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libevdev-dev ruby-dev build-essential

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"'&lt;/span&gt; | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/udev/rules.d/60-udev-fusuma-remap.rules

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;udevadm control &lt;span class="nt"&gt;--reload-rules&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;udevadm trigger

&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;gem &lt;span class="nb"&gt;install &lt;/span&gt;fusuma-plugin-thumbsense
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Customize with yaml
&lt;/h2&gt;

&lt;p&gt;Set the following code in ~/.config/fusuma/config.yml.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;context&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
  &lt;span class="na"&gt;thumbsense&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;

&lt;span class="na"&gt;remap&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;J&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;BTN_LEFT&lt;/span&gt;
  &lt;span class="na"&gt;K&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;BTN_RIGHT&lt;/span&gt;
  &lt;span class="na"&gt;F&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;BTN_LEFT&lt;/span&gt;
  &lt;span class="na"&gt;D&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;BTN_RIGHT&lt;/span&gt;
  &lt;span class="na"&gt;SPACE&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;BTN_LEFT&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.gyazo.com%2Fcf929775aec1e3aefaabb3a6dd15a3ff.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.gyazo.com%2Fcf929775aec1e3aefaabb3a6dd15a3ff.gif" alt="thumbsense" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmi6xpl4hmxjf3a8x7v5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmi6xpl4hmxjf3a8x7v5.gif" alt="Dragging and Swipe gesture with Fusuma" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give it a try and let us know your thoughts! With your feedback and collaboration, let's make touchpad usage more intuitive and efficient!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>touchpad</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Configure application-specific gestures with Fusuma v2!</title>
      <dc:creator>Kohei Yamada</dc:creator>
      <pubDate>Sat, 12 Jun 2021 07:10:49 +0000</pubDate>
      <link>https://forem.com/iberianpig/configure-application-specific-gestures-in-fusuma-v2-43p6</link>
      <guid>https://forem.com/iberianpig/configure-application-specific-gestures-in-fusuma-v2-43p6</guid>
      <description>&lt;p&gt;Starting from this article, I will explain how to configure the new features available in Fusuma v2.&lt;br&gt;
If you haven't updated to Fusuma v2, please refer to the previous article.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/iberianpig" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_PNdtwww--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--fRqOs3wA--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/41674/67142263-02db-433a-8970-998f629d65e0.jpeg" alt="iberianpig"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/iberianpig/fusuma-multi-touch-gesture-for-linux-updated-to-v2-11i0" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Fusuma, multi-touch gestures for Linux, updated to v2!&lt;/h2&gt;
      &lt;h3&gt;Kohei Yamada ・ Jun 9 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#linux&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ubuntu&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ruby&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;So far, Fusuma has only allowed you to set one type of action for a gesture globally.&lt;br&gt;
However, by using the context of Fusuma v2, you will be able to switch Config dynamically.&lt;/p&gt;

&lt;p&gt;In this article, we will install &lt;code&gt;fusuma-plugin-appmatcher&lt;/code&gt; and configure application-specific settings on Fusuma's config.yml.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/iberianpig"&gt;
        iberianpig
      &lt;/a&gt; / &lt;a href="https://github.com/iberianpig/fusuma-plugin-appmatcher"&gt;
        fusuma-plugin-appmatcher
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Fusuma plugin configure app-specific gestures
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1 id="user-content-fusumapluginappmatcher--"&gt;
&lt;a class="heading-link" href="https://github.com/iberianpig/fusuma-plugin-appmatcher#fusumapluginappmatcher--"&gt;Fusuma::Plugin::Appmatcher &lt;/a&gt;&lt;a href="https://badge.fury.io/rb/fusuma-plugin-appmatcher" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/7f18f8d407d458ccfe71500c6b5c233e4c20ac740ab86f6995518407a6c370e2/68747470733a2f2f62616467652e667572792e696f2f72622f667573756d612d706c7567696e2d6170706d6174636865722e737667" alt="Gem Version"&gt;&lt;/a&gt; &lt;a href="https://github.com/iberianpig/fusuma-plugin-appmatcher/actions/workflows/main.yml"&gt;&lt;img src="https://github.com/iberianpig/fusuma-plugin-appmatcher/actions/workflows/main.yml/badge.svg" alt="Build Status"&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/iberianpig/fusuma"&gt;Fusuma&lt;/a&gt; plugin configure app-specific gestures&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Switch gesture mappings by detecting active application.&lt;/li&gt;
&lt;li&gt;Support X11, Ubuntu-Wayland&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="user-content-installation"&gt;&lt;a class="heading-link" href="https://github.com/iberianpig/fusuma-plugin-appmatcher#installation"&gt;Installation&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Run the following code in your terminal.&lt;/p&gt;
&lt;h3 id="user-content-install-fusuma-plugin-appmatcher"&gt;&lt;a class="heading-link" href="https://github.com/iberianpig/fusuma-plugin-appmatcher#install-fusuma-plugin-appmatcher"&gt;Install fusuma-plugin-appmatcher&lt;/a&gt;&lt;/h3&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;$ sudo gem install fusuma-plugin-appmatcher
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id="user-content-install-appmatcher-gnome-shell-extensions-on-wayland"&gt;&lt;a class="heading-link" href="https://github.com/iberianpig/fusuma-plugin-appmatcher#install-appmatcher-gnome-shell-extensions-on-wayland"&gt;Install Appmatcher GNOME Shell Extensions on Wayland&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Gnome Wayland version 41 and later does not allow to access information about window or application like focused app
So fusuma-plugin-appmatcher solves this problem via Appmatcher gnome-extension.&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;$ fusuma-appmatcher --install-gnome-extension
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Restart your session(logout/login), then activate Appmatcher on gnome-extensions-app&lt;/p&gt;
&lt;h2 id="user-content-list-running-application-names"&gt;&lt;a class="heading-link" href="https://github.com/iberianpig/fusuma-plugin-appmatcher#list-running-application-names"&gt;List Running Application names&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;$ fusuma-appmatcher -l&lt;/code&gt; prints Running Application names.&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;$ fusuma-appmatcher -l
Slack
Google-chrome
Alacritty
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;You can use these applicatin name to under &lt;code&gt;application:&lt;/code&gt; context in config.yml&lt;/p&gt;
&lt;h2 id="user-content-add-appmatcher-properties-and-application-names-to-configyml"&gt;&lt;a class="heading-link" href="https://github.com/iberianpig/fusuma-plugin-appmatcher#add-appmatcher-properties-and-application-names-to-configyml"&gt;Add appmatcher properties and application names to config.yml&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add the &lt;code&gt;---&lt;/code&gt; symbol to separate the context in config.yml.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add &lt;code&gt;context:&lt;/code&gt; property in &lt;code&gt;~/.config/fusuma/config.yml&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Under the &lt;code&gt;context:&lt;/code&gt; property, you can set the &lt;code&gt;application: APP_NAME&lt;/code&gt; as a value.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;In this context, you can configure mappings to…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/iberianpig/fusuma-plugin-appmatcher"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Install fusuma-plugin-appmatcher
&lt;/h2&gt;

&lt;p&gt;Run the following command in a terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo gem install fusuma-plugin-appmatcher
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  How to configure fusuma-plugin-appmather
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Get the application name to use in the configuration.
&lt;/h3&gt;

&lt;p&gt;To get application name (WM_CLASS) to specify in config.yml, use &lt;code&gt;$ fusuma-appmatcher -l&lt;/code&gt;.&lt;br&gt;
Without &lt;code&gt;-l&lt;/code&gt; option, only foreground application names are retrieved.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;fusuma-appmatcher &lt;span class="nt"&gt;-l&lt;/span&gt;
discord
Slack
Gnome-terminal
Google-chrome
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Set &lt;code&gt;context: WM_CLASS&lt;/code&gt; in config.yml.
&lt;/h3&gt;

&lt;p&gt;To add to the existing config.yml. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;add &lt;code&gt;---&lt;/code&gt; to the bottom of &lt;code&gt;~/.config/fusuma/config.yml&lt;/code&gt; to separate &lt;code&gt;context&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;add &lt;code&gt;context: { application: Google-chrome }&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;add &lt;code&gt;swipe: ...  ...&lt;/code&gt; and describe the gestures as usual.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the following example, 4-finger gesture is the default setting, and 3-finger swipe gesture is assigned with different behaviors for Google Chrome and Gnome Terminal.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;



&lt;p&gt;This example uses &lt;a href="https://github.com/iberianpig/fusuma-plugin-wmctrl"&gt;fusuma-plugin-wmctrl&lt;/a&gt; , &lt;a href="https://github.com/iberianpig/fusuma-plugin-sendkey"&gt;fusuma-plugin-sendkey&lt;/a&gt; and &lt;a href="https://github.com/iberianpig/fusuma-plugin-keypress"&gt;fusuma-plugin-keypress&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;When I try swiping up three fingers on Google Chrome and Gnome Terminal respectively, both tabs open.&lt;br&gt;
I was able to assign different keys to them: &lt;code&gt;LEFTCTRL+T&lt;/code&gt; for Google Chrome and &lt;code&gt;LEFTSHIFT+LEFTCTRL+T&lt;/code&gt; for Gnome Terminal.&lt;/p&gt;
&lt;h2&gt;
  
  
  Concept of Context in Fusuma v2
&lt;/h2&gt;

&lt;p&gt;Actually, Fusuma runs as an event-driven application.&lt;/p&gt;

&lt;p&gt;When a user touches the trackpad, some touch events will be sent to Fusuma. Fusuma will calculate the events and if they exceed the threshold, it will pass them to the executor plugin as swipe events and execute the action associated with the event content from config.yml.&lt;/p&gt;

&lt;p&gt;Fusuma will search the config.yml for actions that match the event, but when a context event is issued, Fusuma will search the config for actions that match that context.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fusuma v2 can accept YAML documents containing &lt;code&gt;---&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;You can create a context by separating the config.yml with three &lt;code&gt;---&lt;/code&gt; hyphens.&lt;/li&gt;
&lt;li&gt;The first document delimited by &lt;code&gt;---&lt;/code&gt; is treated as the default configuration.&lt;/li&gt;
&lt;li&gt;By the way, &lt;code&gt;---&lt;/code&gt; is a standard YAML syntax that allows multiple documents to be described in one file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Under &lt;code&gt;context:&lt;/code&gt; is the event-name of the context and its value.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;context&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;event-name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;value&lt;/span&gt;

&lt;span class="na"&gt;swipe&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;sendkey&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;LEFTALT+RIGHT'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Currently, context events can only be fired by the fusuma-plugin-appmatcher plugin.&lt;/p&gt;

&lt;p&gt;In the future, we plan to support context events from tail or external commands by generalizing the events.&lt;br&gt;
For example, a user can define a config that is valid only when a specific device is connected.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>ruby</category>
    </item>
    <item>
      <title>Fusuma, multi-touch gestures for Linux, updated to v2!</title>
      <dc:creator>Kohei Yamada</dc:creator>
      <pubDate>Wed, 09 Jun 2021 17:45:20 +0000</pubDate>
      <link>https://forem.com/iberianpig/fusuma-multi-touch-gesture-for-linux-updated-to-v2-11i0</link>
      <guid>https://forem.com/iberianpig/fusuma-multi-touch-gesture-for-linux-updated-to-v2-11i0</guid>
      <description>&lt;h2&gt;
  
  
  Fusuma v2 is released! 🎉
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/iberianpig" rel="noopener noreferrer"&gt;
        iberianpig
      &lt;/a&gt; / &lt;a href="https://github.com/iberianpig/fusuma" rel="noopener noreferrer"&gt;
        fusuma
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Multitouch gestures with libinput driver on Linux
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Fusuma&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/90351f888eb41c389406181ff46660c84cce9088a66375deb91cb3c5edb0cd83/68747470733a2f2f696d672e736869656c64732e696f2f67656d2f762f667573756d613f636f6c6f723d627269676874677265656e"&gt;&lt;img src="https://camo.githubusercontent.com/90351f888eb41c389406181ff46660c84cce9088a66375deb91cb3c5edb0cd83/68747470733a2f2f696d672e736869656c64732e696f2f67656d2f762f667573756d613f636f6c6f723d627269676874677265656e" alt="Gem"&gt;&lt;/a&gt; &lt;a href="https://github.com/iberianpig/fusuma/actions/workflows/main.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/iberianpig/fusuma/actions/workflows/main.yml/badge.svg" alt="Build Status"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fusuma is multitouch gesture recognizer
This gem makes your linux able to recognize swipes or pinchs and assign commands to them.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://repository-images.githubusercontent.com/69813387/60879a00-166c-11ea-9875-3bf0818c62ec"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Frepository-images.githubusercontent.com%2F69813387%2F60879a00-166c-11ea-9875-3bf0818c62ec" alt="fusuma_image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;襖(Fusuma) means sliding door used to partition off rooms in a Japanese house.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Easy installation with RubyGems&lt;/li&gt;
&lt;li&gt;Define gestures and actions in YAML format&lt;/li&gt;
&lt;li&gt;Sensitivity settings (threshold, interval) for gesture recognition&lt;/li&gt;
&lt;li&gt;Automatic addition of external touchpads&lt;/li&gt;
&lt;li&gt;Feature extension via a &lt;a href="https://github.com/iberianpig/fusuma/#fusuma-plugins" rel="noopener noreferrer"&gt;plugin system&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Grant permission to read the touchpad device&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;IMPORTANT&lt;/strong&gt;: You &lt;strong&gt;MUST&lt;/strong&gt; be a member of the &lt;strong&gt;INPUT&lt;/strong&gt; group to read touchpad by Fusuma.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;sudo gpasswd -a &lt;span class="pl-smi"&gt;$USER&lt;/span&gt; input&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Then, You apply the change with no logout or reboot.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;newgrp input&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;IMPORTANT&lt;/strong&gt;: This makes &lt;code&gt;/dev/input/&lt;/code&gt; readable, so if that's an issue for you for some reason (like for privacy- or securityconcerns etc. or if it causes other parts of your OS to misbehave), &lt;strong&gt;consider this your heads-up.&lt;/strong&gt;&lt;/p&gt;

For Debian Based Distros (Ubuntu, Debian, Mint,…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/iberianpig/fusuma" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;There are a lot of updates in Fusuma v2.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance improvements with multiprocessing and IO multiplexing.&lt;/li&gt;
&lt;li&gt;Real-time continuation gestures&lt;/li&gt;
&lt;li&gt;Contextual switching of gesture settings
and other enhancements!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Update Fusuma
&lt;/h2&gt;

&lt;p&gt;You can update Fusuma with the gem command.&lt;br&gt;
No need to use &lt;code&gt;sudo&lt;/code&gt; if you haven't installed it using system-wide Ruby.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;gem update fusuma
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If you have any installed Fusuma plugins, update them all.&lt;/p&gt;
&lt;h3&gt;
  
  
  List fusuma plugins
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;gem list fusuma-plugin-
fusuma-plugin-keypress &lt;span class="o"&gt;(&lt;/span&gt;0.4.1&lt;span class="o"&gt;)&lt;/span&gt;
fusuma-plugin-sendkey &lt;span class="o"&gt;(&lt;/span&gt;0.6.2&lt;span class="o"&gt;)&lt;/span&gt;
fusuma-plugin-wmctrl &lt;span class="o"&gt;(&lt;/span&gt;0.4.3&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Update fusuma plugins
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;gem update fusuma-plugin-sendkey fusuma-plugin-wmctrl fusuma-plugin-keypress
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  More powerful tweaks with Fusuma v2!🦾
&lt;/h2&gt;

&lt;p&gt;Some useful features have been available using the v2 API.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App-specific gesture settings (&lt;a href="https://github.com/iberianpig/fusuma-plugin-appmatcher" rel="noopener noreferrer"&gt;iberianpig/fusuma-plugin-appmatcher&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Mac OS style three-finger drag&lt;/li&gt;
&lt;li&gt;Windows-style 3-finger swipe to switch windows&lt;/li&gt;
&lt;li&gt;Swipe/rotate to adjust volume and change brightness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will write a series of articles about these configuration details.&lt;/p&gt;

&lt;p&gt;↓ BTW, I realized that three-finger drag was really useful after I implemented it.&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1364924640125014021-803" src="https://platform.twitter.com/embed/Tweet.html?id=1364924640125014021"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1364924640125014021-803');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1364924640125014021&amp;amp;theme=dark"
  }



&lt;/p&gt;
&lt;h2&gt;
  
  
  Watch Fusuma Wiki🤓
&lt;/h2&gt;

&lt;p&gt;Some configs have already been added to the &lt;a href="https://github.com/iberianpig/fusuma/wiki" rel="noopener noreferrer"&gt;fusuma Wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Anyone can edit this Fusuma Wiki.&lt;br&gt;
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.&lt;/p&gt;
&lt;h2&gt;
  
  
  Next Articles
&lt;/h2&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/iberianpig" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F41674%2F67142263-02db-433a-8970-998f629d65e0.jpeg" alt="iberianpig"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/iberianpig/configure-application-specific-gestures-in-fusuma-v2-43p6" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Configure application-specific gestures with Fusuma v2!&lt;/h2&gt;
      &lt;h3&gt;Kohei Yamada ・ Jun 12 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#linux&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ubuntu&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ruby&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>ruby</category>
    </item>
    <item>
      <title>How to customize touchpad gestures on Linux using Fusuma</title>
      <dc:creator>Kohei Yamada</dc:creator>
      <pubDate>Fri, 05 Apr 2019 17:25:09 +0000</pubDate>
      <link>https://forem.com/iberianpig/how-to-install-and-customize-fusuma-73l</link>
      <guid>https://forem.com/iberianpig/how-to-install-and-customize-fusuma-73l</guid>
      <description>&lt;p&gt;I published "Fusuma" to RubyGems that recognize swipe or pinch gesture on Linux touchpad.&lt;br&gt;
&lt;a href="https://github.com/iberianpig/fusuma"&gt;https://github.com/iberianpig/fusuma&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can add touchpad gestures to run commands or common tasks, such as changing workspaces, back or forward on a browser, etc.&lt;/p&gt;

&lt;p&gt;This my first post is how to use and customize Fusuma.&lt;/p&gt;
&lt;h1&gt;
  
  
  Install Fusuma
&lt;/h1&gt;

&lt;p&gt;If you use Debian-based OS (using apt for package management), you can use the following commands like "apt install" as they are.&lt;/p&gt;

&lt;p&gt;I'm using fusuma on elementary OS Loki on Dell XPS 13(9360).&lt;/p&gt;

&lt;p&gt;You can use libinput that depends on Fusuma for Ubuntu 15.04 and above, but you should try xswipe to use the Synaptics driver for older versions' Ubuntu.&lt;/p&gt;
&lt;h2&gt;
  
  
  Confirm installed Ruby version
&lt;/h2&gt;

&lt;p&gt;Please confirm at first whether you have ruby installed.&lt;/p&gt;

&lt;p&gt;You can use the fusuma with Ruby it installed in System Wide.&lt;/p&gt;

&lt;p&gt;(Of course, even rbenv and rvm is OK)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ruby -v

ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
# confirm the version of ruby installed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install dependent packages
&lt;/h2&gt;

&lt;p&gt;Install &lt;code&gt;libinput-tools&lt;/code&gt; for reading touchpad input.&lt;/p&gt;

&lt;p&gt;(Fusuma use the output of debug logs by &lt;code&gt;libinput debug-events&lt;/code&gt; in itself)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;libinput-tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also install &lt;code&gt;xdotool&lt;/code&gt; so that fusuma trigger shortcuts such as &lt;code&gt;Alt + Left&lt;/code&gt;, &lt;code&gt;Alt + Right&lt;/code&gt; and so on.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;xdotool
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install Fusuma From RubyGems
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;gem i fusuma
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;i&lt;/code&gt; is an abbreviation for &lt;code&gt;install&lt;/code&gt;. If you want to install the fusuma to Ruby in System-Wide is required &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;(If you use the Ruby you have installed via rbenv and rvm, you can install with &lt;code&gt;$ gem install fusuma&lt;/code&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Create configurations file for Fusuma
&lt;/h2&gt;

&lt;p&gt;Create a configurations file to &lt;code&gt;~/.config/fusuma/config.yml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.config/fusuma
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;touch&lt;/span&gt; ~/.config/fusuma/config.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;~/.config/fusuma/config.yml&lt;/code&gt; in editor, then paste following content.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;swipe&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;left&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;xdotool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;alt+Right'&lt;/span&gt;
    &lt;span class="na"&gt;right&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;xdotool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;alt+Left'&lt;/span&gt;
    &lt;span class="na"&gt;up&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;xdotool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;ctrl+t'&lt;/span&gt;
    &lt;span class="na"&gt;down&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;xdotool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;ctrl+w'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above example is registering the shortcut of the browser by three fingers' swipe.&lt;br&gt;
(Back / Forward / Create Tab / Close Tab)&lt;/p&gt;
&lt;h2&gt;
  
  
  Add the user to input groups
&lt;/h2&gt;

&lt;p&gt;To execute Fusuma, it needs to give permission to read to the input of touchpad to the user.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo gpasswd -a $USER input
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;gpasswd&lt;/code&gt; command adds the user to the input group.&lt;br&gt;
(&lt;code&gt;$ USER&lt;/code&gt; is the username at runtime)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Need to log out and log in (or restart) from X&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fusuma cannot recognize the touchpad without this process.&lt;br&gt;
Because it must be reflected to add the user in the input group.&lt;/p&gt;
&lt;h1&gt;
  
  
  Launch Fusuma
&lt;/h1&gt;

&lt;p&gt;Open terminal, and type Fusuma and endter.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;fusuma
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's OK if all actions are worked (Back / Forward / Create Tab / Close Tab)  when you swipe with Three-finger on the browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep running in the background when the terminal is closed
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;fusuma &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This &lt;code&gt;-d&lt;/code&gt; option is running as Unix demon, it disconnects from the terminal process.&lt;br&gt;
So &lt;code&gt;fusuma&lt;/code&gt; is available even after closing terminal.&lt;/p&gt;
&lt;h1&gt;
  
  
  Configure commands to be assigned gesture
&lt;/h1&gt;

&lt;p&gt;Add recognition gestures and assigns commands to it in &lt;code&gt;~/.config/fusuma/config.yml&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Confirm command to run in terminal
&lt;/h2&gt;

&lt;p&gt;To switch the workspace, you can set &lt;code&gt;xdotool key ctrl + alt + Up&lt;/code&gt; or&lt;code&gt;xdotool key ctrl + alt + Down&lt;/code&gt; &lt;br&gt;
I recommend that you try such commands to work properly on the terminal. &lt;/p&gt;

&lt;p&gt;Shortcuts for workspace depend on the WindowManager in this example. (Gnome 3 moves up and down with &lt;code&gt;xdotool key ctrl + alt + Up&lt;/code&gt; and&lt;code&gt;xdotool key ctrl + alt + Down&lt;/code&gt;)&lt;/p&gt;
&lt;h2&gt;
  
  
  Switch the workspace in the four fingers' swipe
&lt;/h2&gt;

&lt;p&gt;Paste the following at the bottom of the &lt;code&gt;swipe&lt;/code&gt; section&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;  &lt;span class="na"&gt;4&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;up&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
      &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;xdotool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;ctrl+alt+Down'&lt;/span&gt;
    &lt;span class="na"&gt;down&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
      &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;xdotool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;ctrl+alt+Up'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you rewrite the config file, you must do re-run &lt;code&gt;fusuma&lt;/code&gt; command after it stops with &lt;code&gt;Ctrl-c&lt;/code&gt; or &lt;code&gt;kill&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;If you can confirm the operation of the customized four-finger swipe, it is OK.&lt;/p&gt;

&lt;h1&gt;
  
  
  Autostart setting of Fusuma
&lt;/h1&gt;

&lt;p&gt;Set fusuma to start automatically, because it is troublesome to open the terminal and execute Fusuma command with every restarts your laptop.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Enter the &lt;code&gt;which fusuma&lt;/code&gt; in the terminal, to note the path to launch Fusuma&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Start &lt;code&gt;gnome-session-properties&lt;/code&gt;, enter the launch path noted the previous step by adding the &lt;code&gt;-d&lt;/code&gt; options (daemonize) at the end.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Update Fusuma
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;gem update fusuma
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(If you have installed fusuma with Ruby on rbenv or rvm, you can update with &lt;code&gt;$ gem update fusuma&lt;/code&gt;)&lt;/p&gt;

&lt;h1&gt;
  
  
  Other customizations
&lt;/h1&gt;

&lt;p&gt;In &lt;code&gt;~/.config/fusuma/config.yml&lt;/code&gt;, you can set Pinch Zoom (&lt;code&gt;pinch in&lt;/code&gt; / &lt;code&gt;pinch out&lt;/code&gt;) and Sensitivity for each gesture(&lt;code&gt;threshold&lt;/code&gt;).&lt;br&gt;
It is also possible to set gestures that pinch in continuity.&lt;/p&gt;

&lt;p&gt;See &lt;a href="https://github.com/iberianpig/fusuma/blob/master/README.md"&gt;Fusuma repository README&lt;/a&gt; for more information.&lt;/p&gt;

&lt;h1&gt;
  
  
  When finding a bug
&lt;/h1&gt;

&lt;p&gt;If you find any bug or issue, please register the issue to &lt;a href="https://github.com/iberianpig/fusuma/issues"&gt;Github Issue&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Donation
&lt;/h1&gt;

&lt;p&gt;Do you want to support Fusuma? Check out the fully optional donation option, a way to support Fusuma's ongoing development directly: &lt;a href="https://github.com/sponsors/iberianpig"&gt;https://github.com/sponsors/iberianpig&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>ruby</category>
    </item>
  </channel>
</rss>
