Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Readme.md

InCode Icon

CodeFactor License Release

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.

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.

Extensions

TODO

  • wef to goto 90% topright

  • wdf to goto 90% botright

  • wes to goto 90% topeft

  • wsd to goto 90% boteft

  • wgg to goto middle of screen

  • Int-Int to go to last position

  • ee to go up %20

  • ff to go right %20

  • dd to go down %20

  • ss to go left %20

  • 3s to go left of display

  • 3e to go top of display

  • 3d to go bottom of display

  • 3f to go right of display

Installation

This project uses submodules, so you have to include them too:

$ git submodule init --recursive

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: A

A
{
  "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

Feel free to contact me with comments, suggestions or bugs.