<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Code Help Stuff</title> <link rel="shortcut icon" href="https://rimgo.pussthecat.org/RFbdMMB.png" type="image/x-icon"> <link rel="stylesheet" href="style.css"> </head> <body> <h3>Just some code stuff for later</h3> <div class="main"> <details class="c"> <summary>C WinAPI Virtual-Key Codes || <a target="_blank" href="https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes">Link</a></summary> <div class="has-inner-focus"> <table aria-label="Virtual-Key Codes" class="table table-sm margin-top-none"> <thead> <tr> <th>Constant</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>VK_LBUTTON</code></td> <td>0x01</td> <td>Left mouse button</td> </tr> <tr> <td><code>VK_RBUTTON</code></td> <td>0x02</td> <td>Right mouse button</td> </tr> <tr> <td><code>VK_CANCEL</code></td> <td>0x03</td> <td>Control-break processing</td> </tr> <tr> <td><code>VK_MBUTTON</code></td> <td>0x04</td> <td>Middle mouse button</td> </tr> <tr> <td><code>VK_XBUTTON1</code></td> <td>0x05</td> <td>X1 mouse button</td> </tr> <tr> <td><code>VK_XBUTTON2</code></td> <td>0x06</td> <td>X2 mouse button</td> </tr> <tr> <td><code>-</code></td> <td>0x07</td> <td>Reserved</td> </tr> <tr> <td><code>VK_BACK</code></td> <td>0x08</td> <td>BACKSPACE key</td> </tr> <tr> <td><code>VK_TAB</code></td> <td>0x09</td> <td>TAB key</td> </tr> <tr> <td><code>-</code></td> <td>0x0A-0B</td> <td>Reserved</td> </tr> <tr> <td><code>VK_CLEAR</code></td> <td>0x0C</td> <td>CLEAR key</td> </tr> <tr> <td><code>VK_RETURN</code></td> <td>0x0D</td> <td>ENTER key</td> </tr> <tr> <td><code>-</code></td> <td>0x0E-0F</td> <td>Unassigned</td> </tr> <tr> <td><code>VK_SHIFT</code></td> <td>0x10</td> <td>SHIFT key</td> </tr> <tr> <td><code>VK_CONTROL</code></td> <td>0x11</td> <td>CTRL key</td> </tr> <tr> <td><code>VK_MENU</code></td> <td>0x12</td> <td>ALT key</td> </tr> <tr> <td><code>VK_PAUSE</code></td> <td>0x13</td> <td>PAUSE key</td> </tr> <tr> <td><code>VK_CAPITAL</code></td> <td>0x14</td> <td>CAPS LOCK key</td> </tr> <tr> <td><code>VK_KANA</code></td> <td>0x15</td> <td>IME Kana mode</td> </tr> <tr> <td><code>VK_HANGUL</code></td> <td>0x15</td> <td>IME Hangul mode</td> </tr> <tr> <td><code>VK_IME_ON</code></td> <td>0x16</td> <td>IME On</td> </tr> <tr> <td><code>VK_JUNJA</code></td> <td>0x17</td> <td>IME Junja mode</td> </tr> <tr> <td><code>VK_FINAL</code></td> <td>0x18</td> <td>IME final mode</td> </tr> <tr> <td><code>VK_HANJA</code></td> <td>0x19</td> <td>IME Hanja mode</td> </tr> <tr> <td><code>VK_KANJI</code></td> <td>0x19</td> <td>IME Kanji mode</td> </tr> <tr> <td><code>VK_IME_OFF</code></td> <td>0x1A</td> <td>IME Off</td> </tr> <tr> <td><code>VK_ESCAPE</code></td> <td>0x1B</td> <td>ESC key</td> </tr> <tr> <td><code>VK_CONVERT</code></td> <td>0x1C</td> <td>IME convert</td> </tr> <tr> <td><code>VK_NONCONVERT</code></td> <td>0x1D</td> <td>IME nonconvert</td> </tr> <tr> <td><code>VK_ACCEPT</code></td> <td>0x1E</td> <td>IME accept</td> </tr> <tr> <td><code>VK_MODECHANGE</code></td> <td>0x1F</td> <td>IME mode change request</td> </tr> <tr> <td><code>VK_SPACE</code></td> <td>0x20</td> <td>SPACEBAR</td> </tr> <tr> <td><code>VK_PRIOR</code></td> <td>0x21</td> <td>PAGE UP key</td> </tr> <tr> <td><code>VK_NEXT</code></td> <td>0x22</td> <td>PAGE DOWN key</td> </tr> <tr> <td><code>VK_END</code></td> <td>0x23</td> <td>END key</td> </tr> <tr> <td><code>VK_HOME</code></td> <td>0x24</td> <td>HOME key</td> </tr> <tr> <td><code>VK_LEFT</code></td> <td>0x25</td> <td>LEFT ARROW key</td> </tr> <tr> <td><code>VK_UP</code></td> <td>0x26</td> <td>UP ARROW key</td> </tr> <tr> <td><code>VK_RIGHT</code></td> <td>0x27</td> <td>RIGHT ARROW key</td> </tr> <tr> <td><code>VK_DOWN</code></td> <td>0x28</td> <td>DOWN ARROW key</td> </tr> <tr> <td><code>VK_SELECT</code></td> <td>0x29</td> <td>SELECT key</td> </tr> <tr> <td><code>VK_PRINT</code></td> <td>0x2A</td> <td>PRINT key</td> </tr> <tr> <td><code>VK_EXECUTE</code></td> <td>0x2B</td> <td>EXECUTE key</td> </tr> <tr> <td><code>VK_SNAPSHOT</code></td> <td>0x2C</td> <td>PRINT SCREEN key</td> </tr> <tr> <td><code>VK_INSERT</code></td> <td>0x2D</td> <td>INS key</td> </tr> <tr> <td><code>VK_DELETE</code></td> <td>0x2E</td> <td>DEL key</td> </tr> <tr> <td><code>VK_HELP</code></td> <td>0x2F</td> <td>HELP key</td> </tr> <tr> <td></td> <td>0x30</td> <td>0 key</td> </tr> <tr> <td></td> <td>0x31</td> <td>1 key</td> </tr> <tr> <td></td> <td>0x32</td> <td>2 key</td> </tr> <tr> <td></td> <td>0x33</td> <td>3 key</td> </tr> <tr> <td></td> <td>0x34</td> <td>4 key</td> </tr> <tr> <td></td> <td>0x35</td> <td>5 key</td> </tr> <tr> <td></td> <td>0x36</td> <td>6 key</td> </tr> <tr> <td></td> <td>0x37</td> <td>7 key</td> </tr> <tr> <td></td> <td>0x38</td> <td>8 key</td> </tr> <tr> <td></td> <td>0x39</td> <td>9 key</td> </tr> <tr> <td><code>-</code></td> <td>0x3A-40</td> <td>Undefined</td> </tr> <tr> <td></td> <td>0x41</td> <td>A key</td> </tr> <tr> <td></td> <td>0x42</td> <td>B key</td> </tr> <tr> <td></td> <td>0x43</td> <td>C key</td> </tr> <tr> <td></td> <td>0x44</td> <td>D key</td> </tr> <tr> <td></td> <td>0x45</td> <td>E key</td> </tr> <tr> <td></td> <td>0x46</td> <td>F key</td> </tr> <tr> <td></td> <td>0x47</td> <td>G key</td> </tr> <tr> <td></td> <td>0x48</td> <td>H key</td> </tr> <tr> <td></td> <td>0x49</td> <td>I key</td> </tr> <tr> <td></td> <td>0x4A</td> <td>J key</td> </tr> <tr> <td></td> <td>0x4B</td> <td>K key</td> </tr> <tr> <td></td> <td>0x4C</td> <td>L key</td> </tr> <tr> <td></td> <td>0x4D</td> <td>M key</td> </tr> <tr> <td></td> <td>0x4E</td> <td>N key</td> </tr> <tr> <td></td> <td>0x4F</td> <td>O key</td> </tr> <tr> <td></td> <td>0x50</td> <td>P key</td> </tr> <tr> <td></td> <td>0x51</td> <td>Q key</td> </tr> <tr> <td></td> <td>0x52</td> <td>R key</td> </tr> <tr> <td></td> <td>0x53</td> <td>S key</td> </tr> <tr> <td></td> <td>0x54</td> <td>T key</td> </tr> <tr> <td></td> <td>0x55</td> <td>U key</td> </tr> <tr> <td></td> <td>0x56</td> <td>V key</td> </tr> <tr> <td></td> <td>0x57</td> <td>W key</td> </tr> <tr> <td></td> <td>0x58</td> <td>X key</td> </tr> <tr> <td></td> <td>0x59</td> <td>Y key</td> </tr> <tr> <td></td> <td>0x5A</td> <td>Z key</td> </tr> <tr> <td><code>VK_LWIN</code></td> <td>0x5B</td> <td>Left Windows key</td> </tr> <tr> <td><code>VK_RWIN</code></td> <td>0x5C</td> <td>Right Windows key</td> </tr> <tr> <td><code>VK_APPS</code></td> <td>0x5D</td> <td>Applications key</td> </tr> <tr> <td><code>-</code></td> <td>0x5E</td> <td>Reserved</td> </tr> <tr> <td><code>VK_SLEEP</code></td> <td>0x5F</td> <td>Computer Sleep key</td> </tr> <tr> <td><code>VK_NUMPAD0</code></td> <td>0x60</td> <td>Numeric keypad 0 key</td> </tr> <tr> <td><code>VK_NUMPAD1</code></td> <td>0x61</td> <td>Numeric keypad 1 key</td> </tr> <tr> <td><code>VK_NUMPAD2</code></td> <td>0x62</td> <td>Numeric keypad 2 key</td> </tr> <tr> <td><code>VK_NUMPAD3</code></td> <td>0x63</td> <td>Numeric keypad 3 key</td> </tr> <tr> <td><code>VK_NUMPAD4</code></td> <td>0x64</td> <td>Numeric keypad 4 key</td> </tr> <tr> <td><code>VK_NUMPAD5</code></td> <td>0x65</td> <td>Numeric keypad 5 key</td> </tr> <tr> <td><code>VK_NUMPAD6</code></td> <td>0x66</td> <td>Numeric keypad 6 key</td> </tr> <tr> <td><code>VK_NUMPAD7</code></td> <td>0x67</td> <td>Numeric keypad 7 key</td> </tr> <tr> <td><code>VK_NUMPAD8</code></td> <td>0x68</td> <td>Numeric keypad 8 key</td> </tr> <tr> <td><code>VK_NUMPAD9</code></td> <td>0x69</td> <td>Numeric keypad 9 key</td> </tr> <tr> <td><code>VK_MULTIPLY</code></td> <td>0x6A</td> <td>Multiply key</td> </tr> <tr> <td><code>VK_ADD</code></td> <td>0x6B</td> <td>Add key</td> </tr> <tr> <td><code>VK_SEPARATOR</code></td> <td>0x6C</td> <td>Separator key</td> </tr> <tr> <td><code>VK_SUBTRACT</code></td> <td>0x6D</td> <td>Subtract key</td> </tr> <tr> <td><code>VK_DECIMAL</code></td> <td>0x6E</td> <td>Decimal key</td> </tr> <tr> <td><code>VK_DIVIDE</code></td> <td>0x6F</td> <td>Divide key</td> </tr> <tr> <td><code>VK_F1</code></td> <td>0x70</td> <td>F1 key</td> </tr> <tr> <td><code>VK_F2</code></td> <td>0x71</td> <td>F2 key</td> </tr> <tr> <td><code>VK_F3</code></td> <td>0x72</td> <td>F3 key</td> </tr> <tr> <td><code>VK_F4</code></td> <td>0x73</td> <td>F4 key</td> </tr> <tr> <td><code>VK_F5</code></td> <td>0x74</td> <td>F5 key</td> </tr> <tr> <td><code>VK_F6</code></td> <td>0x75</td> <td>F6 key</td> </tr> <tr> <td><code>VK_F7</code></td> <td>0x76</td> <td>F7 key</td> </tr> <tr> <td><code>VK_F8</code></td> <td>0x77</td> <td>F8 key</td> </tr> <tr> <td><code>VK_F9</code></td> <td>0x78</td> <td>F9 key</td> </tr> <tr> <td><code>VK_F10</code></td> <td>0x79</td> <td>F10 key</td> </tr> <tr> <td><code>VK_F11</code></td> <td>0x7A</td> <td>F11 key</td> </tr> <tr> <td><code>VK_F12</code></td> <td>0x7B</td> <td>F12 key</td> </tr> <tr> <td><code>VK_F13</code></td> <td>0x7C</td> <td>F13 key</td> </tr> <tr> <td><code>VK_F14</code></td> <td>0x7D</td> <td>F14 key</td> </tr> <tr> <td><code>VK_F15</code></td> <td>0x7E</td> <td>F15 key</td> </tr> <tr> <td><code>VK_F16</code></td> <td>0x7F</td> <td>F16 key</td> </tr> <tr> <td><code>VK_F17</code></td> <td>0x80</td> <td>F17 key</td> </tr> <tr> <td><code>VK_F18</code></td> <td>0x81</td> <td>F18 key</td> </tr> <tr> <td><code>VK_F19</code></td> <td>0x82</td> <td>F19 key</td> </tr> <tr> <td><code>VK_F20</code></td> <td>0x83</td> <td>F20 key</td> </tr> <tr> <td><code>VK_F21</code></td> <td>0x84</td> <td>F21 key</td> </tr> <tr> <td><code>VK_F22</code></td> <td>0x85</td> <td>F22 key</td> </tr> <tr> <td><code>VK_F23</code></td> <td>0x86</td> <td>F23 key</td> </tr> <tr> <td><code>VK_F24</code></td> <td>0x87</td> <td>F24 key</td> </tr> <tr> <td><code>-</code></td> <td>0x88-8F</td> <td>Reserved</td> </tr> <tr> <td><code>VK_NUMLOCK</code></td> <td>0x90</td> <td>NUM LOCK key</td> </tr> <tr> <td><code>VK_SCROLL</code></td> <td>0x91</td> <td>SCROLL LOCK key</td> </tr> <tr> <td><code>-</code></td> <td>0x92-96</td> <td>OEM specific</td> </tr> <tr> <td><code>-</code></td> <td>0x97-9F</td> <td>Unassigned</td> </tr> <tr> <td><code>VK_LSHIFT</code></td> <td>0xA0</td> <td>Left SHIFT key</td> </tr> <tr> <td><code>VK_RSHIFT</code></td> <td>0xA1</td> <td>Right SHIFT key</td> </tr> <tr> <td><code>VK_LCONTROL</code></td> <td>0xA2</td> <td>Left CONTROL key</td> </tr> <tr> <td><code>VK_RCONTROL</code></td> <td>0xA3</td> <td>Right CONTROL key</td> </tr> <tr> <td><code>VK_LMENU</code></td> <td>0xA4</td> <td>Left ALT key</td> </tr> <tr> <td><code>VK_RMENU</code></td> <td>0xA5</td> <td>Right ALT key</td> </tr> <tr> <td><code>VK_BROWSER_BACK</code></td> <td>0xA6</td> <td>Browser Back key</td> </tr> <tr> <td><code>VK_BROWSER_FORWARD</code></td> <td>0xA7</td> <td>Browser Forward key</td> </tr> <tr> <td><code>VK_BROWSER_REFRESH</code></td> <td>0xA8</td> <td>Browser Refresh key</td> </tr> <tr> <td><code>VK_BROWSER_STOP</code></td> <td>0xA9</td> <td>Browser Stop key</td> </tr> <tr> <td><code>VK_BROWSER_SEARCH</code></td> <td>0xAA</td> <td>Browser Search key</td> </tr> <tr> <td><code>VK_BROWSER_FAVORITES</code></td> <td>0xAB</td> <td>Browser Favorites key</td> </tr> <tr> <td><code>VK_BROWSER_HOME</code></td> <td>0xAC</td> <td>Browser Start and Home key</td> </tr> <tr> <td><code>VK_VOLUME_MUTE</code></td> <td>0xAD</td> <td>Volume Mute key</td> </tr> <tr> <td><code>VK_VOLUME_DOWN</code></td> <td>0xAE</td> <td>Volume Down key</td> </tr> <tr> <td><code>VK_VOLUME_UP</code></td> <td>0xAF</td> <td>Volume Up key</td> </tr> <tr> <td><code>VK_MEDIA_NEXT_TRACK</code></td> <td>0xB0</td> <td>Next Track key</td> </tr> <tr> <td><code>VK_MEDIA_PREV_TRACK</code></td> <td>0xB1</td> <td>Previous Track key</td> </tr> <tr> <td><code>VK_MEDIA_STOP</code></td> <td>0xB2</td> <td>Stop Media key</td> </tr> <tr> <td><code>VK_MEDIA_PLAY_PAUSE</code></td> <td>0xB3</td> <td>Play/Pause Media key</td> </tr> <tr> <td><code>VK_LAUNCH_MAIL</code></td> <td>0xB4</td> <td>Start Mail key</td> </tr> <tr> <td><code>VK_LAUNCH_MEDIA_SELECT</code></td> <td>0xB5</td> <td>Select Media key</td> </tr> <tr> <td><code>VK_LAUNCH_APP1</code></td> <td>0xB6</td> <td>Start Application 1 key</td> </tr> <tr> <td><code>VK_LAUNCH_APP2</code></td> <td>0xB7</td> <td>Start Application 2 key</td> </tr> <tr> <td><code>-</code></td> <td>0xB8-B9</td> <td>Reserved</td> </tr> <tr> <td><code>VK_OEM_1</code></td> <td>0xBA</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>;:</code> key</td> </tr> <tr> <td><code>VK_OEM_PLUS</code></td> <td>0xBB</td> <td>For any country/region, the <code>+</code> key</td> </tr> <tr> <td><code>VK_OEM_COMMA</code></td> <td>0xBC</td> <td>For any country/region, the <code>,</code> key</td> </tr> <tr> <td><code>VK_OEM_MINUS</code></td> <td>0xBD</td> <td>For any country/region, the <code>-</code> key</td> </tr> <tr> <td><code>VK_OEM_PERIOD</code></td> <td>0xBE</td> <td>For any country/region, the <code>.</code> key</td> </tr> <tr> <td><code>VK_OEM_2</code></td> <td>0xBF</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>/?</code> key</td> </tr> <tr> <td><code>VK_OEM_3</code></td> <td>0xC0</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>`~</code> key</td> </tr> <tr> <td><code>-</code></td> <td>0xC1-DA</td> <td>Reserved</td> </tr> <tr> <td><code>VK_OEM_4</code></td> <td>0xDB</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>[{</code> key</td> </tr> <tr> <td><code>VK_OEM_5</code></td> <td>0xDC</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>\\|</code> key</td> </tr> <tr> <td><code>VK_OEM_6</code></td> <td>0xDD</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>]}</code> key</td> </tr> <tr> <td><code>VK_OEM_7</code></td> <td>0xDE</td> <td>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the <code>'"</code> key</td> </tr> <tr> <td><code>VK_OEM_8</code></td> <td>0xDF</td> <td>Used for miscellaneous characters; it can vary by keyboard.</td> </tr> <tr> <td><code>-</code></td> <td>0xE0</td> <td>Reserved</td> </tr> <tr> <td><code>-</code></td> <td>0xE1</td> <td>OEM specific</td> </tr> <tr> <td><code>VK_OEM_102</code></td> <td>0xE2</td> <td>The <code><></code> keys on the US standard keyboard, or the <code>\\|</code> key on the non-US 102-key keyboard</td> </tr> <tr> <td><code>-</code></td> <td>0xE3-E4</td> <td>OEM specific</td> </tr> <tr> <td><code>VK_PROCESSKEY</code></td> <td>0xE5</td> <td>IME PROCESS key</td> </tr> <tr> <td><code>-</code></td> <td>0xE6</td> <td>OEM specific</td> </tr> <tr> <td><code>VK_PACKET</code></td> <td>0xE7</td> <td>Used to pass Unicode characters as if they were keystrokes. The <code>VK_PACKET</code> key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in <a href="/en-us/windows/win32/api/winuser/ns-winuser-keybdinput" data-linktype="absolute-path"><code>KEYBDINPUT</code></a>, <a href="/en-us/windows/win32/api/winuser/nf-winuser-sendinput" data-linktype="absolute-path"><code>SendInput</code></a>, <a href="wm-keydown" data-linktype="relative-path"><code>WM_KEYDOWN</code></a>, and <a href="wm-keyup" data-linktype="relative-path"><code>WM_KEYUP</code></a></td> </tr> <tr> <td><code>-</code></td> <td>0xE8</td> <td>Unassigned</td> </tr> <tr> <td><code>-</code></td> <td>0xE9-F5</td> <td>OEM specific</td> </tr> <tr> <td><code>VK_ATTN</code></td> <td>0xF6</td> <td>Attn key</td> </tr> <tr> <td><code>VK_CRSEL</code></td> <td>0xF7</td> <td>CrSel key</td> </tr> <tr> <td><code>VK_EXSEL</code></td> <td>0xF8</td> <td>ExSel key</td> </tr> <tr> <td><code>VK_EREOF</code></td> <td>0xF9</td> <td>Erase EOF key</td> </tr> <tr> <td><code>VK_PLAY</code></td> <td>0xFA</td> <td>Play key</td> </tr> <tr> <td><code>VK_ZOOM</code></td> <td>0xFB</td> <td>Zoom key</td> </tr> <tr> <td><code>VK_NONAME</code></td> <td>0xFC</td> <td>Reserved</td> </tr> <tr> <td><code>VK_PA1</code></td> <td>0xFD</td> <td>PA1 key</td> </tr> <tr> <td><code>VK_OEM_CLEAR</code></td> <td>0xFE</td> <td>Clear key</td> </tr> </tbody> </table> </div> </details> </div> </body> </html>