Repository is archived
Low commit activity in last 3 years
There's a lot of open issues
No release in over a year
fusuma-plugin-tap is Fusuma plugin for recognizing multitouch tap.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 2.0
 Project Readme

Fusuma::Plugin::Tap Gem Version Build Status

Tap gestures plugin for Fusuma

  • Add Tap gestures with 1, 2, 3, 4 fingers
  • Add Hold gestures with 1, 2, 3, 4 fingers

Installation

Run the following code in your terminal.

Install fusuma-plugin-tap

$ sudo gem install fusuma-plugin-tap

Add verbose and enable-tap

NOTE: Fusuma require "Tap to click" and "verbose" option to libinput

Open ~/.config/fusuma/config.yml and add the following code at the bottom. If you already have libinput_command_input section, just add enable-tap and verbose: true.

plugin: 
  inputs:
    libinput_command_input:
      enable-tap: true
      verbose: true

Add tap and hold parameter

Set tap: and :hold property and values under gesture in ~/.config/fusuma/config.yml.

tap:
  1:
    command: "echo ----------------tap1----------------------------"
  2:
    command: "echo ----------------tap2----------------------------"
  3:
    command: "echo ----------------tap3----------------------------"
  4:
    command: "echo ----------------tap4----------------------------"

hold:
  1:
    command: "echo ----------------hold1----------------------------"
  2:
    command: "echo ----------------hold2----------------------------"
  3:
    command: "echo ----------------hold3----------------------------"
  4:
    command: "echo ----------------hold4----------------------------"

plugin: 
  inputs:
    libinput_command_input:
      enable-tap: true
      verbose: true

Known issues

  • libinput debug-events --verbose outputs is unstable, so it may not work properly with some versions of libinput.
  • libinput 1.10.4 contains a bug that suddenly stopped detecting taps.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Testing with multiple version of libinput

See: Use latest libinput on fusuma · iberianpig/fusuma Wiki

Install direnv to change the version of libinput from environment variables.

sudo apt install direnv

create .envrc

touch .envrc

modify .envrc

export LIBINPUT_VERSION=1.17.0
export LIBINPUT_REPO=/path/to/git/repository/of/libinput
export LIBINPUT_REPO=/path/to/git/repository/of/libinput

Apply changes .envrc

$ direnv allow

Build libinput

$ make build

Change to pre-built version

  • modify LIBINPUT_VERSION in .envrc
  • check version with $ direnv allow && make version

Generate stub of libinput-debug-events for RSpec

bundle exec bin/libinput_debug_events_generator.rb

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma-plugin-tap. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Fusuma::Plugin::Tap project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.