Bochs/bochs/gui/keymaps/x11-pc-ru.map

212 lines
13 KiB
Plaintext
Raw Normal View History

# Bochs Keymap file
# $Id$
# Target: PC(x86) keyboard, RU keymap
# Author: Dmitry Soshnikov
#
# 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.
#
# Note: this is charset-1251 layout map (using in Windows and some newest
# implementations of Linux), which works properly. Users of KOI8-R should
# slightly modify the map to achieve proper matching (actually didn't tested.
# - D.S.) It concerns of "," and "." symbols, which are placed on the second
# row of the keyboard (instead of placing it on "?/" button in charset-1251),
# and some other (unimportant) symbols. Main symbolic keyboard should work.
BX_KEY_0 '0' XK_0
BX_KEY_0+BX_KEY_SHIFT_L ')' XK_parenright
BX_KEY_1 '1' XK_1
BX_KEY_1+BX_KEY_SHIFT_L '!' XK_exclam
BX_KEY_2 '2' XK_2
BX_KEY_2+BX_KEY_SHIFT_L '"' XK_quotedbl
BX_KEY_3 '3' XK_3
BX_KEY_3+BX_KEY_SHIFT_L '?' XK_numerosign
BX_KEY_4 '4' XK_4
BX_KEY_4+BX_KEY_SHIFT_L ';' XK_semicolon
BX_KEY_5 '5' XK_5
BX_KEY_5+BX_KEY_SHIFT_L '%' XK_percent
BX_KEY_6 '6' XK_6
BX_KEY_6+BX_KEY_SHIFT_L ':' XK_colon
BX_KEY_7 '7' XK_7
BX_KEY_7+BX_KEY_SHIFT_L '?' XK_question
BX_KEY_8 '8' XK_8
BX_KEY_8+BX_KEY_SHIFT_L '*' XK_asterisk
BX_KEY_9 '9' XK_9
BX_KEY_9+BX_KEY_SHIFT_L '(' XK_parenleft
BX_KEY_A+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_EF
BX_KEY_A '<27>' XK_Cyrillic_ef
BX_KEY_B+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_I
BX_KEY_B '<27>' XK_Cyrillic_i
BX_KEY_C+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_ES
BX_KEY_C '<27>' XK_Cyrillic_es
BX_KEY_D+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_VE
BX_KEY_D '<27>' XK_Cyrillic_ve
BX_KEY_E+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_U
BX_KEY_E '<27>' XK_Cyrillic_u
BX_KEY_F+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_A
BX_KEY_F '<27>' XK_Cyrillic_a
BX_KEY_G+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_PE
BX_KEY_G '<27>' XK_Cyrillic_pe
BX_KEY_H+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_ER
BX_KEY_H '<27>' XK_Cyrillic_er
BX_KEY_I+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_SHA
BX_KEY_I '<27>' XK_Cyrillic_sha
BX_KEY_J+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_O
BX_KEY_J '<27>' XK_Cyrillic_o
BX_KEY_K+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_EL
BX_KEY_K '<27>' XK_Cyrillic_el
BX_KEY_L+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_DE
BX_KEY_L '<27>' XK_Cyrillic_de
BX_KEY_M+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_SOFTSIGN
BX_KEY_M '<27>' XK_Cyrillic_softsign
BX_KEY_N+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_TE
BX_KEY_N '<27>' XK_Cyrillic_te
BX_KEY_O+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_SHCHA
BX_KEY_O '<27>' XK_Cyrillic_shcha
BX_KEY_P+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_ZE
BX_KEY_P '<27>' XK_Cyrillic_ze
BX_KEY_Q+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_SHORTI
BX_KEY_Q '<27>' XK_Cyrillic_shorti
BX_KEY_R+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_KA
BX_KEY_R '<27>' XK_Cyrillic_ka
BX_KEY_S+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_YERU
BX_KEY_S '<27>' XK_Cyrillic_yeru
BX_KEY_T+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_IE
BX_KEY_T '<27>' XK_Cyrillic_ie
BX_KEY_U+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_GHE
BX_KEY_U '<27>' XK_Cyrillic_ghe
BX_KEY_V+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_EM
BX_KEY_V '<27>' XK_Cyrillic_em
BX_KEY_W+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_TSE
BX_KEY_W '<27>' XK_Cyrillic_tse
BX_KEY_X+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_CHE
BX_KEY_X '<27>' XK_Cyrillic_che
BX_KEY_Y+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_EN
BX_KEY_Y '<27>' XK_Cyrillic_en
BX_KEY_Z+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_YA
BX_KEY_Z '<27>' XK_Cyrillic_ya
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_Alt_R
BX_KEY_ALT_R none XK_Mode_switch
BX_KEY_ALT_R none XK_Multi_key
BX_KEY_BACKSLASH backslash XK_backslash
BX_KEY_BACKSLASH+BX_KEY_SHIFT_L '|' XK_bar
BX_KEY_BACKSPACE none XK_BackSpace
BX_KEY_CAPS_LOCK none XK_Caps_Lock
BX_KEY_COMMA '<27>' XK_Cyrillic_be
BX_KEY_COMMA+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_BE
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 '=' XK_equal
BX_KEY_EQUALS+BX_KEY_SHIFT_L '+' XK_plus
BX_KEY_ESC none XK_Escape
BX_KEY_GRAVE+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_IO
BX_KEY_GRAVE '<27>' XK_Cyrillic_io
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_BRACKET+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_HA
BX_KEY_LEFT_BRACKET '<27>' XK_Cyrillic_ha
BX_KEY_MENU none XK_Menu
BX_KEY_MINUS '-' XK_minus
BX_KEY_MINUS+BX_KEY_SHIFT_L '_' XK_underscore
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 '<27>' XK_Cyrillic_YU
BX_KEY_PERIOD '<27>' XK_Cyrillic_yu
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_SHIFT_L '<27>' XK_Cyrillic_HARDSIGN
BX_KEY_RIGHT_BRACKET '<27>' XK_Cyrillic_hardsign
BX_KEY_SCRL_LOCK none XK_Scroll_Lock
BX_KEY_SEMICOLON+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_ZHE
BX_KEY_SEMICOLON '<27>' XK_Cyrillic_zhe
BX_KEY_SHIFT_L none XK_Shift_L
BX_KEY_SHIFT_R none XK_Shift_R
BX_KEY_SINGLE_QUOTE '<27>' XK_Cyrillic_e
BX_KEY_SINGLE_QUOTE+BX_KEY_SHIFT_L '<27>' XK_Cyrillic_E
BX_KEY_SLASH+BX_KEY_SHIFT_L ',' XK_comma
BX_KEY_SLASH '.' XK_period
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