https://github.com/esporttoys/tpmouse
A virtual trackball for Windows, via vim-like homerow controls.
https://github.com/esporttoys/tpmouse
accessibility autoit gesture keyboard mouse rawinput sendinput thinkpad trackball trackpoint vi vim win32 windows
Last synced: 4 months ago
JSON representation
A virtual trackball for Windows, via vim-like homerow controls.
- Host: GitHub
- URL: https://github.com/esporttoys/tpmouse
- Owner: EsportToys
- License: gpl-3.0
- Created: 2022-10-16T13:12:13.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-10T17:13:23.000Z (about 2 years ago)
- Last Synced: 2025-03-15T21:38:39.852Z (9 months ago)
- Topics: accessibility, autoit, gesture, keyboard, mouse, rawinput, sendinput, thinkpad, trackball, trackpoint, vi, vim, win32, windows
- Language: AutoIt
- Homepage:
- Size: 63.5 KB
- Stars: 133
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TPMouse
Control the cursor with your hand staying on the keyboard's homerow, even if you don't have a ThinkPad.
Inspired by [rvaiya/warpd](https://github.com/rvaiya/warpd).
## Inertia Mode

1. To activate, press `CapsLk` `C` or `LShift` `RShift` `C`. You'll see your main cursor switched to a crosshair.
2. Press `I`/`J`/`K`/`L` to move the cursor. Hold `S` to brake for more precise movement, hold `Space` to scroll vertically/horizontally.
3. Press `F`/`E`/`R` to left/right/middle click at the cursor position.
4. To quit, press `CapsLk` `Q` or `LShift` `RShift` `Q` or just `Esc`.
## Grid Mode

1. To activate, press `CapsLk` `G` or `LShift` `RShift` `G`. You'll see your main cursor switched to a crosshair, and a thin red border surrounding your screen.
2. Press `I`/`J`/`K`/`L` to narrow down the search border.
3. Press `F`/`E`/`R` to left/right/middle click at the cursor position.
4. To quit, press `CapsLk` `Q` or `LShift` `RShift` `Q` or just `Esc`.
## Demonstration
### Inertia Mode
https://user-images.githubusercontent.com/98432183/198895264-45823df6-8e8e-4135-9e7d-4ea9c5408c43.mp4
### Grid Mode
https://user-images.githubusercontent.com/98432183/198895269-4a5b7266-f662-491c-810e-5a2d87ddfc47.mp4
## Configuration
Edit the `options.ini` file to modify the inertia parameters or keybinds. If not present, the script uses the following defaults:
```
[Inertia]
DampingCoef=6
BrakingCoef=60
NormalSensitivity=1
ScrollSensitivity=1
[Bindings]
up=VK_I
left=VK_J
down=VK_K
right=VK_L
mb1=VK_F
mb2=VK_E
mb3=VK_R
brake=VK_S
scroll=VK_SPACE
```
The keybinds will require the script to be restarted to take effect, whereas the inertia parameters are reloaded upon activation of Inertia Mode.