Skip to content

Commit 1fd5231

Browse files
authored
Update README.md
1 parent b0fd74f commit 1fd5231

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

README.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,23 @@
22

33
Download the [Latest Release](https://github.com/nhmkdev/KeyCap/releases/latest)
44

5+
# Updates in progress
6+
7+
Docs/code are being updated to v2 branch (just merged into master for further refinement/release).
8+
59
## Description
610
*Windows only* application for capture keyboard input and remapping it to:
711
* another key or sequence of keys
812
* mouse input
913
* nothing at all
1014
* on/off toggles for keys and inputs (this allows a single keystroke to initiate a hold and a second keystroke to end the hold)
15+
* Repetition (with custom delay)
1116

1217
## Example Uses
1318
* (original inspiration) Shortcutting a sequence of shortcuts. I originally created the application long ago to help with a sequence of keyboard shortcuts necessary to perform file merges when integrating a branch with [Perforce](https://www.perforce.com/) + [Araxis Merge](https://www.araxis.com/)
1419
* [Starbound](http://playstarbound.com/) Keyboard shortcuts to toggle off/on mouse buttons. This makes extensive mining in the game a lot less painful. [Mass Effect 2](http://masseffect.bioware.com/me2/) planet scanning also can be a lot easier...
1520
* [Dreamfall Chapters](http://redthreadgames.com/games/chapters/) has a run button though it can be nice to have a button that toggles whether you are running or not instead of holding one down.
21+
* [Citadel: Forged With Fire](https://www.citadelthegame.com/) has a number of long mouse hold actions. Toggling this off/on instead of holding the button for long periods of time is extremely nice.
1622

1723
## Run on Startup
1824

@@ -38,22 +44,38 @@ This program does perform keyboard capture and is essentially the first componen
3844

3945
## Technical Documentation
4046

41-
### File Format
47+
### .kfg File Format
48+
49+
The file is prefixed with two 32-bit ints:
50+
51+
| File Data Prefix | File Format Version |
52+
| --- | --- |
53+
| 0x0E0CA000 | 0x1
4254

43-
The file is a repeated sequence of the following information.
55+
The remainder of the file is a repeated sequence of the following information.
56+
One input may be associated with numerous outputs.
57+
Byte array representation of each input/output(s) pair:
4458

45-
Byte array representation of each input/output pair:
59+
| Flags | VirtualKey | Parameter | Outputs Count | Output Flags | Output VirtualKey | Output Parameter | (repeats for all outputs) ... |
60+
| --- | --- | --- | --- | --- | --- | --- | --- |
4661

47-
| Flags | Value | Outputs Count | Flags | Value | (repeats) Flag and value for all outputs |
48-
| --- | --- | --- | --- | --- | --- |
62+
There is no count for the number of inputs. Instead the file is read until no further input/output(s) pairings can be read.
4963

5064
#### Flags
5165

5266
The flags indicate information that modifies the value (alt/shift/ctrl and special functionality when mapping to another output)
5367

68+
#### VirtualKey
69+
70+
A [VirtualKey](https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes) value.
71+
72+
#### Parameter
73+
74+
A special value associated with the input/output (as necessary based on the function).
75+
5476
#### Output Count
5577

56-
This is limited to a byte, so 255 maximum.
78+
This is limited to a single byte despite the use of an int, so 255 maximum.
5779

5880
## History
5981

0 commit comments

Comments
 (0)