Add gesture templates to README
This commit is contained in:
parent
92863711b0
commit
1ecfc79fc4
35
CHANGELOG
35
CHANGELOG
@ -1,4 +1,39 @@
|
|||||||
|
<<<<<<< Updated upstream
|
||||||
v1.1.0
|
v1.1.0
|
||||||
* Added mouse hold gestures
|
* Added mouse hold gestures
|
||||||
* Added `hold3` configuration
|
* Added `hold3` configuration
|
||||||
* Added `hold4` configuration
|
* Added `hold4` configuration
|
||||||
|
=======
|
||||||
|
v1.1.0 (2020-04-18)
|
||||||
|
* Add mouse hold gestures
|
||||||
|
* Add experimental `hold3` configuration
|
||||||
|
* Add experimental `hold4` configuration
|
||||||
|
* Add linker tests
|
||||||
|
* Add `driver.cpp`
|
||||||
|
* Add `mouse_hold_gestures.cpp`
|
||||||
|
* Bugfix `comfortable-swipe stop`
|
||||||
|
* Bugfix `comfortable-swipe restart`
|
||||||
|
* Rename `index.hpp` to `all_headers.hpp`
|
||||||
|
* Rename source directory `lib` to `comfortable_swipe`
|
||||||
|
* Separate `swipe_gesture.cpp` from `keyboard_swipe_gesture.cpp`
|
||||||
|
* Update compiler scripts
|
||||||
|
* Update configurations
|
||||||
|
* Update README
|
||||||
|
* Bump to version 1.1.0
|
||||||
|
|
||||||
|
v1.0.4
|
||||||
|
* Bugfixes
|
||||||
|
|
||||||
|
v1.0.3
|
||||||
|
* Bugfixes
|
||||||
|
|
||||||
|
v1.0.2
|
||||||
|
* Change directory structure
|
||||||
|
* Bugfixes
|
||||||
|
|
||||||
|
v1.0.1
|
||||||
|
* Bugfixes
|
||||||
|
|
||||||
|
v1.0.0
|
||||||
|
* Initial version
|
||||||
|
>>>>>>> Stashed changes
|
||||||
|
|||||||
293
README.md
293
README.md
@ -1,4 +1,5 @@
|
|||||||
# Comfortable Swipe (Ubuntu)
|
# Comfortable Swipe (Ubuntu)
|
||||||
|
|
||||||
[](https://github.com/Hikari9/comfortable-swipe/releases)
|
[](https://github.com/Hikari9/comfortable-swipe/releases)
|
||||||
[](https://www.gnu.org/licenses/gpl-3.0)
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
||||||
|
|
||||||
@ -6,79 +7,81 @@
|
|||||||
|
|
||||||
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`.
|
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
|
## Installation
|
||||||
|
|
||||||
1. Install git, libinput, and g++
|
1. Install git, libinput, and g++
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install git libinput-tools libxdo-dev g++
|
sudo apt-get install git libinput-tools libxdo-dev g++
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Clone this repository
|
2. Clone this repository
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/Hikari9/comfortable-swipe.git --depth 1
|
git clone https://github.com/Hikari9/comfortable-swipe.git --depth 1
|
||||||
cd comfortable-swipe
|
cd comfortable-swipe
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/Hikari9/comfortable-swipe.git --depth 1
|
||||||
|
cd comfortable-swipe
|
||||||
|
```
|
||||||
|
|
||||||
3. Install
|
3. Install
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash install
|
bash install
|
||||||
```
|
```
|
||||||
|
|
||||||
4. You may delete the downloaded `comfortable-swipe` folder after installation.
|
4. You may delete the downloaded `comfortable-swipe` folder after installation.
|
||||||
|
|
||||||
## How to Run
|
## How to Run
|
||||||
|
|
||||||
1. You'll need some group permissions to read touchpad input data. Run
|
1. You'll need some group permissions to read touchpad input data. Run
|
||||||
```bash
|
```bash
|
||||||
sudo gpasswd -a $USER $(ls -l /dev/input/event* | awk '{print $4}' | head --line=1)
|
sudo gpasswd -a $USER $(ls -l /dev/input/event* | awk '{print $4}' | head --line=1)
|
||||||
```
|
```
|
||||||
2. ***Important***: After inputing your `sudo` password, log out then log back in
|
2. **_Important_**: After inputing your `sudo` password, log out then log back in
|
||||||
3. Run
|
3. Run
|
||||||
```
|
```
|
||||||
comfortable-swipe start
|
comfortable-swipe start
|
||||||
```
|
```
|
||||||
4. _Optional_: Automatically run on startup
|
4. _Optional_: Automatically run on startup
|
||||||
```
|
```
|
||||||
comfortable-swipe autostart
|
comfortable-swipe autostart
|
||||||
```
|
```
|
||||||
5. Check the status of your application by running
|
5. Check the status of your application by running
|
||||||
```
|
```
|
||||||
comfortable-swipe status
|
comfortable-swipe status
|
||||||
```
|
```
|
||||||
|
|
||||||
## Swipe Configurations
|
## Swipe Configurations
|
||||||
|
|
||||||
Comfortable swipe makes use of keyboard shortcuts for configurations.
|
Comfortable swipe makes use of keyboard shortcuts for configurations. Edit by running:
|
||||||
|
|
||||||
1. Edit by running
|
```
|
||||||
```
|
gedit $(comfortable-swipe config)
|
||||||
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+Up | 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-gestures-experimental) |
|
||||||
|
| hold4 | holds a mouse button when 4 fingers are down | (none) | See [Mouse Gestures](#mouse-gestures-experimental) |
|
||||||
|
|
||||||
Property | Description | Default Value | Default Behavior
|
After making changes, make sure to restart the program:
|
||||||
--------- | :-----------: | -------------- | -----
|
|
||||||
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
|
||||||
comfortable-swipe restart
|
```
|
||||||
```
|
|
||||||
|
|
||||||
Taken from `man xdotool`:
|
Taken from `man xdotool`:
|
||||||
|
|
||||||
@ -96,76 +99,155 @@ Taken from `man xdotool`:
|
|||||||
|
|
||||||
Refer to https://www.linux.org/threads/xdotool-keyboard.10528/ for a complete list of keycodes you can use.
|
Refer to https://www.linux.org/threads/xdotool-keyboard.10528/ for a complete list of keycodes you can use.
|
||||||
|
|
||||||
## Mouse Gestures
|
**Keyboard Shortcuts**:
|
||||||
|
|
||||||
> **Note**: Setting hold3 or hold4 will ignore its corresponding up/right/down/left command.
|
- GNOME: https://wiki.gnome.org/Design/OS/KeyboardShortcuts
|
||||||
|
- Linux Mint: https://community.linuxmint.com/tutorial/view/47
|
||||||
|
|
||||||
|
## Swipe Gesture Templates
|
||||||
|
|
||||||
|
1. Switching workspaces
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# Unity, KDE
|
||||||
|
left3 = ctrl+alt+Right
|
||||||
|
right3 = ctrl+alt+Left
|
||||||
|
up3 = ctrl+alt+Down
|
||||||
|
down3 = ctrl+alt+Up
|
||||||
|
```
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# GNOME
|
||||||
|
up3 = super+PgDown
|
||||||
|
down3 = super+PgUp
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Move window to workspace
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# Unity, KDE
|
||||||
|
left4 = ctrl+alt+shift+Right
|
||||||
|
right4 = ctrl+alt+shift+Left
|
||||||
|
up4 = ctrl+alt+shift+Down
|
||||||
|
down4 = ctrl+alt+shift+Up
|
||||||
|
```
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# GNOME
|
||||||
|
up4 = super+shift+PgDown
|
||||||
|
down4 = super+shift+PgUp
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Move window to other monitor
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# GNOME
|
||||||
|
left4 = super+shift+Right
|
||||||
|
right4 = super+shift+Left
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Toggle workspace overview
|
||||||
|
|
||||||
|
```conf
|
||||||
|
up3 = super+s
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Show desktop ([setup](https://www.itsupportguides.com/knowledge-base/ubuntu/ubuntu-how-to-make-windows-d-show-desktop/))
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# Ubuntu, KDE, Gnome
|
||||||
|
down3 = super+d
|
||||||
|
```
|
||||||
|
|
||||||
|
```conf
|
||||||
|
# Linux Mint
|
||||||
|
down3 = ctrl+alt+d
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Snap windows to the left/right
|
||||||
|
|
||||||
|
```conf
|
||||||
|
left3 = super+Left
|
||||||
|
right3 = super+Right
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Toggle maximize
|
||||||
|
|
||||||
|
```conf
|
||||||
|
up3 = super+Up
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Toggle minimize
|
||||||
|
|
||||||
|
```conf
|
||||||
|
down3 = super+Down
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Alt+Tab switch application (experimental)
|
||||||
|
|
||||||
|
```conf
|
||||||
|
left3 = alt+Tab
|
||||||
|
right3 = alt+shift+Tab
|
||||||
|
```
|
||||||
|
|
||||||
|
## Mouse Gestures (Experimental)
|
||||||
|
|
||||||
We have included simple mouse gestures on swipe by setting `hold3` and `hold4`.
|
We have included simple mouse gestures on swipe by setting `hold3` and `hold4`.
|
||||||
|
|
||||||
**Possible Values**:
|
**Possible Values**:
|
||||||
* `move` - just move the mouse cursor (no mousedown)
|
|
||||||
* `button1` - hold left click on finger swipe
|
- `move` - just move the mouse cursor (no mousedown)
|
||||||
* `button2` - hold middle click on finger swipe
|
- `button1` - hold left click on finger swipe
|
||||||
* `button3` - hold right click on finger swipe
|
- `button2` - hold middle click on finger swipe
|
||||||
* `button4` - wheel up on finger swipe (experimental)
|
- `button3` - hold right click on finger swipe
|
||||||
* `button5` - wheel down on finger swipe (experimental)
|
- `button4` - wheel up on finger swipe (experimental)
|
||||||
* `scroll` - naive 3/4 finger natural scroll (no acceleration, very experimental)
|
- `button5` - wheel down on finger swipe (experimental)
|
||||||
* `scroll_reverse` - naive 3/4 finger reverse scroll (no acceleration, very experimental)
|
- `scroll` - naive 3/4 finger natural scroll (no acceleration, very experimental)
|
||||||
|
- `scroll_reverse` - naive 3/4 finger reverse scroll (no acceleration, very experimental)
|
||||||
|
|
||||||
Any value not mentioned above disables the mouse-hold.
|
Any value not mentioned above disables the mouse-hold.
|
||||||
|
|
||||||
**Note**: Applying any mouse-hold configuration will disable up/left/right/down behavior to avoid gesture conflicts. The logic of this will be improved in the future.
|
Examples:
|
||||||
|
|
||||||
## Example Usage
|
1. 3-finger drag
|
||||||
|
|
||||||
3-finger drag
|
```conf
|
||||||
```conf
|
hold3 = button1
|
||||||
hold3 = button1
|
```
|
||||||
```
|
|
||||||
|
|
||||||
4-finger drag (with middle click)
|
1. 4-finger drag (with middle click)
|
||||||
```conf
|
|
||||||
hold4 = button2
|
|
||||||
```
|
|
||||||
|
|
||||||
3-finger natural scroll
|
```conf
|
||||||
```conf
|
hold4 = button2
|
||||||
hold3 = scroll
|
```
|
||||||
```
|
|
||||||
|
|
||||||
4-finger reverse scroll
|
1. 3-finger natural scroll
|
||||||
```conf
|
|
||||||
hold4 = scroll_reverse
|
|
||||||
```
|
|
||||||
|
|
||||||
Just move the cursor
|
```conf
|
||||||
```conf
|
hold3 = scroll
|
||||||
hold3 = move
|
```
|
||||||
hold4 = move
|
|
||||||
```
|
|
||||||
|
|
||||||
Any other command will disable the mouse hold
|
1. 4-finger reverse scroll
|
||||||
```conf
|
|
||||||
hold3 = disabled
|
|
||||||
hold4 = nothing
|
|
||||||
```
|
|
||||||
|
|
||||||
## Example Configuration
|
```conf
|
||||||
|
hold4 = scroll_reverse
|
||||||
|
```
|
||||||
|
|
||||||
Edit with `gedit $(comfortable-swipe config)`:
|
1. Just move the cursor
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
# File: comfortable-swipe.conf
|
hold3 = move
|
||||||
|
hold4 = move
|
||||||
|
```
|
||||||
|
|
||||||
# four-finger drag
|
1. Any other command will disable the mouse hold
|
||||||
hold4 = button1
|
|
||||||
|
|
||||||
# show desktop and switch workspaces
|
```conf
|
||||||
down3 = super+d
|
hold3 = disabled
|
||||||
up3 = super+s
|
hold4 = nothing
|
||||||
left3 = ctrl+alt+Right
|
```
|
||||||
right3 = ctrl+alt+Left
|
|
||||||
```
|
**Note**: Applying any mouse-hold configuration will disable up/left/right/down behavior to avoid gesture conflicts. The logic of this will be improved in the future.
|
||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
@ -203,10 +285,13 @@ event9 GESTURE_SWIPE_BEGIN +2.03s 3
|
|||||||
If you can see `GESTURE_SWIPE_XXX` in your output, that means your touchpad supports multi-touch swipe gestures.
|
If you can see `GESTURE_SWIPE_XXX` in your output, that means your touchpad supports multi-touch swipe gestures.
|
||||||
|
|
||||||
## Uninstall
|
## Uninstall
|
||||||
|
|
||||||
Download the `uninstall` script then run `bash uninstall`
|
Download the `uninstall` script then run `bash uninstall`
|
||||||
|
|
||||||
|
|
||||||
## Bug Reports
|
## Bug Reports
|
||||||
|
|
||||||
|
Create an issue [here](https://github.com/Hikari9/comfortable-swipe-ubuntu/issues/new) to report a bug.
|
||||||
|
|
||||||
Search in [Issues](https://github.com/Hikari9/comfortable-swipe/issues?utf8=%E2%9C%93&q=is%3Aissue) if the problem has already been solved.
|
Search in [Issues](https://github.com/Hikari9/comfortable-swipe/issues?utf8=%E2%9C%93&q=is%3Aissue) if the problem has already been solved.
|
||||||
|
|
||||||
Otherwise, [create a new issue](https://github.com/Hikari9/comfortable-swipe/issues/new) to report your bug.
|
Otherwise, [create a new issue](https://github.com/Hikari9/comfortable-swipe/issues/new) to report your bug.
|
||||||
@ -216,9 +301,9 @@ Please include the output of the following:
|
|||||||
1. `lsb_release -a`
|
1. `lsb_release -a`
|
||||||
2. `g++ --version`
|
2. `g++ --version`
|
||||||
3. `ls -l /dev/input/event*`
|
3. `ls -l /dev/input/event*`
|
||||||
3. `xinput list | grep touchpad -i`
|
4. `xinput list | grep touchpad -i`
|
||||||
4. `lsmod | grep hid`
|
5. `lsmod | grep hid`
|
||||||
5. `comfortable-swipe status`
|
6. `comfortable-swipe status`
|
||||||
6. `comfortable-swipe start` (if you can run it)
|
7. `comfortable-swipe start` (if you can run it)
|
||||||
7. `comfortable-swipe debug` (try swiping if you can see `GESTURE_SWIPE_XXX`)
|
8. `comfortable-swipe debug` (try swiping if you can see `GESTURE_SWIPE_XXX`)
|
||||||
8. `cat $(comfortable-swipe config)`
|
9. `cat $(comfortable-swipe config)`
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user