diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..1091d98
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,4 @@
+v1.1.0
+* Added mouse hold gestures
+* Added `hold3` configuration
+* Added `hold4` configuration
diff --git a/README.md b/README.md
index f23adec..da6680a 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,11 @@
[](https://github.com/Hikari9/comfortable-swipe/releases)
[](https://www.gnu.org/licenses/gpl-3.0)
+> **_New in Version 1.1.0!_** Added mouse move gestures (eg. `hold3 = button1`)
+
Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures for Ubuntu 14.04 LTS and beyond. May work for other Linux distros that support `libinput`.
+
## Installation
1. Install git, libinput, and g++
@@ -47,28 +50,35 @@ Comfortable, seamless, and fast 3-finger (and 4-finger) touchpad swipe gestures
comfortable-swipe status
```
-## Configurations
-Comfortable swipe makes use of keyboard shortcuts for configurations. Edit by running
-```
-gedit $(comfortable-swipe config)
-```
+## Swipe Configurations
-Make sure to run after making changes:
-```
-comfortable-swipe restart
-```
+Comfortable swipe makes use of keyboard shortcuts for configurations.
-Property | Description | Default Value | Default Behavior
---------- | ----------- | -------------- | -----
-threshold | mouse pixels to activate swipe; higher = less sensitive; floating-point (Note: Sky is the limit! Can be as large as 1000.0) | 0.0
-left3 | 3-finger swipe left | ctrl+alt+Right | switch to right workspace
-left4 | 4-finger swipe left | ctrl+alt+shift+Right | move window to right workspace
-right3 | 3-finger swipe right | ctrl+alt+Left | switch to left workspace
-right4 | 4-finger swipe right | ctrl+alt+shift+Left | move window to left workspace
-up3 | 3-finger swipe up | ctrl+alt+Down | switch to bottom workspace
-up4 | 4-finger swipe up | ctrl+alt+shift+Down | move window to bottom workspace
-down3 | 3-finger swipe down | ctrl+alt+Down | switch to above workspace
-down4 | 4-finger swipe down | ctrl+alt+shift+Up | move window to above workpace
+1. Edit by running
+ ```
+ gedit $(comfortable-swipe config)
+ ```
+
+1. List of possible configurations:
+
+ Property | Description | Default Value | Default Behavior
+ --------- | :-----------: | -------------- | -----
+ left3 | 3-finger swipe left | ctrl+alt+Right | switch to right workspace
+ left4 | 4-finger swipe left | ctrl+alt+shift+Right | move window to right workspace
+ right3 | 3-finger swipe right | ctrl+alt+Left | switch to left workspace
+ right4 | 4-finger swipe right | ctrl+alt+shift+Left | move window to left workspace
+ up3 | 3-finger swipe up | ctrl+alt+Down | switch to bottom workspace
+ up4 | 4-finger swipe up | ctrl+alt+shift+Down | move window to bottom workspace
+ down3 | 3-finger swipe down | ctrl+alt+Down | switch to above workspace
+ down4 | 4-finger swipe down | ctrl+alt+shift+Up | move window to above workpace
+ threshold | mouse pixels to activate swipe | 0.0 | tweak this if you're having troubles with touchpad sensitivity (higher = less sensitive, values can be as large as 1000.0)
+ hold3 | holds a mouse button when 3 fingers are down | (none) | See [Mouse Gestures](#mouse-configurations)
+ hold4 | holds a mouse button when 4 fingers are down | (none) | See [Mouse Gestures](#mouse-configurations)
+
+1. After making changes, make sure to restart the program:
+ ```
+ comfortable-swipe restart
+ ```
Taken from `man xdotool`:
@@ -86,6 +96,54 @@ Taken from `man xdotool`:
Refer to https://www.linux.org/threads/xdotool-keyboard.10528/ for a complete list of keycodes you can use.
+## Mouse Gestures
+
+> **Note**: Setting hold3 or hold4 will ignore its corresponding up/right/down/left command.
+
+We have included simple mouse gestures on swipe by setting `hold3` and `hold4`.
+
+**Possible values**:
+* move - just move the mouse
+* button1 - left click
+* button2 - middle click
+* button3 - right click
+* button4 - wheel up (experimental)
+* button5 - wheel down (experimental)
+* scroll - natural scrolling (experimental)
+* scroll_reverse - reverse scrolling (experimental)
+
+## Example Configuration
+
+Edit with `gedit $(comfortable-swipe config)`:
+
+```conf
+# File: comfortable-swipe.conf
+
+# four-finger drag
+hold4 = button1
+
+# show desktop
+down3 = super+d
+
+# show workspaces
+up3 = super+s
+
+# switch workspace
+left3 = ctrl+alt+Right
+right3 = ctrl+alt+Left
+
+# disabled because of hold4
+left4 = ctrl+alt+shift+Right
+right4 = ctrl+alt+shift+Left
+
+# three-finger middle click (experimental)
+# hold3 = button2
+
+# three-finger scroll (experimental)
+# hold3 = scroll
+# hold3 = scroll_reverse
+```
+
## Debugging
diff --git a/VERSION b/VERSION
index f13f1bb..758fc0b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-v1.0.4
+v1.1.0
diff --git a/comfortable-swipe.compile.sh b/comfortable-swipe.compile.sh
deleted file mode 100755
index 2425f6d..0000000
--- a/comfortable-swipe.compile.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-dir="$(dirname $0)"
-g++ "$dir/comfortable-swipe.cpp" \
- -o "$1" \
- -std=c++11 \
- -O2 -lxdo -Wno-unused-result \
- -DCOMFORTABLE_SWIPE_VERSION="\"$(cat $dir/VERSION | tr -d '[:space:]')\""
diff --git a/lib/index.hpp b/comfortable_swipe/all_headers.hpp
similarity index 77%
rename from lib/index.hpp
rename to comfortable_swipe/all_headers.hpp
index 3ce48a6..e761da0 100644
--- a/lib/index.hpp
+++ b/comfortable_swipe/all_headers.hpp
@@ -1,5 +1,12 @@
-#ifndef __COMFORTABLE_SWIPE__index_hpp__
-#define __COMFORTABLE_SWIPE__index_hpp__
+/**
+ * Add header files will be imported here.
+ * You can import this as a shorthand:
+ *
+ * #include "../all_headers.hpp"
+ */
+
+#ifndef __COMFORTABLE_SWIPE__all_headers_hpp__
+#define __COMFORTABLE_SWIPE__all_headers_hpp__
/*
Comfortable Swipe
@@ -36,21 +43,20 @@ along with this program. If not, see .
#include