Skip to content

Commit b76c25a

Browse files
author
Robin Müller
committed
Added the README
1 parent 9ff6670 commit b76c25a

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

README.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# linux-touch-gestures
2+
3+
## About
4+
5+
linux-touch-gestures is a small utility that convert multi touch gestures to keystrokes. For detecting gestures the
6+
linux [multi touch protocol](https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt) is used. So every
7+
touch device whose driver implement this protocol should work with linux-touch-gestures. The driver must at least
8+
implement the following events:
9+
* ABS\_MT\_POSITION\_X
10+
* ABS\_MT\_POSITION\_Y
11+
* ABS\_MT\_SLOT
12+
* BTN\_TOOL\_\*
13+
For generating the keystrokes linux-touch-gestures uses the userspace input module. So you need either to load the
14+
module uinput or compile it to the kernel for using linux-touch-gestures.
15+
16+
## Required libraries
17+
18+
The only need extra library should be [libiniparser](http://ndevilla.free.fr/iniparser/html/index.html).
19+
20+
## Compile and install
21+
22+
After cloning the repostory execute the following commands
23+
24+
```shell
25+
# for executing autogen.sh you need to install autoconf and automake
26+
./autogen.sh
27+
./configure
28+
make
29+
make install
30+
```
31+
32+
## Configuration
33+
34+
The configuration is store in an ini file with the following sections and keys (The default values are marked as bold):
35+
36+
* [Gernaral]
37+
* TouchDevice (required) -> path to the touch device (/dev/input/...)
38+
* [Scroll]
39+
* Vertical -> enable vertical scrolling (true, **false**)
40+
* Horizontal -> enable horizontal scrolling (true, **false**)
41+
* VerticalDelta -> move distance of a finger for a scroll event (integer, **79**)
42+
* HorizontalDelta -> move distance of a finger for a scroll event (integer, **30**)
43+
* [Zoom]
44+
* Enable -> enable the 2 finger zoom (true, **false**)
45+
* Delta -> move distance of a finger for a zoom event (integer, **200**)
46+
* [Thresholds]
47+
* Vertical -> threshold for vertical swipe events in percent (unsigned integer, **15**)
48+
* Horizontal -> threshold for horizontal swipe events in percent (unsigned integer, **15**)
49+
* [2-Fingers]
50+
* Up -> combination of keys that should be emulated by swiping with 2 fingers up
51+
* Down -> combination of keys that should be emulated by swiping with 2 fingers down
52+
* Left -> combination of keys that should be emulated by swiping with 2 fingers left
53+
* Right -> combination of keys that should be emulated by swiping with 2 fingers right
54+
* [3-Fingers] ... [5-Fingers] -> same as for [2-Fingers]
55+
56+
The single keys of a combination have to be separate with a plus sign (+). E.g. LEFTCTRL+LEFTALT+UP.
57+
The complete list of available keys can be found [here](src/keys.c).
58+
59+
## Run
60+
61+
Just execute the application like this:
62+
```shell
63+
touch_gestures /path/to/config.file
64+
```

0 commit comments

Comments
 (0)