13d11d0ebSbellardmap 0x0000041d 2*26b1cbf8SGerd Hoffmann 3*26b1cbf8SGerd HoffmannShift_R 0x36 4*26b1cbf8SGerd HoffmannShift_L 0x2a 5*26b1cbf8SGerd Hoffmann 6*26b1cbf8SGerd HoffmannAlt_R 0xb8 7*26b1cbf8SGerd HoffmannMode_switch 0xb8 8*26b1cbf8SGerd HoffmannISO_Level3_Shift 0xb8 9*26b1cbf8SGerd HoffmannAlt_L 0x38 10*26b1cbf8SGerd Hoffmann 11*26b1cbf8SGerd HoffmannControl_R 0x9d 12*26b1cbf8SGerd HoffmannControl_L 0x1d 13*26b1cbf8SGerd Hoffmann 14*26b1cbf8SGerd Hoffmann# Translate Super to Windows keys. 15*26b1cbf8SGerd Hoffmann# This is hardcoded. See documentation for details. 16*26b1cbf8SGerd HoffmannSuper_R 0xdc 17*26b1cbf8SGerd HoffmannSuper_L 0xdb 18*26b1cbf8SGerd Hoffmann 19*26b1cbf8SGerd Hoffmann# Translate Menu to the Windows Application key. 20*26b1cbf8SGerd HoffmannMenu 0xdd 21*26b1cbf8SGerd Hoffmann 22*26b1cbf8SGerd Hoffmann# 23*26b1cbf8SGerd Hoffmann# Top row 24*26b1cbf8SGerd Hoffmann# 25*26b1cbf8SGerd Hoffmann1 0x2 26*26b1cbf8SGerd Hoffmann2 0x3 27*26b1cbf8SGerd Hoffmann3 0x4 28*26b1cbf8SGerd Hoffmann4 0x5 29*26b1cbf8SGerd Hoffmann5 0x6 30*26b1cbf8SGerd Hoffmann6 0x7 31*26b1cbf8SGerd Hoffmann7 0x8 32*26b1cbf8SGerd Hoffmann8 0x9 33*26b1cbf8SGerd Hoffmann9 0xa 34*26b1cbf8SGerd Hoffmann0 0xb 35*26b1cbf8SGerd HoffmannBackSpace 0xe 36*26b1cbf8SGerd Hoffmann 37*26b1cbf8SGerd Hoffmann# 38*26b1cbf8SGerd Hoffmann# QWERTY first row 39*26b1cbf8SGerd Hoffmann# 40*26b1cbf8SGerd HoffmannTab 0xf localstate 41*26b1cbf8SGerd HoffmannISO_Left_Tab 0xf shift 42*26b1cbf8SGerd Hoffmannq 0x10 addupper 43*26b1cbf8SGerd Hoffmannw 0x11 addupper 44*26b1cbf8SGerd Hoffmanne 0x12 addupper 45*26b1cbf8SGerd Hoffmannr 0x13 addupper 46*26b1cbf8SGerd Hoffmannt 0x14 addupper 47*26b1cbf8SGerd Hoffmanny 0x15 addupper 48*26b1cbf8SGerd Hoffmannu 0x16 addupper 49*26b1cbf8SGerd Hoffmanni 0x17 addupper 50*26b1cbf8SGerd Hoffmanno 0x18 addupper 51*26b1cbf8SGerd Hoffmannp 0x19 addupper 52*26b1cbf8SGerd Hoffmann 53*26b1cbf8SGerd Hoffmann# 54*26b1cbf8SGerd Hoffmann# QWERTY second row 55*26b1cbf8SGerd Hoffmann# 56*26b1cbf8SGerd Hoffmanna 0x1e addupper 57*26b1cbf8SGerd Hoffmanns 0x1f addupper 58*26b1cbf8SGerd Hoffmannd 0x20 addupper 59*26b1cbf8SGerd Hoffmannf 0x21 addupper 60*26b1cbf8SGerd Hoffmanng 0x22 addupper 61*26b1cbf8SGerd Hoffmannh 0x23 addupper 62*26b1cbf8SGerd Hoffmannj 0x24 addupper 63*26b1cbf8SGerd Hoffmannk 0x25 addupper 64*26b1cbf8SGerd Hoffmannl 0x26 addupper 65*26b1cbf8SGerd HoffmannReturn 0x1c localstate 66*26b1cbf8SGerd Hoffmann 67*26b1cbf8SGerd Hoffmann# 68*26b1cbf8SGerd Hoffmann# QWERTY third row 69*26b1cbf8SGerd Hoffmann# 70*26b1cbf8SGerd Hoffmannz 0x2c addupper 71*26b1cbf8SGerd Hoffmannx 0x2d addupper 72*26b1cbf8SGerd Hoffmannc 0x2e addupper 73*26b1cbf8SGerd Hoffmannv 0x2f addupper 74*26b1cbf8SGerd Hoffmannb 0x30 addupper 75*26b1cbf8SGerd Hoffmannn 0x31 addupper 76*26b1cbf8SGerd Hoffmannm 0x32 addupper 77*26b1cbf8SGerd Hoffmann 78*26b1cbf8SGerd Hoffmannspace 0x39 localstate 79*26b1cbf8SGerd Hoffmann 80*26b1cbf8SGerd Hoffmannless 0x56 81*26b1cbf8SGerd Hoffmanngreater 0x56 shift 82*26b1cbf8SGerd Hoffmannbar 0x56 altgr 83*26b1cbf8SGerd Hoffmannbrokenbar 0x56 shift altgr 84*26b1cbf8SGerd Hoffmann 85*26b1cbf8SGerd Hoffmann# 86*26b1cbf8SGerd Hoffmann# Esc and Function keys 87*26b1cbf8SGerd Hoffmann# 88*26b1cbf8SGerd HoffmannEscape 0x1 localstate 89*26b1cbf8SGerd HoffmannF1 0x3b localstate 90*26b1cbf8SGerd HoffmannF2 0x3c localstate 91*26b1cbf8SGerd HoffmannF3 0x3d localstate 92*26b1cbf8SGerd HoffmannF4 0x3e localstate 93*26b1cbf8SGerd HoffmannF5 0x3f localstate 94*26b1cbf8SGerd HoffmannF6 0x40 localstate 95*26b1cbf8SGerd HoffmannF7 0x41 localstate 96*26b1cbf8SGerd HoffmannF8 0x42 localstate 97*26b1cbf8SGerd HoffmannF9 0x43 localstate 98*26b1cbf8SGerd HoffmannF10 0x44 localstate 99*26b1cbf8SGerd HoffmannF11 0x57 localstate 100*26b1cbf8SGerd HoffmannF12 0x58 localstate 101*26b1cbf8SGerd Hoffmann 102*26b1cbf8SGerd Hoffmann# Printscreen, Scrollock and Pause 103*26b1cbf8SGerd Hoffmann# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37), 104*26b1cbf8SGerd Hoffmann# but (0xe0, 0x37) seems to work. 105*26b1cbf8SGerd HoffmannPrint 0xb7 localstate 106*26b1cbf8SGerd HoffmannSys_Req 0xb7 localstate 107*26b1cbf8SGerd HoffmannExecute 0xb7 localstate 108*26b1cbf8SGerd HoffmannScroll_Lock 0x46 109*26b1cbf8SGerd Hoffmann 110*26b1cbf8SGerd Hoffmann# 111*26b1cbf8SGerd Hoffmann# Insert - PgDown 112*26b1cbf8SGerd Hoffmann# 113*26b1cbf8SGerd HoffmannInsert 0xd2 localstate 114*26b1cbf8SGerd HoffmannDelete 0xd3 localstate 115*26b1cbf8SGerd HoffmannHome 0xc7 localstate 116*26b1cbf8SGerd HoffmannEnd 0xcf localstate 117*26b1cbf8SGerd HoffmannPage_Up 0xc9 localstate 118*26b1cbf8SGerd HoffmannPage_Down 0xd1 localstate 119*26b1cbf8SGerd Hoffmann 120*26b1cbf8SGerd Hoffmann# 121*26b1cbf8SGerd Hoffmann# Arrow keys 122*26b1cbf8SGerd Hoffmann# 123*26b1cbf8SGerd HoffmannLeft 0xcb localstate 124*26b1cbf8SGerd HoffmannUp 0xc8 localstate 125*26b1cbf8SGerd HoffmannDown 0xd0 localstate 126*26b1cbf8SGerd HoffmannRight 0xcd localstate 127*26b1cbf8SGerd Hoffmann 128*26b1cbf8SGerd Hoffmann# 129*26b1cbf8SGerd Hoffmann# Numpad 130*26b1cbf8SGerd Hoffmann# 131*26b1cbf8SGerd HoffmannNum_Lock 0x45 132*26b1cbf8SGerd HoffmannKP_Divide 0xb5 133*26b1cbf8SGerd HoffmannKP_Multiply 0x37 134*26b1cbf8SGerd HoffmannKP_Subtract 0x4a 135*26b1cbf8SGerd HoffmannKP_Add 0x4e 136*26b1cbf8SGerd HoffmannKP_Enter 0x9c 137*26b1cbf8SGerd Hoffmann 138*26b1cbf8SGerd HoffmannKP_Decimal 0x53 numlock 139*26b1cbf8SGerd HoffmannKP_Separator 0x53 numlock 140*26b1cbf8SGerd HoffmannKP_Delete 0x53 141*26b1cbf8SGerd Hoffmann 142*26b1cbf8SGerd HoffmannKP_0 0x52 numlock 143*26b1cbf8SGerd HoffmannKP_Insert 0x52 144*26b1cbf8SGerd Hoffmann 145*26b1cbf8SGerd HoffmannKP_1 0x4f numlock 146*26b1cbf8SGerd HoffmannKP_End 0x4f 147*26b1cbf8SGerd Hoffmann 148*26b1cbf8SGerd HoffmannKP_2 0x50 numlock 149*26b1cbf8SGerd HoffmannKP_Down 0x50 150*26b1cbf8SGerd Hoffmann 151*26b1cbf8SGerd HoffmannKP_3 0x51 numlock 152*26b1cbf8SGerd HoffmannKP_Next 0x51 153*26b1cbf8SGerd Hoffmann 154*26b1cbf8SGerd HoffmannKP_4 0x4b numlock 155*26b1cbf8SGerd HoffmannKP_Left 0x4b 156*26b1cbf8SGerd Hoffmann 157*26b1cbf8SGerd HoffmannKP_5 0x4c numlock 158*26b1cbf8SGerd HoffmannKP_Begin 0x4c 159*26b1cbf8SGerd Hoffmann 160*26b1cbf8SGerd HoffmannKP_6 0x4d numlock 161*26b1cbf8SGerd HoffmannKP_Right 0x4d 162*26b1cbf8SGerd Hoffmann 163*26b1cbf8SGerd HoffmannKP_7 0x47 numlock 164*26b1cbf8SGerd HoffmannKP_Home 0x47 165*26b1cbf8SGerd Hoffmann 166*26b1cbf8SGerd HoffmannKP_8 0x48 numlock 167*26b1cbf8SGerd HoffmannKP_Up 0x48 168*26b1cbf8SGerd Hoffmann 169*26b1cbf8SGerd HoffmannKP_9 0x49 numlock 170*26b1cbf8SGerd HoffmannKP_Prior 0x49 171*26b1cbf8SGerd Hoffmann 172*26b1cbf8SGerd HoffmannCaps_Lock 0x3a 173*26b1cbf8SGerd Hoffmann# 174*26b1cbf8SGerd Hoffmann# Inhibited keys 175*26b1cbf8SGerd Hoffmann# 176*26b1cbf8SGerd HoffmannMulti_key 0x0 inhibit 1773d11d0ebSbellard 1783d11d0ebSbellard# 1793d11d0ebSbellard# Top row 1803d11d0ebSbellard# 1813d11d0ebSbellardsection 0x29 1823d11d0ebSbellardonehalf 0x29 shift 1833d11d0ebSbellard 1843d11d0ebSbellard# 1 1853d11d0ebSbellardexclam 0x2 shift 1863d11d0ebSbellard 1873d11d0ebSbellard# 2 1883d11d0ebSbellardquotedbl 0x3 shift 1893d11d0ebSbellardat 0x3 altgr 1903d11d0ebSbellard 1913d11d0ebSbellard# 3 1923d11d0ebSbellardnumbersign 0x4 shift 1933d11d0ebSbellardsterling 0x4 altgr 1943d11d0ebSbellard# 4 1953d11d0ebSbellardcurrency 0x5 shift 1963d11d0ebSbellarddollar 0x5 altgr 1973d11d0ebSbellard# 5 1983d11d0ebSbellardpercent 0x6 shift 1993d11d0ebSbellard# 6 2003d11d0ebSbellardampersand 0x7 shift 2013d11d0ebSbellard# 7 2023d11d0ebSbellardslash 0x8 shift 2033d11d0ebSbellardbraceleft 0x8 altgr 2043d11d0ebSbellard# 8 2053d11d0ebSbellardparenleft 0x9 shift 2063d11d0ebSbellardbracketleft 0x9 altgr 2073d11d0ebSbellard# 9 2083d11d0ebSbellardparenright 0xa shift 2093d11d0ebSbellardbracketright 0xa altgr 2103d11d0ebSbellard# 0 2113d11d0ebSbellardequal 0xb shift 2123d11d0ebSbellardbraceright 0xb altgr 2133d11d0ebSbellard 2143d11d0ebSbellardplus 0xc 2153d11d0ebSbellardquestion 0xc shift 2163d11d0ebSbellardbackslash 0xc altgr 2173d11d0ebSbellard 2183d11d0ebSbellardacute 0xd 2193d11d0ebSbellarddead_acute 0xd 2203d11d0ebSbellardgrave 0xd shift 2213d11d0ebSbellarddead_grave 0xd shift 2223d11d0ebSbellard 2233d11d0ebSbellard# 2243d11d0ebSbellard# QWERTY first row 2253d11d0ebSbellard# 2263d11d0ebSbellardEuroSign 0x12 altgr 2273d11d0ebSbellardaring 0x1a 2283d11d0ebSbellardAring 0x1a shift 2293d11d0ebSbellarddead_diaeresis 0x1b 2303d11d0ebSbellarddead_circumflex 0x1b shift 2313d11d0ebSbellarddead_tilde 0x1b altgr 2323d11d0ebSbellard 2333d11d0ebSbellard# 2343d11d0ebSbellard# QWERTY second row 2353d11d0ebSbellard# 2363d11d0ebSbellardodiaeresis 0x27 2373d11d0ebSbellardOdiaeresis 0x27 shift 2383d11d0ebSbellardadiaeresis 0x28 2393d11d0ebSbellardAdiaeresis 0x28 shift 2403d11d0ebSbellardapostrophe 0x2b 2413d11d0ebSbellardasterisk 0x2b shift 2423d11d0ebSbellard 2433d11d0ebSbellard# 2443d11d0ebSbellard# QWERTY third row 2453d11d0ebSbellard# 2463d11d0ebSbellardless 0x56 2473d11d0ebSbellardgreater 0x56 shift 2483d11d0ebSbellardbar 0x56 altgr 2493d11d0ebSbellardmu 0x32 altgr 2503d11d0ebSbellardcomma 0x33 2513d11d0ebSbellardsemicolon 0x33 shift 2523d11d0ebSbellardperiod 0x34 2533d11d0ebSbellardcolon 0x34 shift 2543d11d0ebSbellardminus 0x35 2553d11d0ebSbellardunderscore 0x35 shift 256