/usr/share/bochs/keymaps/x11-pc-da.map is in bochs 2.6-5build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | # Bochs Keymap file
# $Id: x11-pc-da.map,v 0.9 2002/09/02
# Target: PC(x86) keyboard, DA keymap
# Author: Andreas Ott
#
# The keymap file describes the layout of a keyboard, and how it translates
# into Bochs key codes.
#
# Format:
# BX_Keysym ASCII_equivalent Xwin_Keysym
#
# Or, for keys that require modifiers:
# BX_Keysym+BX_Modifier ASCII_equivalent Xwin_Keysym
#
# BX_Keysym and BX_Modifier must be present in the bx_key_symbol[] list in
# gui/keymap.cc. The BX_Modifier is usually a shift key press, but it
# could be any key. Presently a maximum of one modifier is supported, but this
# could be changed in keymap.h (structure def has only one slot for modifier),
# keymap.cc (parsing code), and iodev/keyboard.cc (simulate keypresses for >1
# modifier).
#
# The ASCII_equivalent must be either apostrophe + one character + apostrophe,
# or one of these keywords: space, return, tab, backslash, apostrophe, none.
# This format is designed to look like a char constant in C, but it's a very
# simple parser. There's no concept of backslash being an escape char. The
# backslash and apostrophe entries are provided for aesthetic purposes only: no
# C++ programmer wants to see '\' or '''. The parser doesn't care, but they are
# ugly.
#
# Xwin_Keysym is the X windows equivalent of the key combination. These
# codes should match whatever you find in /usr/X11R6/include/X11/keysymdef.h.
# If you're running X windows, Bochs will take each of these Xwin_Keysyms,
# pull off the XK_ in front, and use XStringToKeysym() to change them into
# numerical codes. If this lookup fails, you will get a panic and you need
# to edit the keymap file.
BX_KEY_0 '0' XK_0
BX_KEY_0+BX_KEY_ALT_R '}' XK_braceright
BX_KEY_0+BX_KEY_SHIFT_L '=' XK_equal
BX_KEY_1 '1' XK_1
BX_KEY_1+BX_KEY_SHIFT_L '!' XK_exclam
BX_KEY_1+BX_KEY_ALT_R '¡' XK_exclamdown
BX_KEY_2 '2' XK_2
BX_KEY_2+BX_KEY_SHIFT_L '=' XK_quotedbl
BX_KEY_2+BX_KEY_ALT_R '@' XK_at # XK_twosuperior
BX_KEY_3 '3' XK_3
BX_KEY_3+BX_KEY_SHIFT_L '#' XK_numbersign
BX_KEY_3+BX_KEY_ALT_R '£' XK_sterling
BX_KEY_4 '4' XK_4
BX_KEY_4+BX_KEY_SHIFT_L '¤' XK_currency
BX_KEY_4+BX_KEY_ALT_R '$' XK_dollar
BX_KEY_5 '5' XK_5
BX_KEY_5+BX_KEY_ALT_R '½' XK_onehalf
BX_KEY_5+BX_KEY_SHIFT_L '%' XK_percent
BX_KEY_6 '6' XK_6
BX_KEY_6+BX_KEY_SHIFT_L '&' XK_ampersand
BX_KEY_6+BX_KEY_ALT_R '¥' XK_yen
BX_KEY_7 '7' XK_7
BX_KEY_7+BX_KEY_ALT_R '{' XK_braceleft
BX_KEY_7+BX_KEY_SHIFT_L '/' XK_slash
BX_KEY_8 '8' XK_8
BX_KEY_8+BX_KEY_ALT_R '[' XK_bracketleft
BX_KEY_8+BX_KEY_SHIFT_L '(' XK_parenleft
BX_KEY_9 '9' XK_9
BX_KEY_9+BX_KEY_ALT_R ']' XK_bracketright
BX_KEY_9+BX_KEY_SHIFT_L ')' XK_parenright
BX_KEY_A+BX_KEY_SHIFT_L 'A' XK_A
BX_KEY_A 'a' XK_a
BX_KEY_A+BX_KEY_ALT_R 'ª' XK_ordfeminine
BX_KEY_B+BX_KEY_SHIFT_L 'B' XK_B
BX_KEY_B 'b' XK_b
BX_KEY_B+BX_KEY_ALT_R none XK_rightdoublequotemark
BX_KEY_C+BX_KEY_SHIFT_L 'C' XK_C
BX_KEY_C 'c' XK_c
BX_KEY_C+BX_KEY_ALT_R '©' XK_copyright
BX_KEY_D+BX_KEY_SHIFT_L 'D' XK_D
BX_KEY_D 'd' XK_d
BX_KEY_D+BX_KEY_ALT_R 'ð' XK_eth
BX_KEY_E+BX_KEY_SHIFT_L 'E' XK_E
BX_KEY_E+BX_KEY_ALT_R '?' XK_EuroSign
BX_KEY_E 'e' XK_e
BX_KEY_F+BX_KEY_SHIFT_L 'F' XK_F
BX_KEY_F+BX_KEY_ALT_R '?' XK_dstroke
BX_KEY_F 'f' XK_f
BX_KEY_G+BX_KEY_SHIFT_L 'G' XK_G
BX_KEY_G+BX_KEY_ALT_R '?' XK_eng
BX_KEY_G 'g' XK_g
BX_KEY_H+BX_KEY_SHIFT_L 'H' XK_H
BX_KEY_H 'h' XK_h
BX_KEY_H+BX_KEY_ALT_R '?' XK_hstroke
BX_KEY_I+BX_KEY_SHIFT_L 'I' XK_I
BX_KEY_I 'i' XK_i
BX_KEY_I+BX_KEY_ALT_R none XK_rightarrow
BX_KEY_J+BX_KEY_SHIFT_L 'J' XK_J
BX_KEY_J 'j' XK_j
BX_KEY_K+BX_KEY_SHIFT_L 'K' XK_K
BX_KEY_K 'k' XK_k
BX_KEY_K+BX_KEY_ALT_R none XK_kra
BX_KEY_L+BX_KEY_SHIFT_L 'L' XK_L
BX_KEY_L 'l' XK_l
BX_KEY_M+BX_KEY_SHIFT_L 'M' XK_M
BX_KEY_M 'm' XK_m
BX_KEY_M+BX_KEY_ALT_R 'µ' XK_mu
BX_KEY_N+BX_KEY_SHIFT_L 'N' XK_N
BX_KEY_N 'n' XK_n
BX_KEY_O+BX_KEY_SHIFT_L 'O' XK_O
BX_KEY_O 'o' XK_o
BX_KEY_O+BX_KEY_ALT_R none XK_oslash
BX_KEY_P+BX_KEY_SHIFT_L 'P' XK_P
BX_KEY_P 'p' XK_p
BX_KEY_P+BX_KEY_ALT_R 'þ' XK_thorn
BX_KEY_Q+BX_KEY_SHIFT_L 'Q' XK_Q
BX_KEY_Q+BX_KEY_ALT_R '@' XK_at
BX_KEY_Q 'q' XK_q
BX_KEY_R+BX_KEY_SHIFT_L 'R' XK_R
BX_KEY_R+BX_KEY_ALT_R '®' XK_registered
BX_KEY_R 'r' XK_r
BX_KEY_S+BX_KEY_SHIFT_L 'S' XK_S
BX_KEY_S 's' XK_s
BX_KEY_S+BX_KEY_ALT_R 'ß' XK_ssharp
BX_KEY_T+BX_KEY_SHIFT_L 'T' XK_T
BX_KEY_T 't' XK_t
BX_KEY_T+BX_KEY_ALT_R 'þ' XK_thorn
BX_KEY_U+BX_KEY_SHIFT_L 'U' XK_U
BX_KEY_U+BX_KEY_ALT_R none XK_downarrow
BX_KEY_U 'u' XK_u
BX_KEY_V+BX_KEY_SHIFT_L 'V' XK_V
BX_KEY_V+BX_KEY_ALT_R none XK_leftdoublequotemark
BX_KEY_V 'v' XK_v
BX_KEY_W+BX_KEY_SHIFT_L 'W' XK_W
BX_KEY_W+BX_KEY_ALT_R '?' XK_lstroke
BX_KEY_W 'w' XK_w
BX_KEY_X+BX_KEY_SHIFT_L 'X' XK_X
BX_KEY_X+BX_KEY_ALT_R '»' XK_guillemotright
BX_KEY_X 'x' XK_x
BX_KEY_Y+BX_KEY_SHIFT_L 'Y' XK_Y
BX_KEY_Y+BX_KEY_ALT_R none XK_leftarrow
BX_KEY_Y 'y' XK_y
BX_KEY_Z+BX_KEY_SHIFT_L 'Z' XK_Z
BX_KEY_Z+BX_KEY_ALT_R '«' XK_guillemotleft
BX_KEY_Z 'z' XK_z
BX_KEY_F1 none XK_F1
BX_KEY_F2 none XK_F2
BX_KEY_F3 none XK_F3
BX_KEY_F4 none XK_F4
BX_KEY_F5 none XK_F5
BX_KEY_F6 none XK_F6
BX_KEY_F7 none XK_F7
BX_KEY_F8 none XK_F8
BX_KEY_F9 none XK_F9
BX_KEY_F10 none XK_F10
BX_KEY_F11 none XK_F11
BX_KEY_F12 none XK_F12
BX_KEY_ALT_L none XK_Alt_L
BX_KEY_ALT_L none XK_Meta_L
BX_KEY_ALT_R none XK_Mode_switch
BX_KEY_ALT_R none XK_Multi_key
BX_KEY_BACKSLASH apostrophe XK_apostrophe
BX_KEY_BACKSLASH+BX_KEY_SHIFT_L '*' XK_asterisk
BX_KEY_BACKSPACE none XK_BackSpace
BX_KEY_CAPS_LOCK none XK_Caps_Lock
BX_KEY_COMMA ',' XK_comma
BX_KEY_COMMA+BX_KEY_ALT_R none XK_horizconnector
BX_KEY_COMMA+BX_KEY_SHIFT_L ';' XK_semicolon
BX_KEY_CTRL_L none XK_Control_L
BX_KEY_CTRL_R none XK_Control_R
BX_KEY_DELETE none XK_Delete
BX_KEY_DOWN none XK_Down
BX_KEY_END none XK_End
BX_KEY_ENTER return XK_Return
BX_KEY_EQUALS none XK_acute
BX_KEY_EQUALS+BX_KEY_ALT_R '|' XK_bar
BX_KEY_EQUALS+BX_KEY_SHIFT_L '`' XK_grave
BX_KEY_ESC none XK_Escape
BX_KEY_GRAVE '½' XK_onehalf
BX_KEY_GRAVE+BX_KEY_SHIFT_L '§' XK_section
BX_KEY_GRAVE+BX_KEY_ALT_R '¾' XK_threequarters
BX_KEY_HOME none XK_Home
BX_KEY_INSERT none XK_Insert
BX_KEY_KP_5 none XK_KP_5
BX_KEY_KP_5 none XK_KP_Begin
BX_KEY_KP_ADD none XK_KP_Add
BX_KEY_KP_DELETE none XK_KP_Decimal
BX_KEY_KP_DELETE none XK_KP_Delete
BX_KEY_KP_DIVIDE none XK_KP_Divide
BX_KEY_KP_DOWN none XK_KP_2
BX_KEY_KP_DOWN none XK_KP_Down
BX_KEY_KP_END none XK_KP_1
BX_KEY_KP_END none XK_KP_End
BX_KEY_KP_ENTER none XK_KP_Enter
BX_KEY_KP_HOME none XK_KP_7
BX_KEY_KP_HOME none XK_KP_Home
BX_KEY_KP_INSERT none XK_KP_0
BX_KEY_KP_INSERT none XK_KP_Insert
BX_KEY_KP_LEFT none XK_KP_4
BX_KEY_KP_LEFT none XK_KP_Left
BX_KEY_KP_MULTIPLY none XK_KP_Multiply
BX_KEY_KP_PAGE_DOWN none XK_KP_3
BX_KEY_KP_PAGE_DOWN none XK_KP_Page_Down
BX_KEY_KP_PAGE_UP none XK_KP_9
BX_KEY_KP_PAGE_UP none XK_KP_Page_Up
BX_KEY_KP_RIGHT none XK_KP_6
BX_KEY_KP_RIGHT none XK_KP_Right
BX_KEY_KP_SUBTRACT none XK_KP_Subtract
BX_KEY_KP_UP none XK_KP_8
BX_KEY_KP_UP none XK_KP_Up
BX_KEY_LEFT none XK_Left
BX_KEY_LEFT_BACKSLASH+BX_KEY_ALT_R backslash XK_backslash
BX_KEY_LEFT_BACKSLASH+BX_KEY_SHIFT_L '>' XK_greater
BX_KEY_LEFT_BACKSLASH '<' XK_less
BX_KEY_LEFT_BRACKET+BX_KEY_SHIFT_L 'Å' XK_Aring
BX_KEY_LEFT_BRACKET+BX_KEY_ALT_L none XK_diaeresis
BX_KEY_LEFT_BRACKET 'å' XK_aring
BX_KEY_MENU none XK_Menu
BX_KEY_MINUS+BX_KEY_ALT_R '±' XK_plusminus
BX_KEY_MINUS+BX_KEY_SHIFT_L '?' XK_question
BX_KEY_MINUS '+' XK_plus
BX_KEY_NUM_LOCK none XK_Num_Lock
BX_KEY_PAGE_DOWN none XK_Page_Down
BX_KEY_PAGE_UP none XK_Page_Up
BX_KEY_PAUSE none XK_Break
BX_KEY_PAUSE none XK_Pause
BX_KEY_PERIOD+BX_KEY_SHIFT_L ':' XK_colon
BX_KEY_PERIOD '.' XK_period
BX_KEY_PERIOD+BX_KEY_ALT_R '·' XK_periodcentered
BX_KEY_PRINT none XK_Print
BX_KEY_PRINT none XK_Sys_Req
BX_KEY_RIGHT none XK_Right
BX_KEY_RIGHT_BRACKET+BX_KEY_ALT_R '~' XK_asciitilde
BX_KEY_RIGHT_BRACKET+BX_KEY_SHIFT_L '^' XK_asciicircum
BX_KEY_RIGHT_BRACKET '"' XK_diaeresis
BX_KEY_SCRL_LOCK none XK_Scroll_Lock
BX_KEY_SEMICOLON+BX_KEY_SHIFT_L 'Æ' XK_AE
BX_KEY_SEMICOLON 'æ' XK_ae
BX_KEY_SHIFT_L none XK_Shift_L
BX_KEY_SHIFT_R none XK_Shift_R
BX_KEY_SINGLE_QUOTE 'ø' XK_oslash
BX_KEY_SINGLE_QUOTE+BX_KEY_SHIFT_L 'Ø' XK_Ooblique
BX_KEY_SLASH+BX_KEY_ALT_R '' XK_hyphen
BX_KEY_SLASH '-' XK_minus
BX_KEY_SLASH+BX_KEY_SHIFT_L '_' XK_underscore
BX_KEY_SPACE space XK_space
BX_KEY_TAB none XK_ISO_Left_Tab
BX_KEY_TAB tab XK_Tab
BX_KEY_UP none XK_Up
BX_KEY_WIN_L none XK_Super_L
BX_KEY_WIN_R none XK_Super_R
|