Watcom C BIOS key scancode list
Jump to navigation
Jump to search
/* BIOS key scancode list. * * ********************************************************************** * * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE * Version 2, December 2004 * * Copyright (C) 2025 bindiff <projects@bindiff.eu> * * Everyone is permitted to copy and distribute verbatim or modified * copies of this license document, and changing it is allowed as long * as the name is changed. * * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE * TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION * * 0. You just DO WHAT THE FUCK YOU WANT TO. * * ********************************************************************** * * Very loosely based on a scancode list by Mircosoft: * https://mircosoft.mzf.cz/texty/SEZKLAV.TXT * * This is scancode set 1. You can use the following code to get the scancode in * Watcom C: * * #include <bios.h> * [...] * * int scan, ch; -- Scan code and an ASCII char (or 0). * scan = _bios_keybrd(_KEYBRD_READ); * ch = scan & 0xff; * scan = scan >> 8; * * Polling/waiting for a key press: * * for (!_bios_keybrd(_KEYBRD_READY)) ; */ #define K_ESC 1 #define K_F1 59 #define K_F2 60 #define K_F3 61 #define K_F4 62 #define K_F5 63 #define K_F6 64 #define K_F7 65 #define K_F8 66 #define K_F9 67 #define K_F10 68 #define K_F11 87 #define K_F12 88 #define K_SCROLL 70 #define K_TILDE 41 #define K_1 2 #define K_2 3 #define K_3 4 #define K_4 5 #define K_5 6 #define K_6 7 #define K_7 8 #define K_8 9 #define K_9 10 #define K_0 11 #define K_MINUS 12 #define K_EQUAL 13 #define K_BS 14 #define K_TAB 15 #define K_Q 16 #define K_W 17 #define K_E 18 #define K_R 19 #define K_T 20 #define K_Y 21 #define K_U 22 #define K_I 23 #define K_O 24 #define K_P 25 #define K_LBRAK 26 #define K_RBRAK 27 #define K_BKSL 43 #define K_CAPS 58 #define K_A 30 #define K_S 31 #define K_D 32 #define K_F 33 #define K_G 34 #define K_H 35 #define K_J 36 #define K_K 37 #define K_L 38 #define K_SEMI 39 #define K_APOS 40 #define K_RET 28 #define K_LSHIFT 42 #define K_Z 44 #define K_X 45 #define K_C 46 #define K_V 47 #define K_B 48 #define K_N 49 #define K_M 50 #define K_COMMA 51 #define K_PERIOD 52 #define K_SLASH 53 #define K_RSHIFT 54 #define K_LCTRL 29 #define K_LALT 56 #define K_LTGT 86 #define K_SPACE 57 #define K_INSERT 82 #define K_HOME 71 #define K_PGUP 73 #define K_DELETE 83 #define K_END 79 #define K_PGDN 81 #define K_UP 72 #define K_LEFT 75 #define K_DOWN 80 #define K_RIGHT 77