{{QBDLDATE:05-20-2022}} {{QBDLTIME:23:08:49}} {{DISPLAYTITLE:_KEYHIT}} The [[_KEYHIT]] function returns [[ASCII]] one and two byte, OpenGL Virtual Key and Unicode keyboard key press codes. {{PageSyntax}} :{{Parameter|keycode&}} = [[_KEYHIT]] {{PageDescription}} * Return values range up to &H40000000 so use a [[LONG]] or [[_INTEGER64]] variable type. See the [[_KEYDOWN]] code list: :* 0-255: [[ASCII]] values (Refer to [http://en.wikipedia.org/wiki/Code_page_437 CP437]). :* 256-65535: [[ASCII#Two_Byte_Codes|2-byte]] character codes : code = [[CVI]]([[CHR$]](0) + [[CHR$]](scancode)) (unaffected by SHIFT/ALT/CTRL modifiers). :* 65536-&H40000000: [[_KEYDOWN|QB64-specific Virtual Key codes]] (designated with + for 100000 on keyboard below) :* '''Negative''' [[LONG]] values returned indicate that a key was released or a lock function key has been turned off. * '''Note: _KEYHIT can only return one value at a time so use the [[_KEYDOWN]] keyhit value to find key combinations.''' * To receive input from a [[$CONSOLE]] window, use [[_CINP]]. {{WhiteStart}}' '''_KEYHIT Keyboard Codes''' ' ' '''Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Sys ScL Pause''' ' 27 15104 15360 15616 15872 16128 16384 16640 16896 17152 17408 34048 34304 +316 +302 +019 ' '''`~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ BkSp Ins Hme PUp NumL / * -''' ' 126 33 64 35 36 37 94 38 42 40 41 95 43 8 20992 18176 18688 +300 47 42 45 ' '' 96 49 50 51 52 53 54 55 56 57 48 45 61'' ' '''Tab Q W E R T Y U I O P [{ ]} \| Del End PDn 7Hme 8/▲ 9PU + ''' ' 9 81 87 69 82 84 89 85 73 79 80 123 125 124 21248 20224 20736 18176 18432 18688 43 ' '' 113 119 101 114 116 121 117 105 111 112 91 93 92 55 56 57 '' ' '''CapL A S D F G H J K L ;: '" Enter 4/◄- 5 6/-► ' +301 65 83 68 70 71 72 74 75 76 58 34 13 19200 19456 19712 '''E''' ' '' 97 115 100 102 103 104 106 107 108 59 39 52 53 54 '' '''n''' ' '''Shift Z X C V B N M ,< .> /? Shift ▲ 1End 2/▼ 3PD t''' ' +304 90 88 67 86 66 78 77 60 62 63 +303 18432 20224 20480 20736 '''e''' ' '' 122 120 99 118 98 110 109 44 46 47 49 50 51 '' '''r''' ' '''Ctrl Win Alt Spacebar Alt Win Menu Ctrl ◄- ▼ -► 0Ins .Del ''' ' +306 +311 +308 32 +307 +312 +319 +305 19200 20480 19712 20992 21248 13 ' '' 48 46'' ' ' ''' Lower value = LCase/NumLock On __________________ + = add 100000 ''' {{WhiteEnd}} {{small|NOTE: The above commented table can be copied and pasted directly into the QB64 IDE}} :* >= &H40000000: [[Unicode]]. * Font '''cyberbit.ttf''', included with QB64 ('''version 0.92 and up'''), is required to facilitate the '''IME'''(in Chinese settings) only. The 12.7 MB font is free for '''non-commercial''' use and is not loaded unless the user switches to the '''Input Mode Editor'''. Set to "UNICODE".