Special Keyboard Keys

Compatible with:
DOS Maximite CMM MM150 MM170 MM+ MMX Picromite ArmiteL4 Armite F4 ArmiteH7 Picomite CMM2

MMBasic generates a single unique character for the function keys and other special keys on the keyboard. 
These are shown in this table as hexadecimal and decimal numbers:

DEC OCT HEX BIN        Description
128 200 80  10000000   Up Arrow
129 201 81  10000001   Down Arrow
130 202 82  10000010   Left Arrow
131 203 83  10000011   Right Arrow
132 204 84  10000100   Insert
134 206 86  10000110   Home
135 207 87  10000111   End
136 210 88  10001000   Page Up
137 211 89  10001001   Page Down
145 221 91  10010001   F1
146 222 92  10010010   F2
147 223 93  10010011   F3
148 224 94  10010100   F4
149 225 95  10010101   F5
150 226 96  10010110   F6
151 227 97  10010111   F7
152 230 98  10011000   F8
153 231 99  10011001   F9
154 232 9A  10011010   F10
155 233 9B  10011011   F11
156 234 9C  10011100   F12
157 235 9D  10011101   Print Screen (CMM2 KB only)
158 236 9E  10011110   Pause (CMM2 KB only)
159 237 9F  10011111   Shift-TAB (CMM2 KB only)
160 240 A0  10100000   Shift-DEL (CMM2 KB only)
161 241 A1  10100001   Shift-Down (CMM2 KB only)
163 242 A2  10100010   Shift-Right (CMM2 KB only)

If the shift key is simultaneously pressed then 40 (hex) is added to the code (this is the equivalent of setting bit 6). For example Shift-F10 will generate DA (hex).
The shift modifier only works with the function keys F1 to F12; it is ignored for the other keys.
MMBasic will translate most VT100 escape codes generated by terminal emulators such as TeraTerm and Putty to these codes (excluding the shift and control modifiers). 
This means that a terminal emulator operating over a USB or a serial port opened as console will generate the same key codes as a directly attached keyboard.

 

Last edited: 19 December, 2020