https://github.com/cschladetsch/incode
Keyboard shortcuts to move Mouse and Cursor without using mouse or cursor keys.
https://github.com/cschladetsch/incode
abbreviations capslock-key cursor mouse mouse-button
Last synced: 5 months ago
JSON representation
Keyboard shortcuts to move Mouse and Cursor without using mouse or cursor keys.
- Host: GitHub
- URL: https://github.com/cschladetsch/incode
- Owner: cschladetsch
- License: mit
- Created: 2013-11-02T12:13:15.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-05-28T13:08:26.000Z (about 2 years ago)
- Last Synced: 2025-02-05T23:33:11.475Z (over 1 year ago)
- Topics: abbreviations, capslock-key, cursor, mouse, mouse-button
- Language: C#
- Homepage:
- Size: 287 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# InCode 
[](https://www.codefactor.io/repository/github/cschladetsch/incode) [](./LICENSE) [](https://github.com/cschladetsch/incode/releases/latest)
Custom input system for keyboard and mouse for Windows.
This application allows the user to control the mouse and other systems such as cursor and scrolling using a minimal set of keys - without actually using the mouse. It also allows for the use of abbreviations. Yes, there are other tools that do this and better but hey.
## Usage
Hold an `Interrupt` button - By default the Right-Control key - and then use the rest of the keyboard to send custom input.
*NOTE* Use the provided `SharpKeys` binary to remap the CapsLock key to the Right-Control Key. The CapsLock key is an anacronism in any case, may as well put it to good use.
For instance, press and hold the `Interrupt` button, and:
* use `WASD` to move the mouse cursor up down left right. Movement is passed through a customised filter to emulate the behavior of an Ibm ThinkPad clit button.
* `R` and `V` keys send scroll up and down, again with a custom filter and timings.
* The `space bar` simulates the left mouse button
* `G` the right mouse button.
* You can also double-click. I think the threshold is 300ms.
* Double-pressing the `Interrupt` key centers the cursor on the main monitor.
* There is some customisation available via a simple GUI, but to change the keys the only current way is to just edit the code.
## Installation
Just build the Visual Studio solution. This is very much *not* a cross-platform app so I didn't bother with CMake.
## Abbreviations
Enter abbreviation mode with `Interrupt`-Q (typically Capslock-Q). Then you can insert any text as mapped in the config file.
For instance, my email address is `christian@schladetsch.com`. I end up typing that a *lot*. Now I can enter it with `Interrupt`-Qg.
The `g` is the abbreviation stored in the Json file. I've added a bunch of things I use a lot, like passwords etc. Obviously you'll have to make your own Config.json in the same folder as the IncodeWindow.exe executable.
When you enter abbreviation mode, a popup appears showing all your abbreviations. Note that you need to still hold down the `Interrupt` key to complete the abbreviation.
## Json Config
The configuration is stored in `Config.json`, in the same folder as the app.
A typical config file would look like:
```json
{
"Abbreviations":
{
"g": "christian.schladetsch@gmail.com",
"v": "christian@schladetsch.com",
"p": "04712341234",
"gp": "+61(0)37234524",
"cc": "1234123412341234",
"p1": "password",
"p2": "hunter11",
"p3": "not-telling",
"ad": "29 Fuddle St, East Place, Somewhere, Country, 3002"
},
"Speed": 250,
"Accel": 12,
"ScrollScale": 0.5,
"ScrollAccel": 1.15,
"ScrollAmount": 3
}
```
## Bugs or Requests
Use GitHub's Issues to raise any faults or feature requests.
Otherwise, feel free to [contact me](mailto:christian@schladetsch.com).