GithubHelp home page GithubHelp logo

mahdit83 / linux-touch-gestures Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coder-hugo/linux-touch-gestures

0.0 2.0 0.0 340 KB

An utility that converts mulit-touch gestures to configuarble keystrokes.

License: MIT License

Makefile 0.62% Shell 0.05% M4 2.59% C 96.74%

linux-touch-gestures's Introduction

linux-touch-gestures

About

linux-touch-gestures is a small utility that convert multi touch gestures to keystrokes. For detecting gestures the linux multi touch protocol is used. So every touch device whose driver implement this protocol should work with linux-touch-gestures. The driver must at least implement the following events:

  • ABS_MT_POSITION_X
  • ABS_MT_POSITION_Y
  • ABS_MT_SLOT
  • BTN_TOOL_*

For generating the keystrokes linux-touch-gestures uses the userspace input module. So you need either to load the module uinput or compile it to the kernel for using linux-touch-gestures.

Required libraries

The only needed extra library should be libiniparser.

Compile and install

After cloning the repostory execute the following commands

# for executing autogen.sh you need to install autoconf and automake
./autogen.sh
./configure
make
make install

Configuration

The configuration is store in an ini file with the following sections and keys (The default values are marked as bold):

  • [Gernaral]
    • TouchDevice (required) -> path to the touch device (/dev/input/...)
  • [Scroll]
    • Vertical -> enable vertical scrolling (true, false)
    • Horizontal -> enable horizontal scrolling (true, false)
    • VerticalDelta -> move distance of a finger for a scroll event (integer, 79)
    • HorizontalDelta -> move distance of a finger for a scroll event (integer, 30)
  • [Zoom]
    • Enable -> enable the 2 finger zoom (true, false)
    • Delta -> move distance of a finger for a zoom event (integer, 200)
  • [Thresholds]
    • Vertical -> threshold for vertical swipe events in percent of the touchpad's height (unsigned integer, 15)
    • Horizontal -> threshold for horizontal swipe events in percent of the touchpad's width (unsigned integer, 15)
  • [2-Fingers]
    • Up -> combination of keys that should be emulated by swiping with 2 fingers up
    • Down -> combination of keys that should be emulated by swiping with 2 fingers down
    • Left -> combination of keys that should be emulated by swiping with 2 fingers left
    • Right -> combination of keys that should be emulated by swiping with 2 fingers right
  • [3-Fingers] ... [5-Fingers] -> same as for [2-Fingers]

The single keys of a combination have to be separate with a plus sign (+). E.g. LEFTCTRL+LEFTALT+UP. The complete list of available keys can be found here.

Run

Just execute the application like this:

touch_gestures /path/to/config.file

linux-touch-gestures's People

Contributors

coder-hugo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.