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