1 /* $OpenBSD: wskbdraw.h,v 1.4 2023/07/24 19:28:40 miod Exp $ */ 2 3 /* 4 * Copyright (c) 2005, Miodrag Vallat 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 19 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 21 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 23 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 24 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 * POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28 /* 29 * US keyboard XT scancodes 30 */ 31 32 #define RAWKEY_Null 0x00 33 34 /* 35 * These names match KS_xxx symbols whenever possible 36 */ 37 38 #define RAWKEY_Escape 0x01 39 #define RAWKEY_1 0x02 40 #define RAWKEY_2 0x03 41 #define RAWKEY_3 0x04 42 #define RAWKEY_4 0x05 43 #define RAWKEY_5 0x06 44 #define RAWKEY_6 0x07 45 #define RAWKEY_7 0x08 46 #define RAWKEY_8 0x09 47 #define RAWKEY_9 0x0a 48 #define RAWKEY_0 0x0b 49 #define RAWKEY_minus 0x0c 50 #define RAWKEY_equal 0x0d 51 #define RAWKEY_Tab 0x0f 52 #define RAWKEY_q 0x10 53 #define RAWKEY_w 0x11 54 #define RAWKEY_e 0x12 55 #define RAWKEY_r 0x13 56 #define RAWKEY_t 0x14 57 #define RAWKEY_y 0x15 58 #define RAWKEY_u 0x16 59 #define RAWKEY_i 0x17 60 #define RAWKEY_o 0x18 61 #define RAWKEY_p 0x19 62 #define RAWKEY_bracketleft 0x1a 63 #define RAWKEY_bracketright 0x1b 64 #define RAWKEY_Return 0x1c 65 #define RAWKEY_Control_L 0x1d 66 #define RAWKEY_a 0x1e 67 #define RAWKEY_s 0x1f 68 #define RAWKEY_d 0x20 69 #define RAWKEY_f 0x21 70 #define RAWKEY_g 0x22 71 #define RAWKEY_h 0x23 72 #define RAWKEY_j 0x24 73 #define RAWKEY_k 0x25 74 #define RAWKEY_l 0x26 75 #define RAWKEY_semicolon 0x27 76 #define RAWKEY_apostrophe 0x28 77 #define RAWKEY_grave 0x29 78 #define RAWKEY_Shift_L 0x2a 79 #define RAWKEY_backslash 0x2b 80 #define RAWKEY_z 0x2c 81 #define RAWKEY_x 0x2d 82 #define RAWKEY_c 0x2e 83 #define RAWKEY_v 0x2f 84 #define RAWKEY_b 0x30 85 #define RAWKEY_n 0x31 86 #define RAWKEY_m 0x32 87 #define RAWKEY_comma 0x33 88 #define RAWKEY_period 0x34 89 #define RAWKEY_slash 0x35 90 #define RAWKEY_Shift_R 0x36 91 #define RAWKEY_KP_Multiply 0x37 92 #define RAWKEY_Alt_L 0x38 93 #define RAWKEY_space 0x39 94 #define RAWKEY_Caps_Lock 0x3a 95 #define RAWKEY_f1 0x3b 96 #define RAWKEY_f2 0x3c 97 #define RAWKEY_f3 0x3d 98 #define RAWKEY_f4 0x3e 99 #define RAWKEY_f5 0x3f 100 #define RAWKEY_f6 0x40 101 #define RAWKEY_f7 0x41 102 #define RAWKEY_f8 0x42 103 #define RAWKEY_f9 0x43 104 #define RAWKEY_f10 0x44 105 #define RAWKEY_Num_Lock 0x45 106 #define RAWKEY_Hold_Screen 0x46 /* Scroll Lock */ 107 #define RAWKEY_KP_Home 0x47 108 #define RAWKEY_KP_Up 0x48 109 #define RAWKEY_KP_Prior 0x49 110 #define RAWKEY_KP_Subtract 0x4a 111 #define RAWKEY_KP_Left 0x4b 112 #define RAWKEY_KP_Begin 0x4c 113 #define RAWKEY_KP_Right 0x4d 114 #define RAWKEY_KP_Add 0x4e 115 #define RAWKEY_KP_End 0x4f 116 #define RAWKEY_KP_Down 0x50 117 #define RAWKEY_KP_Next 0x51 118 #define RAWKEY_KP_Insert 0x52 119 #define RAWKEY_KP_Delete 0x53 120 #define RAWKEY_less 0x56 /* < > on European keyboards */ 121 #define RAWKEY_f11 0x57 122 #define RAWKEY_f12 0x58 123 #define RAWKEY_Pause 0x6a 124 #define RAWKEY_Meta_L 0x73 125 #define RAWKEY_Meta_R 0x74 126 #define RAWKEY_KP_Equal 0x76 127 #define RAWKEY_KP_Enter 0x9c 128 #define RAWKEY_Control_R 0x9d 129 #define RAWKEY_KP_Divide 0xb5 130 #define RAWKEY_Print_Screen 0xb7 131 #define RAWKEY_Alt_R 0xb8 132 #define RAWKEY_Home 0xc7 133 #define RAWKEY_Up 0xc8 134 #define RAWKEY_Prior 0xc9 135 #define RAWKEY_Left 0xcb 136 #define RAWKEY_Right 0xcd 137 #define RAWKEY_End 0xcf 138 #define RAWKEY_Down 0xd0 139 #define RAWKEY_Next 0xd1 140 #define RAWKEY_Insert 0xd2 141 #define RAWKEY_Delete 0xd3 142 143 #define RAWKEY_Begin 0x5d 144 #define RAWKEY_Menu 0x6d 145 #define RAWKEY_Compose 0x72 146 147 /* 148 * The following keys have no KS_xxx equivalents 149 */ 150 151 #define RAWKEY_BackSpace 0x0e 152 #define RAWKEY_SysReq 0x54 153 154 #define RAWKEY_Power 0x84 155 #define RAWKEY_AudioMute 0x85 156 #define RAWKEY_AudioLower 0x86 157 #define RAWKEY_AudioRaise 0x87 158 #define RAWKEY_Help 0x88 159 #define RAWKEY_L1 0x89 /* Stop */ 160 #define RAWKEY_L2 0x8a /* Again */ 161 #define RAWKEY_L3 0x8b /* Props */ 162 #define RAWKEY_L4 0x8c /* Undo */ 163 #define RAWKEY_L5 0x8d /* Front */ 164 #define RAWKEY_L6 0x8e /* Copy */ 165 #define RAWKEY_L7 0x8f /* Open */ 166 #define RAWKEY_L8 0x90 /* Paste */ 167 #define RAWKEY_L9 0x91 /* Find */ 168 #define RAWKEY_L10 0x92 /* Cut */ 169