From 6c983698f11ade5f7ce3e725c7c8a98798d51e0d Mon Sep 17 00:00:00 2001 From: Hetul Bhatt <32898119+hetulbhatt@users.noreply.github.com> Date: Mon, 19 Jun 2023 21:36:28 +0530 Subject: [PATCH 1/2] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 110d67b..b915167 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,13 @@ Features - Personalized signatures: Add a signature to your emails, message boards by just a few key strokes. - Advanced key combinations: Assign complex key combinations like CTRL+ALT+Q, WINDOWS+Z, or any other combination to execute desired actions efficiently. - Hotword printing: Define key combinations like CTRL+ALT+M to automate the printing of frequently-used phrases or statements in any active window. -- Seamless integration: KeyMapper seamlessly integrates with MS Windows, allowing you to use cheat codes and key combinations across all applications. +- Seamless integration: KeyFlow seamlessly integrates with MS Windows, allowing you to use cheat codes and key combinations across all applications. Getting Started -To start using KeyMapper, follow these simple steps: -1. Clone the KeyMapper repository to your local machine running Windows. +To start using KeyFlow, follow these simple steps: +1. Clone the KeyFlow repository to your local machine running Windows. 2. Build the project by using the command `g++ -std=c++17 main.cpp`. -3. Run the executable file to launch the KeyMapper application. Make sure that the config files (`../config/codes.config` and `../config/shortcuts.config`) are located in their respective directories. +3. Run the executable file to launch the KeyFlow application. Make sure that the config files (`../config/codes.config` and `../config/shortcuts.config`) are located in their respective directories. 4. If the config files are not found in their default locations, you have the option to provide custom paths via command line arguments. For example, use `main.exe ` to specify the paths. 5. Personalize your cheat codes, key combinations, hotwords, and associated actions using the guide provided below. @@ -58,7 +58,7 @@ To start using KeyMapper, follow these simple steps: GTAV5 $C:\Games\Grand Theft Auto V\GTA5.exe ``` -These instructions will help you get started with KeyMapper and enable you to customize its functionalities according to your preferences. +These instructions will help you get started with KeyFlow and enable you to customize its functionalities according to your preferences. Contributing From 6c7772b3cbc8055fda7bb41aa1710d1a66eb0771 Mon Sep 17 00:00:00 2001 From: Hetul Bhatt <32898119+hetulbhatt@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:21:03 +0530 Subject: [PATCH 2/2] Update README.md --- README.md | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 185 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b915167..a760fca 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ To start using KeyFlow, follow these simple steps: 5. Personalize your cheat codes, key combinations, hotwords, and associated actions using the guide provided below. For `shortcuts.config`: - - The left-hand side of the operator represents the desired key combination. + - The left-hand side of the operator represents the desired key combination. To understand more about nomanclature of keys, refer to the table at the end. - Depending on the operator used, the right-hand side can either be a string to be printed in the active window or the path to an executable program. - If the operator is `$`, the string on the right indicates the path of the executable to launch when the key combination is pressed. - If the operator is `:`, the string on the right will be printed in the active window. @@ -63,3 +63,187 @@ These instructions will help you get started with KeyFlow and enable you to cust Contributing - We welcome contributions from the open-source community to enhance KeyFlow's functionality and user experience. + +Keyboard Key Codes and Corresponding Key Names +- This table serves as a reference for specifying shortcuts in the shortcuts.config file. It provides the decimal and hexadecimal values of keyboard keys, along with their corresponding constant names and descriptions. These constant names can be used to generate shortcuts in shortcuts.config as shown in the aforementioned example. + +- For more detailed information on virtual key codes, you can visit the [Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes). + +| Decimal Value | Hex-Value | Constant | Description | +| ------------- | --------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1 | 0x01 | LBUTTON | Left mouse button | +| 2 | 0x02 | RBUTTON | Right mouse button | +| 3 | 0x03 | CANCEL | Control-break processing | +| 4 | 0x04 | MBUTTON | Middle mouse button (three-button mouse) | +| 5 | 0x05 | XBUTTON1 | X1 mouse button | +| 6 | 0x06 | XBUTTON2 | X2 mouse button | +| 8 | 0x08 | BACK | BACKSPACE key | +| 9 | 0x09 | TAB | TAB key | +| 12 | 0x0C | CLEAR | CLEAR key | +| 13 | 0x0D | RETURN | ENTER key | +| 16 | 0x10 | SHIFT | SHIFT key | +| 17 | 0x11 | CONTROL | CTRL key | +| 18 | 0x12 | MENU | ALT key | +| 19 | 0x13 | PAUSE | PAUSE key | +| 20 | 0x14 | CAPITAL | CAPS LOCK key | +| 21 | 0x15 | KANA | IME Kana mode | +| 21 | 0x15 | HANGUEL | IME Hanguel mode (maintained for compatibility; use VK_HANGUL) | +| 21 | 0x15 | HANGUL | IME Hangul mode | +| 22 | 0x16 | IME_ON | IME On | +| 23 | 0x17 | JUNJA | IME Junja mode | +| 24 | 0x18 | FINAL | IME final mode | +| 25 | 0x19 | HANJA | IME Hanja mode | +| 25 | 0x19 | KANJI | IME Kanji mode | +| 26 | 0x1A | IME_OFF | IME Off | +| 27 | 0x1B | ESCAPE | ESC key | +| 28 | 0x1C | CONVERT | IME convert | +| 29 | 0x1D | NONCONVERT | IME nonconvert | +| 30 | 0x1E | ACCEPT | IME accept | +| 31 | 0x1F | MODECHANGE | IME mode change request | +| 32 | 0x20 | SPACE | SPACEBAR | +| 33 | 0x21 | PRIOR | PAGE UP key | +| 34 | 0x22 | NEXT | PAGE DOWN key | +| 35 | 0x23 | END | END key | +| 36 | 0x24 | HOME | HOME key | +| 37 | 0x25 | LEFT | LEFT ARROW key | +| 38 | 0x26 | UP | UP ARROW key | +| 39 | 0x27 | RIGHT | RIGHT ARROW key | +| 40 | 0x28 | DOWN | DOWN ARROW key | +| 41 | 0x29 | SELECT | SELECT key | +| 42 | 0x2A | PRINT | PRINT key | +| 43 | 0x2B | EXECUTE | EXECUTE key | +| 44 | 0x2C | SNAPSHOT | PRINT SCREEN key | +| 45 | 0x2D | INSERT | INS key | +| 46 | 0x2E | DELETE | DEL key | +| 47 | 0x2F | HELP | HELP key | +| 48 | 0x30 | 0 | 0 key | +| 49 | 0x31 | 1 | 1 key | +| 50 | 0x32 | 2 | 2 key | +| 51 | 0x33 | 3 | 3 key | +| 52 | 0x34 | 4 | 4 key | +| 53 | 0x35 | 5 | 5 key | +| 54 | 0x36 | 6 | 6 key | +| 55 | 0x37 | 7 | 7 key | +| 56 | 0x38 | 8 | 8 key | +| 57 | 0x39 | 9 | 9 key | +| 65 | 0x41 | A | A key | +| 66 | 0x42 | B | B key | +| 67 | 0x43 | C | C key | +| 68 | 0x44 | D | D key | +| 69 | 0x45 | E | E key | +| 70 | 0x46 | F | F key | +| 71 | 0x47 | G | G key | +| 72 | 0x48 | H | H key | +| 73 | 0x49 | I | I key | +| 74 | 0x4A | J | J key | +| 75 | 0x4B | K | K key | +| 76 | 0x4C | L | L key | +| 77 | 0x4D | M | M key | +| 78 | 0x4E | N | N key | +| 79 | 0x4F | O | O key | +| 80 | 0x50 | P | P key | +| 81 | 0x51 | Q | Q key | +| 82 | 0x52 | R | R key | +| 83 | 0x53 | S | S key | +| 84 | 0x54 | T | T key | +| 85 | 0x55 | U | U key | +| 86 | 0x56 | V | V key | +| 87 | 0x57 | W | W key | +| 88 | 0x58 | X | X key | +| 89 | 0x59 | Y | Y key | +| 90 | 0x5A | Z | Z key | +| 91 | 0x5B | LWIN | Left Windows key (Natural keyboard) | +| 92 | 0x5C | RWIN | Right Windows key (Natural keyboard) | +| 93 | 0x5D | APPS | Applications key (Natural keyboard) | +| 94 | 0x5E | \- | Reserved | +| 95 | 0x5F | SLEEP | Computer Sleep key | +| 96 | 0x60 | NUMPAD0 | Numeric keypad 0 key | +| 97 | 0x61 | NUMPAD1 | Numeric keypad 1 key | +| 98 | 0x62 | NUMPAD2 | Numeric keypad 2 key | +| 99 | 0x63 | NUMPAD3 | Numeric keypad 3 key | +| 100 | 0x64 | NUMPAD4 | Numeric keypad 4 key | +| 101 | 0x65 | NUMPAD5 | Numeric keypad 5 key | +| 102 | 0x66 | NUMPAD6 | Numeric keypad 6 key | +| 103 | 0x67 | NUMPAD7 | Numeric keypad 7 key | +| 104 | 0x68 | NUMPAD8 | Numeric keypad 8 key | +| 105 | 0x69 | NUMPAD9 | Numeric keypad 9 key | +| 106 | 0x6A | MULTIPLY | Multiply key | +| 107 | 0x6B | ADD | Add key | +| 108 | 0x6C | SEPARATOR | Separator key | +| 109 | 0x6D | SUBTRACT | Subtract key | +| 110 | 0x6E | DECIMAL | Decimal key | +| 111 | 0x6F | DIVIDE | Divide key | +| 112 | 0x70 | F1 | F1 key | +| 113 | 0x71 | F2 | F2 key | +| 114 | 0x72 | F3 | F3 key | +| 115 | 0x73 | F4 | F4 key | +| 116 | 0x74 | F5 | F5 key | +| 117 | 0x75 | F6 | F6 key | +| 118 | 0x76 | F7 | F7 key | +| 119 | 0x77 | F8 | F8 key | +| 120 | 0x78 | F9 | F9 key | +| 121 | 0x79 | F10 | F10 key | +| 122 | 0x7A | F11 | F11 key | +| 123 | 0x7B | F12 | F12 key | +| 124 | 0x7C | F13 | F13 key | +| 125 | 0x7D | F14 | F14 key | +| 126 | 0x7E | F15 | F15 key | +| 127 | 0x7F | F16 | F16 key | +| 128 | 0x80 | F17 | F17 key | +| 129 | 0x81 | F18 | F18 key | +| 130 | 0x82 | F19 | F19 key | +| 131 | 0x83 | F20 | F20 key | +| 132 | 0x84 | F21 | F21 key | +| 133 | 0x85 | F22 | F22 key | +| 134 | 0x86 | F23 | F23 key | +| 135 | 0x87 | F24 | F24 key | +| 144 | 0x90 | NUMLOCK | NUM LOCK key | +| 145 | 0x91 | SCROLL | SCROLL LOCK key | +| 160 | 0xA0 | LSHIFT | Left SHIFT key | +| 161 | 0xA1 | RSHIFT | Right SHIFT key | +| 162 | 0xA2 | LCONTROL | Left CONTROL key | +| 163 | 0xA3 | RCONTROL | Right CONTROL key | +| 164 | 0xA4 | LMENU | Left ALT key | +| 165 | 0xA5 | RMENU | Right ALT key | +| 166 | 0xA6 | BROWSER_BACK | Browser Back key | +| 167 | 0xA7 | BROWSER_FORWARD | Browser Forward key | +| 168 | 0xA8 | BROWSER_REFRESH | Browser Refresh key | +| 169 | 0xA9 | BROWSER_STOP | Browser Stop key | +| 170 | 0xAA | BROWSER_SEARCH | Browser Search key | +| 171 | 0xAB | BROWSER_FAVORITES | Browser Favorites key | +| 172 | 0xAC | BROWSER_HOME | Browser Start and Home key | +| 173 | 0xAD | VOLUME_MUTE | Volume Mute key | +| 174 | 0xAE | VOLUME_DOWN | Volume Down key | +| 175 | 0xAF | VOLUME_UP | Volume Up key | +| 176 | 0xB0 | MEDIA_NEXT_TRACK | Next Track key | +| 177 | 0xB1 | MEDIA_PREV_TRACK | Previous Track key | +| 178 | 0xB2 | MEDIA_STOP | Stop Media key | +| 179 | 0xB3 | MEDIA_PLAY_PAUSE | Play/Pause Media key | +| 180 | 0xB4 | LAUNCH_MAIL | Start Mail key | +| 181 | 0xB5 | LAUNCH_MEDIA_SELECT | Select Media key | +| 182 | 0xB6 | LAUNCH_APP1 | Start Application 1 key | +| 183 | 0xB7 | LAUNCH_APP2 | Start Application 2 key | +| 186 | 0xBA | OEM_1 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key | +| 187 | 0xBB | OEM_PLUS | For any country/region, the '+' key | +| 188 | 0xBC | OEM_COMMA | For any country/region, the ',' key | +| 189 | 0xBD | OEM_MINUS | For any country/region, the '-' key | +| 190 | 0xBE | OEM_PERIOD | For any country/region, the '.' key | +| 191 | 0xBF | OEM_2 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key | +| 192 | 0xC0 | OEM_3 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\`~' key | +| 219 | 0xDB | OEM_4 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key | +| 220 | 0xDC | OEM_5 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\\|' key | +| 221 | 0xDD | OEM_6 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key | +| 222 | 0xDE | OEM_7 | Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key | +| 223 | 0xDF | OEM_8 | Used for miscellaneous characters; it can vary by keyboard. | +| 226 | 0xE2 | OEM_102 | Reserved | +| 229 | 0xE5 | PROCESSKEY | IME PROCESS key | +| 231 | 0xE7 | PACKET | Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP | +| 246 | 0xF6 | ATTN | Attn key | +| 247 | 0xF7 | CRSEL | CrSel key | +| 248 | 0xF8 | EXSEL | ExSel key | +| 249 | 0xF9 | EREOF | Erase EOF key | +| 250 | 0xFA | PLAY | Play key | +| 251 | 0xFB | ZOOM | Zoom key | +| 252 | 0xFC | NONAME | Reserved | +| 253 | 0xFD | PA1 | PA1 key | +| 254 | 0xFE | OEM_CLEAR | Clear key |