# Bochs Keymap file
# $Id: x11-pc-it.map 13841 2020-05-06 11:47:41Z vruppert $
# Target: PC(x86) keyboard, IT_IT keymap (it)
# Author: Michele Giacomone
#
# 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_ALT_L                                    none            XK_Meta_L
BX_KEY_ALT_R                                    none            XK_Alt_R
BX_KEY_ALT_R                                    none            XK_Mode_switch
BX_KEY_ALT_R                                    none            XK_Multi_key
BX_KEY_CTRL_L                                   none            XK_Control_L
BX_KEY_SHIFT_L                                  none            XK_Shift_L
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_CTRL_R                                   none            XK_Control_R
BX_KEY_SHIFT_R                                  none            XK_Shift_R
BX_KEY_CAPS_LOCK                                none            XK_Caps_Lock
BX_KEY_NUM_LOCK                                 none            XK_Num_Lock
BX_KEY_ALT_L                                    none            XK_Alt_L
BX_KEY_ALT_R                                    none            XK_ISO_Level3_Shift
BX_KEY_A                                        'a'             XK_a
BX_KEY_A+BX_KEY_SHIFT_L                         'A'             XK_A
BX_KEY_A+BX_KEY_ALT_R                           'á'             XK_ae
BX_KEY_A+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Á'             XK_AE
BX_KEY_B                                        'b'             XK_b
BX_KEY_B+BX_KEY_SHIFT_L                         'B'             XK_B
BX_KEY_B+BX_KEY_ALT_R                           'b'             XK_rightdoublequotemark
BX_KEY_B+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_rightsinglequotemark
BX_KEY_C                                        'c'             XK_c
BX_KEY_C+BX_KEY_SHIFT_L                         'C'             XK_C
BX_KEY_C+BX_KEY_ALT_R                           '©'             XK_cent
BX_KEY_C+BX_KEY_SHIFT_L+BX_KEY_ALT_R            '¢'             XK_copyright
BX_KEY_D                                        'd'             XK_d
BX_KEY_D+BX_KEY_SHIFT_L                         'D'             XK_D
BX_KEY_D+BX_KEY_ALT_R                           'ð'             XK_eth
BX_KEY_D+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ð'             XK_ETH
BX_KEY_E                                        'e'             XK_e
BX_KEY_E+BX_KEY_SHIFT_L                         'E'             XK_E
BX_KEY_E+BX_KEY_ALT_R                           'é'             XK_EuroSign
#BX_KEY_E+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'É'             XK_cent same as 67
BX_KEY_F                                        'f'             XK_f
BX_KEY_F+BX_KEY_SHIFT_L                         'F'             XK_F
BX_KEY_F+BX_KEY_ALT_R                           'f'             XK_dstroke
BX_KEY_F+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_ordfeminine
BX_KEY_G                                        'g'             XK_g
BX_KEY_G+BX_KEY_SHIFT_L                         'G'             XK_G
BX_KEY_G+BX_KEY_ALT_R                           'g'             XK_eng
BX_KEY_G+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_ENG
BX_KEY_H                                        'h'             XK_h
BX_KEY_H+BX_KEY_SHIFT_L                         'H'             XK_H
BX_KEY_H+BX_KEY_ALT_R                           'h'             XK_hstroke
BX_KEY_H+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_Hstroke
BX_KEY_I                                        'i'             XK_i
BX_KEY_I+BX_KEY_SHIFT_L                         'I'             XK_I
BX_KEY_I+BX_KEY_ALT_R                           'í'             XK_rightarrow
BX_KEY_I+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Í'             XK_idotless
BX_KEY_J                                        'j'             XK_j
BX_KEY_J+BX_KEY_SHIFT_L                         'J'             XK_J
BX_KEY_J+BX_KEY_ALT_R                           'j'             XK_dead_hook
BX_KEY_J+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_dead_horn
BX_KEY_K                                        'k'             XK_k
BX_KEY_K+BX_KEY_SHIFT_L                         'K'             XK_K
BX_KEY_K+BX_KEY_ALT_R                           '½'             XK_kra
#BX_KEY_K+BX_KEY_SHIFT_L+BX_KEY_ALT_R            '¼'             XK_ampersand same as 186
BX_KEY_L                                        'l'             XK_l
BX_KEY_L+BX_KEY_SHIFT_L                         'L'             XK_L
BX_KEY_L+BX_KEY_ALT_R                           'ø'             XK_lstroke
BX_KEY_L+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ø'             XK_Lstroke
BX_KEY_M                                        'm'             XK_m
BX_KEY_M+BX_KEY_SHIFT_L                         'M'             XK_M
BX_KEY_M+BX_KEY_ALT_R                           'µ'             XK_mu
BX_KEY_M+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'µ'             XK_masculine
BX_KEY_N                                        'n'             XK_n
BX_KEY_N+BX_KEY_SHIFT_L                         'N'             XK_N
BX_KEY_N+BX_KEY_ALT_R                           'ñ'             XK_ntilde
BX_KEY_N+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ñ'             XK_Ntilde
BX_KEY_O                                        'o'             XK_o
BX_KEY_O+BX_KEY_SHIFT_L                         'O'             XK_O
BX_KEY_O+BX_KEY_ALT_R                           'ó'             XK_oslash
BX_KEY_O+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ó'             XK_Oslash
BX_KEY_P                                        'p'             XK_p
BX_KEY_P+BX_KEY_SHIFT_L                         'P'             XK_P
BX_KEY_P+BX_KEY_ALT_R                           'ö'             XK_thorn
BX_KEY_P+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ö'             XK_THORN
BX_KEY_Q                                        'q'             XK_q
BX_KEY_Q+BX_KEY_SHIFT_L                         'Q'             XK_Q
#BX_KEY_Q+BX_KEY_ALT_R                           'ä'             XK_at same as 221
BX_KEY_Q+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ä'             XK_Greek_OMEGA
BX_KEY_R                                        'r'             XK_r
BX_KEY_R+BX_KEY_SHIFT_L                         'R'             XK_R
BX_KEY_R+BX_KEY_ALT_R                           '®'             XK_paragraph
BX_KEY_R+BX_KEY_SHIFT_L+BX_KEY_ALT_R            '®'             XK_registered
BX_KEY_S                                        's'             XK_s
BX_KEY_S+BX_KEY_SHIFT_L                         'S'             XK_S
BX_KEY_S+BX_KEY_ALT_R                           'ß'             XK_ssharp
#BX_KEY_S+BX_KEY_SHIFT_L+BX_KEY_ALT_R            '§'             XK_section same as 232
BX_KEY_T                                        't'             XK_t
BX_KEY_T+BX_KEY_SHIFT_L                         'T'             XK_T
BX_KEY_T+BX_KEY_ALT_R                           'þ'             XK_tslash
BX_KEY_T+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Þ'             XK_Tslash
BX_KEY_U                                        'u'             XK_u
BX_KEY_U+BX_KEY_SHIFT_L                         'U'             XK_U
BX_KEY_U+BX_KEY_ALT_R                           'ú'             XK_downarrow
BX_KEY_U+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ú'             XK_uparrow
BX_KEY_V                                        'v'             XK_v
BX_KEY_V+BX_KEY_SHIFT_L                         'V'             XK_V
BX_KEY_V+BX_KEY_ALT_R                           'v'             XK_leftdoublequotemark
BX_KEY_V+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_leftsinglequotemark
BX_KEY_W                                        'w'             XK_w
BX_KEY_W+BX_KEY_SHIFT_L                         'W'             XK_W
#BX_KEY_W+BX_KEY_ALT_R                           'å'            XK_lstroke
#BX_KEY_W+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Å'            XK_Lstroke
BX_KEY_X                                        'x'             XK_x
BX_KEY_X+BX_KEY_SHIFT_L                         'X'             XK_X
#BX_KEY_X+BX_KEY_ALT_R                           'x'             XK_guillemotright same as 255
#BX_KEY_X+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_greater same as 253
BX_KEY_Y                                        'y'             XK_y
BX_KEY_Y+BX_KEY_SHIFT_L                         'Y'             XK_Y
BX_KEY_Y+BX_KEY_ALT_R                           'ü'             XK_leftarrow
BX_KEY_Y+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Ü'             XK_yen
BX_KEY_Z                                        'z'             XK_z
BX_KEY_Z+BX_KEY_SHIFT_L                         'Z'             XK_Z
#BX_KEY_Z+BX_KEY_ALT_R                           'æ'             XK_guillemotleft same as 254
#BX_KEY_Z+BX_KEY_SHIFT_L+BX_KEY_ALT_R            'Æ'             XK_less same as 252
BX_KEY_0                                        '0'             XK_0
BX_KEY_0+BX_KEY_SHIFT_L                         ')'             XK_equal
BX_KEY_0+BX_KEY_ALT_R                           '°'             XK_braceright
BX_KEY_0+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_dead_ogonek
BX_KEY_1                                        '1'             XK_1
BX_KEY_1+BX_KEY_SHIFT_L                         '!'             XK_exclam
BX_KEY_1+BX_KEY_ALT_R                           '¡'             XK_onesuperior
BX_KEY_1+BX_KEY_SHIFT_L+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_twosuperior
BX_KEY_2+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_dead_doubleacute
BX_KEY_3                                        '3'             XK_3
BX_KEY_3+BX_KEY_SHIFT_L                         '#'             XK_sterling
BX_KEY_3+BX_KEY_ALT_R                           '³'             XK_threesuperior
BX_KEY_3+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_dead_tilde
BX_KEY_4                                        '4'             XK_4
BX_KEY_4+BX_KEY_SHIFT_L                         '$'             XK_dollar
BX_KEY_4+BX_KEY_ALT_R                           '¤'             XK_onequarter
BX_KEY_4+BX_KEY_SHIFT_L+BX_KEY_ALT_R            '£'             XK_oneeighth
BX_KEY_5                                        '5'             XK_5
BX_KEY_5+BX_KEY_SHIFT_L                         '%'             XK_percent
BX_KEY_5+BX_KEY_ALT_R                           '¤'             XK_onehalf
BX_KEY_5+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_threeeighths
BX_KEY_6                                        '6'             XK_6
BX_KEY_6+BX_KEY_SHIFT_L                         none            XK_ampersand
BX_KEY_6+BX_KEY_ALT_R                           '¼'             XK_notsign
BX_KEY_6+BX_KEY_SHIFT_L+BX_KEY_ALT_R            '^'             XK_fiveeighths
BX_KEY_7                                        '7'             XK_7
BX_KEY_7+BX_KEY_SHIFT_L                         '&'             XK_slash
BX_KEY_7+BX_KEY_ALT_R                           '½'             XK_braceleft
BX_KEY_7+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_seveneighths
BX_KEY_8                                        '8'             XK_8
BX_KEY_8+BX_KEY_SHIFT_L                         '*'             XK_parenleft
#BX_KEY_8+BX_KEY_ALT_R                           '¾'             XK_bracketleft same as 229
BX_KEY_8+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_trademark
BX_KEY_9                                        '9'             XK_9
BX_KEY_9+BX_KEY_SHIFT_L                         '('             XK_parenright
#BX_KEY_9+BX_KEY_ALT_R                           none            XK_bracketright same as 237
BX_KEY_9+BX_KEY_SHIFT_L+BX_KEY_ALT_R            none            XK_plusminus
BX_KEY_ESC                                      ''            XK_Escape
BX_KEY_SPACE                                    space           XK_space
BX_KEY_SINGLE_QUOTE                             apostrophe      XK_agrave
BX_KEY_SINGLE_QUOTE+BX_KEY_SHIFT_L              '"'             XK_degree
BX_KEY_SINGLE_QUOTE+BX_KEY_ALT_R                apostrophe      XK_numbersign
BX_KEY_SINGLE_QUOTE+BX_KEY_ALT_R+BX_KEY_SHIFT_L '"'             XK_dead_abovering
BX_KEY_COMMA                                    ','             XK_comma
BX_KEY_COMMA+BX_KEY_SHIFT_L                     '<'             XK_semicolon
BX_KEY_COMMA+BX_KEY_ALT_R                       'ç'             XK_dead_acute
BX_KEY_COMMA+BX_KEY_ALT_R+BX_KEY_SHIFT_L        'Ç'             XK_multiply
BX_KEY_PERIOD                                   '.'             XK_period
BX_KEY_PERIOD+BX_KEY_SHIFT_L                    '>'             XK_colon
BX_KEY_PERIOD+BX_KEY_ALT_R                      '·'             XK_periodcentered
BX_KEY_PERIOD+BX_KEY_ALT_R+BX_KEY_SHIFT_L       none            XK_dead_diaeresis
BX_KEY_SLASH                                    '/'             XK_minus
BX_KEY_SLASH+BX_KEY_SHIFT_L                     '?'             XK_underscore
BX_KEY_SLASH+BX_KEY_ALT_R                       '¿'             XK_dead_macron
BX_KEY_SLASH+BX_KEY_ALT_R+BX_KEY_SHIFT_L        none            XK_division
BX_KEY_SEMICOLON                                ';'             XK_ograve
BX_KEY_SEMICOLON+BX_KEY_SHIFT_L                 ':'             XK_ccedilla
BX_KEY_SEMICOLON+BX_KEY_ALT_R                   '¶'             XK_at
BX_KEY_SEMICOLON+BX_KEY_ALT_R+BX_KEY_SHIFT_L    '°'             XK_dead_cedilla
BX_KEY_EQUALS                                   '='             XK_igrave
BX_KEY_EQUALS+BX_KEY_SHIFT_L                    '+'             XK_asciicircum
BX_KEY_EQUALS+BX_KEY_ALT_R                      '×'             XK_asciitilde
BX_KEY_EQUALS+BX_KEY_ALT_R+BX_SHIFT_L           '÷'             XK_dead_circumflex
BX_KEY_LEFT_BRACKET                             '['             XK_egrave
BX_KEY_LEFT_BRACKET+BX_KEY_SHIFT_L              '{'             XK_eacute
BX_KEY_LEFT_BRACKET+BX_KEY_ALT_R                '«'             XK_bracketleft
#BX_KEY_LEFT_BRACKET+BX_KEY_ALT_R+BX_KEY_SHIFT_L none            XK_braceleft same as 191
BX_KEY_BACKSLASH                                backslash       XK_ugrave
BX_KEY_BACKSLASH+BX_KEY_SHIFT_L                 '|'             XK_section
BX_KEY_BACKSLASH+BX_KEY_ALT_R                   '¬'             XK_dead_grave
BX_KEY_BACKSLASH+BX_KEY_ALT_R+BX_KEY_SHIFT_L    '¦'             XK_dead_breve
BX_KEY_RIGHT_BRACKET                            ']'             XK_plus
BX_KEY_RIGHT_BRACKET+BX_KEY_SHIFT_L             '}'             XK_asterisk
BX_KEY_RIGHT_BRACKET+BX_KEY_ALT_R               '»'             XK_bracketright
#BX_KEY_RIGHT_BRACKET+BX_KEY_ALT_R+BX_KEY_SHIFT_L none           XK_braceright same as 163
BX_KEY_MINUS                                    '-'             XK_apostrophe
BX_KEY_MINUS+BX_KEY_SHIFT_L                     '_'             XK_question
BX_KEY_MINUS+BX_KEY_ALT_R                       '¥'             XK_grave
BX_KEY_MINUS+BX_KEY_ALT_R+BX_KEY_SHIFT_L        none            XK_questiondown
BX_KEY_GRAVE                                    '`'             XK_backslash
BX_KEY_GRAVE+BX_KEY_SHIFT_L                     '~'             XK_bar
#BX_KEY_GRAVE+BX_KEY_ALT_R                       none            XK_notsign same as 187
BX_KEY_GRAVE+BX_KEY_ALT_R+BX_KEY_SHIFT_L        none            XK_brokenbar
BX_KEY_BACKSPACE                                ''            XK_BackSpace
#BX_KEY_BACKSPACE+BX_KEY_ALT_R                   none            XK_ 0x0000 non definito
BX_KEY_ENTER                                    return          XK_Return
BX_KEY_TAB                                      tab             XK_Tab
BX_KEY_TAB+BX_KEY_SHIFT_L                       none            XK_ISO_Left_Tab
BX_KEY_LEFT_BACKSLASH                           backslash       XK_less
BX_KEY_LEFT_BACKSLASH+BX_KEY_SHIFT_L            '|'             XK_greater
BX_KEY_LEFT_BACKSLASH+BX_KEY_ALT_R              backslash       XK_guillemotleft
BX_KEY_LEFT_BACKSLASH+BX_KEY_ALT_R+BX_KEY_SHIFT_L none          XK_guillemotright
BX_KEY_PRINT                                    none            XK_Print
BX_KEY_SCRL_LOCK                                none            XK_Scroll_Lock
BX_KEY_PAUSE                                    none            XK_Pause
BX_KEY_INSERT                                   none            XK_Insert
BX_KEY_DELETE                                   none            XK_Delete
BX_KEY_HOME                                     none            XK_Home
BX_KEY_END                                      none            XK_End
BX_KEY_PAGE_UP                                  none            XK_Page_Up
BX_KEY_PAGE_DOWN                                none            XK_Page_Down
BX_KEY_KP_ADD                                   '+'             XK_KP_Add
BX_KEY_KP_SUBTRACT                              '-'             XK_KP_Subtract
BX_KEY_KP_END                                   none            XK_KP_End
BX_KEY_KP_END                                   '1'             XK_KP_1
BX_KEY_KP_DOWN                                  none            XK_KP_Down
BX_KEY_KP_DOWN                                  '2'             XK_KP_2
BX_KEY_KP_PAGE_DOWN                             none            XK_KP_Page_Down
BX_KEY_KP_PAGE_DOWN                             '3'             XK_KP_3
BX_KEY_KP_LEFT                                  none            XK_KP_Left
BX_KEY_KP_LEFT                                  '4'             XK_KP_4
BX_KEY_KP_5                                     none            XK_KP_Begin
BX_KEY_KP_5                                     '5'             XK_KP_5
BX_KEY_KP_RIGHT                                 none            XK_KP_Right
BX_KEY_KP_RIGHT                                 '6'             XK_KP_6
BX_KEY_KP_HOME                                  none            XK_KP_Home
BX_KEY_KP_HOME                                  '7'             XK_KP_7
BX_KEY_KP_UP                                    none            XK_KP_Up
BX_KEY_KP_UP                                    '8'             XK_KP_8
BX_KEY_KP_PAGE_UP                               none            XK_KP_Page_Up
BX_KEY_KP_PAGE_UP                               '9'             XK_KP_9
BX_KEY_KP_INSERT                                none            XK_KP_Insert
BX_KEY_KP_INSERT                                '0'             XK_KP_0
BX_KEY_KP_DELETE                                none            XK_KP_Delete
BX_KEY_KP_DELETE                                '.'             XK_KP_Decimal
BX_KEY_KP_ENTER                                 return          XK_KP_Enter
BX_KEY_KP_MULTIPLY                              '*'             XK_KP_Multiply
BX_KEY_KP_DIVIDE                                '/'             XK_KP_Divide
BX_KEY_UP                                       none            XK_Up
BX_KEY_DOWN                                     none            XK_Down
BX_KEY_LEFT                                     none            XK_Left
BX_KEY_RIGHT                                    none            XK_Right
BX_KEY_WIN_L                                    none            XK_Super_L
BX_KEY_WIN_R                                    none            XK_Super_R
BX_KEY_MENU                                     none            XK_Menu
BX_KEY_ALT_SYSREQ                               none            XK_Sys_Req
BX_KEY_CTRL_BREAK                               none            XK_Break
#BX_KEY_INT_BACK                                 none            All the following keys are not present in keysymdef.h
#BX_KEY_INT_FORWARD                              none
#BX_KEY_INT_STOP                                 none
#BX_KEY_INT_MAIL                                 none
#BX_KEY_INT_SEARCH                               none
#BX_KEY_INT_FAV                                  none
#BX_KEY_INT_HOME                                 none
#BX_KEY_POWER_MYCOMP                             none
#BX_KEY_POWER_CALC                               none
#BX_KEY_POWER_SLEEP                              none
#BX_KEY_POWER_POWER                              none
#BX_KEY_POWER_WAKE                               none
