Skip to content

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

License

Notifications You must be signed in to change notification settings

coder-hugo/linux-touch-gestures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 -> path to the touch device (/dev/input/...), if none given linux-touch-gestures tries to find a applicable input device
    • Retries -> if the input device is not yet available retry it again x times (integer, 2)
    • RetryDelay -> the amount of seconds to wait before looking again for the input device (integer, 5)
  • [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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages