diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-12-12 16:56:30 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-12-12 16:56:30 +0000 |
commit | 3d11d0eb33f0474f8299c2373f3a91bb416b81c6 (patch) | |
tree | 440a0688fa59bad1dbff32f8e83fed78195df457 | |
parent | 7b91a17212a0a16dd56a8731c345ecf29c366855 (diff) | |
download | qemu-3d11d0eb33f0474f8299c2373f3a91bb416b81c6.tar.gz qemu-3d11d0eb33f0474f8299c2373f3a91bb416b81c6.tar.bz2 qemu-3d11d0eb33f0474f8299c2373f3a91bb416b81c6.zip |
keymaps support (initial patch by Johannes Schindelin)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1173 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | Changelog | 1 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | Makefile.target | 2 | ||||
-rw-r--r-- | keymaps.c | 143 | ||||
-rw-r--r-- | keymaps/ar | 98 | ||||
-rw-r--r-- | keymaps/common | 157 | ||||
-rw-r--r-- | keymaps/da | 120 | ||||
-rw-r--r-- | keymaps/de | 114 | ||||
-rw-r--r-- | keymaps/de-ch | 169 | ||||
-rw-r--r-- | keymaps/en-gb | 119 | ||||
-rw-r--r-- | keymaps/en-us | 35 | ||||
-rw-r--r-- | keymaps/es | 105 | ||||
-rw-r--r-- | keymaps/et | 86 | ||||
-rw-r--r-- | keymaps/fi | 124 | ||||
-rw-r--r-- | keymaps/fo | 77 | ||||
-rw-r--r-- | keymaps/fr | 181 | ||||
-rw-r--r-- | keymaps/fr-be | 140 | ||||
-rw-r--r-- | keymaps/fr-ca | 50 | ||||
-rw-r--r-- | keymaps/fr-ch | 114 | ||||
-rw-r--r-- | keymaps/hr | 125 | ||||
-rw-r--r-- | keymaps/hu | 115 | ||||
-rw-r--r-- | keymaps/is | 140 | ||||
-rw-r--r-- | keymaps/it | 115 | ||||
-rw-r--r-- | keymaps/ja | 104 | ||||
-rw-r--r-- | keymaps/lt | 57 | ||||
-rw-r--r-- | keymaps/lv | 128 | ||||
-rw-r--r-- | keymaps/mk | 101 | ||||
-rw-r--r-- | keymaps/modifiers | 16 | ||||
-rw-r--r-- | keymaps/nl | 60 | ||||
-rw-r--r-- | keymaps/nl-be | 3 | ||||
-rw-r--r-- | keymaps/no | 119 | ||||
-rw-r--r-- | keymaps/pl | 122 | ||||
-rw-r--r-- | keymaps/pt | 113 | ||||
-rw-r--r-- | keymaps/pt-br | 69 | ||||
-rw-r--r-- | keymaps/ru | 109 | ||||
-rw-r--r-- | keymaps/sl | 110 | ||||
-rw-r--r-- | keymaps/sv | 82 | ||||
-rw-r--r-- | keymaps/th | 131 | ||||
-rw-r--r-- | keymaps/tr | 123 | ||||
-rw-r--r-- | qemu-doc.texi | 16 | ||||
-rw-r--r-- | sdl.c | 146 | ||||
-rw-r--r-- | sdl_keysym.h | 275 | ||||
-rw-r--r-- | vl.c | 7 | ||||
-rw-r--r-- | vl.h | 1 |
44 files changed, 4109 insertions, 115 deletions
@@ -6,6 +6,7 @@ version 0.6.2: - Cirrus VGA: support for 1280x1024x[8,15,16] modes - 'pidfile' option - .dmg disk image format support (Johannes Schindelin) + - keymaps support (initial patch by Johannes Schindelin) version 0.6.1: @@ -56,6 +56,8 @@ install: all ifndef CONFIG_WIN32 mkdir -p "$(mandir)/man1" install qemu.1 qemu-img.1 "$(mandir)/man1" + mkdir -p "$(datadir)/keymaps" + install -m 644 keymaps/* "$(datadir)" endif for d in $(TARGET_DIRS); do \ $(MAKE) -C $$d $@ || exit 1 ; \ diff --git a/Makefile.target b/Makefile.target index a2cfad1f51..a5c697ddc9 100644 --- a/Makefile.target +++ b/Makefile.target @@ -333,7 +333,7 @@ endif $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VL_LIBS) -sdl.o: sdl.c +sdl.o: sdl.c keymaps.c sdl_keysym.h $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $< sdlaudio.o: sdlaudio.c diff --git a/keymaps.c b/keymaps.c new file mode 100644 index 0000000000..c3de8d7649 --- /dev/null +++ b/keymaps.c @@ -0,0 +1,143 @@ +/* + * QEMU keysym to keycode conversion using rdesktop keymaps + * + * Copyright (c) 2004 Johannes Schindelin + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +static int get_keysym(const char *name) +{ + name2keysym_t *p; + for(p = name2keysym; p->name != NULL; p++) { + if (!strcmp(p->name, name)) + return p->keysym; + } + return 0; +} + +#define MAX_NORMAL_KEYCODE 512 +#define MAX_EXTRA_COUNT 256 +typedef struct { + uint16_t keysym2keycode[MAX_NORMAL_KEYCODE]; + struct { + int keysym; + uint16_t keycode; + } keysym2keycode_extra[MAX_EXTRA_COUNT]; + int extra_count; +} kbd_layout_t; + +static kbd_layout_t *parse_keyboard_layout(const char *language, + kbd_layout_t * k) +{ + FILE *f; + char file_name[1024]; + char line[1024]; + int len; + + snprintf(file_name, sizeof(file_name), + "%s/keymaps/%s", bios_dir, language); + + if (!k) + k = qemu_mallocz(sizeof(kbd_layout_t)); + if (!k) + return 0; + if (!(f = fopen(file_name, "r"))) { + fprintf(stderr, + "Could not read keymap file: '%s'\n", file_name); + return 0; + } + for(;;) { + if (fgets(line, 1024, f) == NULL) + break; + len = strlen(line); + if (len > 0 && line[len - 1] == '\n') + line[len - 1] = '\0'; + if (line[0] == '#') + continue; + if (!strncmp(line, "map ", 4)) + continue; + if (!strncmp(line, "include ", 8)) { + parse_keyboard_layout(line + 8, k); + } else { + char *end_of_keysym = line; + while (*end_of_keysym != 0 && *end_of_keysym != ' ') + end_of_keysym++; + if (*end_of_keysym) { + int keysym; + *end_of_keysym = 0; + keysym = get_keysym(line); + if (keysym == 0) { + // fprintf(stderr, "Warning: unknown keysym %s\n", line); + } else { + const char *rest = end_of_keysym + 1; + int keycode = strtol(rest, NULL, 0); + /* if(keycode&0x80) + keycode=(keycode<<8)^0x80e0; */ + if (keysym < MAX_NORMAL_KEYCODE) { + //fprintf(stderr,"Setting keysym %s (%d) to %d\n",line,keysym,keycode); + k->keysym2keycode[keysym] = keycode; + } else { + if (k->extra_count >= MAX_EXTRA_COUNT) { + fprintf(stderr, + "Warning: Could not assign keysym %s (0x%x) because of memory constraints.\n", + line, keysym); + } else { + fprintf(stderr, "Setting %d: %d,%d\n", + k->extra_count, keysym, keycode); + k->keysym2keycode_extra[k->extra_count]. + keysym = keysym; + k->keysym2keycode_extra[k->extra_count]. + keycode = keycode; + k->extra_count++; + } + } + } + } + } + } + fclose(f); + return k; +} + +static void *init_keyboard_layout(const char *language) +{ + return parse_keyboard_layout(language, 0); +} + +static int keysym2scancode(void *kbd_layout, int keysym) +{ + kbd_layout_t *k = kbd_layout; + if (keysym < MAX_NORMAL_KEYCODE) { + if (k->keysym2keycode[keysym] == 0) + fprintf(stderr, "Warning: no scancode found for keysym %d\n", + keysym); + return k->keysym2keycode[keysym]; + } else { + int i; +#ifdef XK_ISO_Left_Tab + if (keysym == XK_ISO_Left_Tab) + keysym = XK_Tab; +#endif + for (i = 0; i < k->extra_count; i++) + if (k->keysym2keycode_extra[i].keysym == keysym) + return k->keysym2keycode_extra[i].keycode; + } + return 0; +} diff --git a/keymaps/ar b/keymaps/ar new file mode 100644 index 0000000000..c430c03bb3 --- /dev/null +++ b/keymaps/ar @@ -0,0 +1,98 @@ +# generated from XKB map ar +include common +map 0x401 +exclam 0x02 shift +at 0x03 shift +numbersign 0x04 shift +dollar 0x05 shift +percent 0x06 shift +asciicircum 0x07 shift +ampersand 0x08 shift +asterisk 0x09 shift +parenleft 0x0a shift +parenright 0x0b shift +minus 0x0c +underscore 0x0c shift +equal 0x0d +plus 0x0d shift +Arabic_dad 0x10 altgr +Arabic_fatha 0x10 shift altgr +Arabic_sad 0x11 altgr +Arabic_fathatan 0x11 shift altgr +Arabic_theh 0x12 altgr +Arabic_damma 0x12 shift altgr +Arabic_qaf 0x13 altgr +Arabic_dammatan 0x13 shift altgr +Arabic_feh 0x14 altgr +UFEF9 0x14 shift altgr +Arabic_ghain 0x15 altgr +Arabic_hamzaunderalef 0x15 shift altgr +Arabic_ain 0x16 altgr +grave 0x16 shift altgr +Arabic_ha 0x17 altgr +division 0x17 shift altgr +Arabic_khah 0x18 altgr +multiply 0x18 shift altgr +Arabic_hah 0x19 altgr +Arabic_semicolon 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +Arabic_jeem 0x1a altgr +bracketright 0x1b +braceright 0x1b shift +Arabic_dal 0x1b altgr +Arabic_sheen 0x1e altgr +backslash 0x1e shift altgr +Arabic_seen 0x1f altgr +Arabic_yeh 0x20 altgr +bracketleft 0x20 shift altgr +Arabic_beh 0x21 altgr +bracketright 0x21 shift altgr +Arabic_lam 0x22 altgr +UFEF7 0x22 shift altgr +Arabic_alef 0x23 altgr +Arabic_hamzaonalef 0x23 shift altgr +Arabic_teh 0x24 altgr +Arabic_tatweel 0x24 shift altgr +Arabic_noon 0x25 altgr +Arabic_comma 0x25 shift altgr +Arabic_meem 0x26 altgr +slash 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +Arabic_kaf 0x27 altgr +apostrophe 0x28 +quotedbl 0x28 shift +Arabic_tah 0x28 altgr +grave 0x29 +asciitilde 0x29 shift +Arabic_thal 0x29 altgr +Arabic_shadda 0x29 shift altgr +backslash 0x2b +bar 0x2b shift +less 0x2b altgr +greater 0x2b shift altgr +Arabic_hamzaonyeh 0x2c altgr +asciitilde 0x2c shift altgr +Arabic_hamza 0x2d altgr +Arabic_sukun 0x2d shift altgr +Arabic_hamzaonwaw 0x2e altgr +Arabic_kasra 0x2e shift altgr +Arabic_ra 0x2f altgr +Arabic_kasratan 0x2f shift altgr +UFEFB 0x30 altgr +UFEF5 0x30 shift altgr +Arabic_alefmaksura 0x31 altgr +Arabic_maddaonalef 0x31 shift altgr +Arabic_tehmarbuta 0x32 altgr +apostrophe 0x32 shift altgr +comma 0x33 +less 0x33 shift +Arabic_waw 0x33 altgr +period 0x34 +greater 0x34 shift +Arabic_zain 0x34 altgr +slash 0x35 +question 0x35 shift +Arabic_zah 0x35 altgr +Arabic_question_mark 0x35 shift altgr diff --git a/keymaps/common b/keymaps/common new file mode 100644 index 0000000000..0b53f1c254 --- /dev/null +++ b/keymaps/common @@ -0,0 +1,157 @@ +include modifiers + +# +# Top row +# +1 0x2 +2 0x3 +3 0x4 +4 0x5 +5 0x6 +6 0x7 +7 0x8 +8 0x9 +9 0xa +0 0xb +BackSpace 0xe + +# +# QWERTY first row +# +Tab 0xf localstate +ISO_Left_Tab 0xf shift +q 0x10 addupper +w 0x11 addupper +e 0x12 addupper +r 0x13 addupper +t 0x14 addupper +y 0x15 addupper +u 0x16 addupper +i 0x17 addupper +o 0x18 addupper +p 0x19 addupper + +# +# QWERTY second row +# +a 0x1e addupper +s 0x1f addupper +d 0x20 addupper +f 0x21 addupper +g 0x22 addupper +h 0x23 addupper +j 0x24 addupper +k 0x25 addupper +l 0x26 addupper +Return 0x1c localstate + +# +# QWERTY third row +# +z 0x2c addupper +x 0x2d addupper +c 0x2e addupper +v 0x2f addupper +b 0x30 addupper +n 0x31 addupper +m 0x32 addupper + +space 0x39 localstate + +less 0x56 +greater 0x56 shift +bar 0x56 altgr +brokenbar 0x56 shift altgr + +# +# Esc and Function keys +# +Escape 0x1 localstate +F1 0x3b localstate +F2 0x3c localstate +F3 0x3d localstate +F4 0x3e localstate +F5 0x3f localstate +F6 0x40 localstate +F7 0x41 localstate +F8 0x42 localstate +F9 0x43 localstate +F10 0x44 localstate +F11 0x57 localstate +F12 0x58 localstate + +# Printscreen, Scrollock and Pause +# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37), +# but (0xe0, 0x37) seems to work. +Print 0xb7 localstate +Sys_Req 0xb7 localstate +Execute 0xb7 localstate +Scroll_Lock 0x46 + +# +# Insert - PgDown +# +Insert 0xd2 localstate +Delete 0xd3 localstate +Home 0xc7 localstate +End 0xcf localstate +Page_Up 0xc9 localstate +Page_Down 0xd1 localstate + +# +# Arrow keys +# +Left 0xcb localstate +Up 0xc8 localstate +Down 0xd0 localstate +Right 0xcd localstate + +# +# Numpad +# +Num_Lock 0x45 +KP_Divide 0xb5 +KP_Multiply 0x37 +KP_Subtract 0x4a +KP_Add 0x4e +KP_Enter 0x9c + +KP_Decimal 0x53 numlock +KP_Separator 0x53 numlock +KP_Delete 0x53 + +KP_0 0x52 numlock +KP_Insert 0x52 + +KP_1 0x4f numlock +KP_End 0x4f + +KP_2 0x50 numlock +KP_Down 0x50 + +KP_3 0x51 numlock +KP_Next 0x51 + +KP_4 0x4b numlock +KP_Left 0x4b + +KP_5 0x4c numlock +KP_Begin 0x4c + +KP_6 0x4d numlock +KP_Right 0x4d + +KP_7 0x47 numlock +KP_Home 0x47 + +KP_8 0x48 numlock +KP_Up 0x48 + +KP_9 0x49 numlock +KP_Prior 0x49 + +Caps_Lock 0x3a +# +# Inhibited keys +# +Multi_key 0x0 inhibit diff --git a/keymaps/da b/keymaps/da new file mode 100644 index 0000000000..3884dcf145 --- /dev/null +++ b/keymaps/da @@ -0,0 +1,120 @@ +# generated from XKB map dk +include common +map 0x406 +exclam 0x02 shift +exclamdown 0x02 altgr +onesuperior 0x02 shift altgr +quotedbl 0x03 shift +at 0x03 altgr +twosuperior 0x03 shift altgr +numbersign 0x04 shift +sterling 0x04 altgr +threesuperior 0x04 shift altgr +currency 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +cent 0x06 shift altgr +ampersand 0x07 shift +yen 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +division 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +guillemotleft 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +guillemotright 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +plus 0x0c +question 0x0c shift +plusminus 0x0c altgr +questiondown 0x0c shift altgr +dead_acute 0x0d +dead_grave 0x0d shift +bar 0x0d altgr +brokenbar 0x0d shift altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +cent 0x12 shift altgr +registered 0x13 altgr +thorn 0x14 altgr +THORN 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oe 0x18 altgr +OE 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr +dead_caron 0x1b shift altgr +ordfeminine 0x1e altgr +masculine 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +ae 0x27 +AE 0x27 shift +oslash 0x28 +Ooblique 0x28 shift +dead_caron 0x28 shift altgr +onehalf 0x29 +section 0x29 shift +threequarters 0x29 altgr +paragraph 0x29 shift altgr +apostrophe 0x2b +asterisk 0x2b shift +dead_doubleacute 0x2b altgr +multiply 0x2b shift altgr +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +copyright 0x2e altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +dead_cedilla 0x33 altgr +dead_ogonek 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +dead_abovedot 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +hyphen 0x35 altgr +macron 0x35 shift altgr +nobreakspace 0x39 altgr +less 0x56 +greater 0x56 shift +backslash 0x56 altgr +notsign 0x56 shift altgr diff --git a/keymaps/de b/keymaps/de new file mode 100644 index 0000000000..ed929c743b --- /dev/null +++ b/keymaps/de @@ -0,0 +1,114 @@ +# generated from XKB map de +include common +map 0x407 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +section 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr +dollar 0x05 shift +onequarter 0x05 altgr +currency 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +ssharp 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +acute 0x0d +dead_acute 0x0d +grave 0x0d shift +dead_grave 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +z 0x15 addupper +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +udiaeresis 0x1a +Udiaeresis 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +plus 0x1b +asterisk 0x1b shift +asciitilde 0x1b altgr +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +odiaeresis 0x27 +Odiaeresis 0x27 shift +dead_doubleacute 0x27 altgr +adiaeresis 0x28 +Adiaeresis 0x28 shift +dead_caron 0x28 shift altgr +asciicircum 0x29 +dead_circumflex 0x29 +degree 0x29 shift +notsign 0x29 altgr +numbersign 0x2b +apostrophe 0x2b shift +dead_breve 0x2b shift altgr +y 0x2c addupper +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/de-ch b/keymaps/de-ch new file mode 100644 index 0000000000..f83837b444 --- /dev/null +++ b/keymaps/de-ch @@ -0,0 +1,169 @@ +# rdesktop Swiss-German (de-ch) keymap file +# 2003-06-03 by noldi@tristar.ch +# +include common +map 0x00000807 +# +# Scan Code 1 +section 0x29 +degree 0x29 shift +notsign 0x29 altgr inhibit +# +# Scan Code 2 +plus 0x2 shift +brokenbar 0x02 altgr +# +# Scan Code 3 +quotedbl 0x03 shift +at 0x03 altgr +# +# Scan Code 4 +asterisk 0x04 shift +numbersign 0x04 altgr +# +# Scan Code 5 +ccedilla 0x05 shift +onequarter 0x05 altgr inhibit +# +# Scan Code 6 +percent 0x06 shift +onehalf 0x06 altgr inhibit +# +# Scan Code 7 +ampersand 0x07 shift +notsign 0x07 altgr +# +# Scan Code 8 +slash 0x08 shift +bar 0x08 altgr +# +# Scan Code 9 +parenleft 0x09 shift +cent 0x09 altgr +# +# Scan Code 10 +parenright 0x0a shift +# +# Scan Code 11 +equal 0x0b shift +braceright 0x0b altgr inhibit +# +# Scan Code 12 +apostrophe 0x0c +question 0x0c shift +dead_acute 0x0c altgr +# +# Scan Code 13 +dead_circumflex 0x0d +dead_grave 0x0d shift +dead_tilde 0x0d altgr +# +# Scan Code 19 +EuroSign 0x12 altgr +# +# Scan Code 22 +z 0x15 addupper +# +# Scan Code 27 +udiaeresis 0x1a +egrave 0x1a shift +bracketleft 0x1a altgr +# +# Scan Code 28 +dead_diaeresis 0x1b +exclam 0x1b shift +bracketright 0x1b altgr +# +# Scan Code 40 +odiaeresis 0x27 +eacute 0x27 shift +# +# Scan Code 41 +adiaeresis 0x28 +agrave 0x28 shift +braceleft 0x28 altgr +# +# Scan Code 42 (only on international keyboards) +dollar 0x2b +sterling 0x2b shift +braceright 0x2b altgr +# +# Scan Code 45 (only on international keyboards) +backslash 0x56 altgr +# +# Scan Code 46 +y 0x2c addupper +# +# Scan Code 53 +comma 0x33 +semicolon 0x33 shift +# +# Scan Code 54 +period 0x34 +colon 0x34 shift +# +# Scan Code 55 +minus 0x35 +underscore 0x35 shift +# +# Suppress Windows unsupported AltGr keys +# +# Scan Code 17 +paragraph 0x10 altgr inhibit +# +# Scan Code 21 +tslash 0x14 altgr inhibit +# +# Scan Code 22 +leftarrow 0x15 altgr inhibit +# +# Scan Code 23 +downarrow 0x16 altgr inhibit +# +# Scan Code 24 +rightarrow 0x17 altgr inhibit +# +# Scan Code 25 +oslash 0x18 altgr inhibit +# +# Scan Code 26 +thorn 0x19 altgr inhibit +# +# Scan Code 31 +ae 0x1e altgr inhibit +# +# Scan Code 32 +ssharp 0x1f altgr inhibit +# +# Scan Code 33 +eth 0x20 altgr inhibit +# +# Scan Code 34 +dstroke 0x21 altgr inhibit +# +# Scan Code 35 +eng 0x22 altgr inhibit +# +# Scan Code 36 +hstroke 0x23 altgr inhibit +# +# Scan Code 38 +kra 0x25 altgr inhibit +# +# Scan Code 39 +lstroke 0x26 altgr inhibit +# +# Scan Code 46 +guillemotleft 0x2c altgr inhibit +# +# Scan Code 47 +guillemotright 0x2d altgr inhibit +# +# Scan Code 49 +leftdoublequotemark 0x2f altgr inhibit +# +# Scan Code 50 +rightdoublequotemark 0x30 altgr inhibit +# +# Scan Code 52 +mu 0x32 altgr inhibit diff --git a/keymaps/en-gb b/keymaps/en-gb new file mode 100644 index 0000000000..b45f06c7ce --- /dev/null +++ b/keymaps/en-gb @@ -0,0 +1,119 @@ +# generated from XKB map gb +include common +map 0x809 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +sterling 0x04 shift +threesuperior 0x04 altgr +dollar 0x05 shift +EuroSign 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +asciicircum 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +ampersand 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +asterisk 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenleft 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +parenright 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +equal 0x0d +plus 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +bracketright 0x1b +braceright 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr +apostrophe 0x28 +at 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr +grave 0x29 +notsign 0x29 shift +bar 0x29 altgr +numbersign 0x2b +asciitilde 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr +guillemotleft 0x2c altgr +less 0x2c shift altgr +guillemotright 0x2d altgr +greater 0x2d shift altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +slash 0x35 +question 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr +backslash 0x56 +bar 0x56 shift diff --git a/keymaps/en-us b/keymaps/en-us new file mode 100644 index 0000000000..f5784bbb39 --- /dev/null +++ b/keymaps/en-us @@ -0,0 +1,35 @@ +# generated from XKB map us +include common +map 0x409 +exclam 0x02 shift +at 0x03 shift +numbersign 0x04 shift +dollar 0x05 shift +percent 0x06 shift +asciicircum 0x07 shift +ampersand 0x08 shift +asterisk 0x09 shift +parenleft 0x0a shift +parenright 0x0b shift +minus 0x0c +underscore 0x0c shift +equal 0x0d +plus 0x0d shift +bracketleft 0x1a +braceleft 0x1a shift +bracketright 0x1b +braceright 0x1b shift +semicolon 0x27 +colon 0x27 shift +apostrophe 0x28 +quotedbl 0x28 shift +grave 0x29 +asciitilde 0x29 shift +backslash 0x2b +bar 0x2b shift +comma 0x33 +less 0x33 shift +period 0x34 +greater 0x34 shift +slash 0x35 +question 0x35 shift diff --git a/keymaps/es b/keymaps/es new file mode 100644 index 0000000000..0c29eec5ad --- /dev/null +++ b/keymaps/es @@ -0,0 +1,105 @@ +# generated from XKB map es +include common +map 0x40a +exclam 0x02 shift +bar 0x02 altgr +quotedbl 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr +periodcentered 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr +dollar 0x05 shift +asciitilde 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +notsign 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +seveneighths 0x08 shift altgr +parenleft 0x09 shift +trademark 0x09 shift altgr +parenright 0x0a shift +plusminus 0x0a shift altgr +equal 0x0b shift +degree 0x0b shift altgr +apostrophe 0x0c +question 0x0c shift +exclamdown 0x0d +questiondown 0x0d shift +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +dead_grave 0x1a +dead_circumflex 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr +plus 0x1b +asterisk 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +ntilde 0x27 +Ntilde 0x27 shift +dead_doubleacute 0x27 shift altgr +dead_acute 0x28 +dead_diaeresis 0x28 shift +braceleft 0x28 altgr +masculine 0x29 +ordfeminine 0x29 shift +backslash 0x29 altgr +ccedilla 0x2b +Ccedilla 0x2b shift +braceright 0x2b altgr +dead_breve 0x2b shift altgr +guillemotleft 0x2c altgr +less 0x56 +greater 0x56 shift +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +division 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/et b/keymaps/et new file mode 100644 index 0000000000..b5a73fef70 --- /dev/null +++ b/keymaps/et @@ -0,0 +1,86 @@ +map 0x00000425 +include common + +# +# Top row +# +dead_caron 0x29 +dead_tilde 0x29 shift + +# 1 +exclam 0x2 shift + +# 2 +quotedbl 0x3 shift +at 0x3 altgr + +# 3 +numbersign 0x4 shift +sterling 0x4 altgr +# 4 +currency 0x5 shift +dollar 0x5 altgr +# 5 +percent 0x6 shift +# 6 +ampersand 0x7 shift +# 7 +slash 0x8 shift +braceleft 0x8 altgr +# 8 +parenleft 0x9 shift +bracketleft 0x9 altgr +# 9 +parenright 0xa shift +bracketright 0xa altgr +# 0 +equal 0xb shift +braceright 0xb altgr + +plus 0xc +question 0xc shift +backslash 0xc altgr + +acute 0xd +dead_acute 0xd +grave 0xd shift +dead_grave 0xd shift + +# +# QWERTY first row +# +EuroSign 0x12 altgr +udiaeresis 0x1a +Udiaeresis 0x1a shift +otilde 0x1b +Otilde 0x1b shift +section 0x1b altgr + +# +# QWERTY second row +# +scaron 0x1f altgr +Scaron 0x1f altgr shift +odiaeresis 0x27 +Odiaeresis 0x27 shift +adiaeresis 0x28 +Adiaeresis 0x28 shift +asciicircum 0x28 altgr +apostrophe 0x2b +asterisk 0x2b shift +onehalf 0x2b altgr +# +# QWERTY third row +# +less 0x56 +greater 0x56 shift +bar 0x56 altgr +zcaron 0x2c altgr +Zcaron 0x2c altgr shift +comma 0x33 +semicolon 0x33 shift +period 0x34 +colon 0x34 shift +minus 0x35 +underscore 0x35 shift + diff --git a/keymaps/fi b/keymaps/fi new file mode 100644 index 0000000000..2a4e0f0454 --- /dev/null +++ b/keymaps/fi @@ -0,0 +1,124 @@ +# generated from XKB map se_FI +include common +map 0x40b +exclam 0x02 shift +exclamdown 0x02 altgr +onesuperior 0x02 shift altgr +quotedbl 0x03 shift +at 0x03 altgr +twosuperior 0x03 shift altgr +numbersign 0x04 shift +sterling 0x04 altgr +threesuperior 0x04 shift altgr +currency 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +cent 0x06 shift altgr +ampersand 0x07 shift +yen 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +division 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +guillemotleft 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +guillemotright 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +plus 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +dead_acute 0x0d +dead_grave 0x0d shift +plusminus 0x0d altgr +notsign 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +cent 0x12 shift altgr +registered 0x13 altgr +thorn 0x14 altgr +THORN 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oe 0x18 altgr +OE 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr +dead_caron 0x1b shift altgr +ordfeminine 0x1e altgr +masculine 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +ampersand 0x25 shift altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +odiaeresis 0x27 +Odiaeresis 0x27 shift +oslash 0x27 altgr +Ooblique 0x27 shift altgr +adiaeresis 0x28 +Adiaeresis 0x28 shift +ae 0x28 altgr +AE 0x28 shift altgr +section 0x29 +onehalf 0x29 shift +paragraph 0x29 altgr +threequarters 0x29 shift altgr +apostrophe 0x2b +asterisk 0x2b shift +acute 0x2b altgr +multiply 0x2b shift altgr +guillemotleft 0x2c altgr +less 0x2c shift altgr +guillemotright 0x2d altgr +greater 0x2d shift altgr +copyright 0x2e altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +apostrophe 0x30 shift altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +dead_cedilla 0x33 altgr +dead_ogonek 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +dead_abovedot 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +hyphen 0x35 altgr +macron 0x35 shift altgr +nobreakspace 0x39 altgr diff --git a/keymaps/fo b/keymaps/fo new file mode 100644 index 0000000000..83add423c6 --- /dev/null +++ b/keymaps/fo @@ -0,0 +1,77 @@ +map 0x438 +include common + +# +# Top row +# +onehalf 0x29 +section 0x29 shift + +# 1 +exclam 0x2 shift + +# 2 +quotedbl 0x3 shift +at 0x3 altgr + +# 3 +numbersign 0x4 shift +sterling 0x4 altgr +# 4 +currency 0x5 shift +dollar 0x5 altgr +# 5 +percent 0x6 shift +# 6 +ampersand 0x7 shift +# 7 +slash 0x8 shift +braceleft 0x8 altgr +# 8 +parenleft 0x9 shift +bracketleft 0x9 altgr +# 9 +parenright 0xa shift +bracketright 0xa altgr +# 0 +equal 0xb shift +braceright 0xb altgr + +plus 0xc +question 0xc shift +plusminus 0xc altgr + +bar 0xd altgr +dead_acute 0xd + +# +# QWERTY first row +# +EuroSign 0x12 altgr +aring 0x1a +Aring 0x1a shift +eth 0x1b addupper +asciitilde 0x1b altgr + +# +# QWERTY second row +# +ae 0x27 addupper +oslash 0x28 +Ooblique 0x28 shift +apostrophe 0x2b +asterisk 0x2b shift + +# +# QWERTY third row +# +less 0x56 +greater 0x56 shift +backslash 0x56 altgr +comma 0x33 +semicolon 0x33 shift +period 0x34 +colon 0x34 shift +minus 0x35 +underscore 0x35 shift + diff --git a/keymaps/fr b/keymaps/fr new file mode 100644 index 0000000000..cbb45910f4 --- /dev/null +++ b/keymaps/fr @@ -0,0 +1,181 @@ +include common +map 0x40c +# +# Top row +# +twosuperior 0x29 +notsign 0x29 altgr + +ampersand 0x02 +1 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr + +eacute 0x03 +2 0x03 shift +asciitilde 0x03 altgr +oneeighth 0x03 shift altgr + +quotedbl 0x04 +3 0x04 shift +numbersign 0x04 altgr + +apostrophe 0x05 +4 0x05 shift +braceleft 0x05 altgr + +parenleft 0x06 +5 0x06 shift +bracketleft 0x06 altgr +threeeighths 0x06 shift altgr + +minus 0x07 +6 0x07 shift +bar 0x07 altgr +fiveeighths 0x07 shift altgr + +egrave 0x08 +7 0x08 shift +grave 0x08 altgr +seveneighths 0x08 shift altgr + +underscore 0x09 +8 0x09 shift +backslash 0x09 altgr +trademark 0x09 shift altgr + +ccedilla 0x0a +9 0x0a shift +asciicircum 0x0a altgr +plusminus 0x0a shift altgr + +agrave 0x0b +0 0x0b shift +at 0x0b altgr + +parenright 0x0c +degree 0x0c shift +bracketright 0x0c altgr +questiondown 0x0c shift altgr + +equal 0x0d +plus 0x0d shift +braceright 0x0d altgr +dead_ogonek 0x0d shift altgr + +# +# AZERTY first row +# + +a 0x10 addupper +ae 0x10 altgr +AE 0x10 shift altgr + +z 0x11 addupper +guillemotleft 0x11 altgr + +EuroSign 0x12 altgr + +paragraph 0x13 altgr +registered 0x13 shift altgr + +tslash 0x14 altgr +Tslash 0x14 shift altgr + +leftarrow 0x15 altgr +yen 0x15 shift altgr + +downarrow 0x16 altgr +uparrow 0x16 shift altgr + +rightarrow 0x17 altgr +idotless 0x17 shift altgr + +oslash 0x18 altgr +Ooblique 0x18 shift altgr + +thorn 0x19 altgr +THORN 0x19 shift altgr + +dead_circumflex 0x1a +dead_diaeresis 0x1a shift +dead_abovering 0x1a shift altgr + +dollar 0x1b +sterling 0x1b shift +currency 0x1b altgr +dead_macron 0x1b shift altgr + +# +# AZERTY second row +# +q 0x1e addupper +Greek_OMEGA 0x1e shift altgr + +ssharp 0x1f altgr + +eth 0x20 altgr +ETH 0x20 shift altgr + +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr + +eng 0x22 altgr +ENG 0x22 shift altgr + +hstroke 0x23 altgr +Hstroke 0x23 shift altgr + +kra 0x25 altgr + +lstroke 0x26 altgr +Lstroke 0x26 shift altgr + +m 0x27 addupper +masculine 0x27 shift altgr + +ugrave 0x28 +percent 0x28 shift +dead_caron 0x28 shift altgr + +asterisk 0x2b +mu 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr + +# +# AZERTY third row +# +less 0x56 +greater 0x56 shift + +w 0x2c addupper + +guillemotright 0x2d altgr + +cent 0x2e altgr +copyright 0x2e shift altgr + +leftdoublequotemark 0x2f altgr + +rightdoublequotemark 0x30 altgr + +comma 0x32 +question 0x32 shift +dead_acute 0x32 altgr +dead_doubleacute 0x32 shift altgr + +semicolon 0x33 +period 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr + +colon 0x34 +slash 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr + +exclam 0x35 +section 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/fr-be b/keymaps/fr-be new file mode 100644 index 0000000000..92d668eb61 --- /dev/null +++ b/keymaps/fr-be @@ -0,0 +1,140 @@ +# generated from XKB map be +include common +map 0x80c +ampersand 0x02 +1 0x02 shift +bar 0x02 altgr +exclamdown 0x02 shift altgr +eacute 0x03 +2 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr +quotedbl 0x04 +3 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr +apostrophe 0x05 +4 0x05 shift +onequarter 0x05 altgr +dollar 0x05 shift altgr +parenleft 0x06 +5 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +section 0x07 +6 0x07 shift +asciicircum 0x07 altgr +fiveeighths 0x07 shift altgr +egrave 0x08 +7 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +exclam 0x09 +8 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +ccedilla 0x0a +9 0x0a shift +braceleft 0x0a altgr +plusminus 0x0a shift altgr +agrave 0x0b +0 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +parenright 0x0c +degree 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +minus 0x0d +underscore 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +a 0x10 addupper +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +z 0x11 addupper +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +cent 0x12 shift altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +dead_circumflex 0x1a +dead_diaeresis 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr +dollar 0x1b +asterisk 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr +q 0x1e addupper +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +ampersand 0x25 shift altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +m 0x27 addupper +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr +ugrave 0x28 +percent 0x28 shift +dead_acute 0x28 altgr +dead_caron 0x28 shift altgr +twosuperior 0x29 +threesuperior 0x29 shift +notsign 0x29 altgr +mu 0x2b +sterling 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr +w 0x2c addupper +guillemotleft 0x2c altgr +less 0x2c shift altgr +guillemotright 0x2d altgr +greater 0x2d shift altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +apostrophe 0x30 shift altgr +comma 0x32 +question 0x32 shift +dead_cedilla 0x32 altgr +masculine 0x32 shift altgr +semicolon 0x33 +period 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +colon 0x34 +slash 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +equal 0x35 +plus 0x35 shift +dead_tilde 0x35 altgr +dead_abovedot 0x35 shift altgr +backslash 0x56 altgr diff --git a/keymaps/fr-ca b/keymaps/fr-ca new file mode 100644 index 0000000000..b645208e42 --- /dev/null +++ b/keymaps/fr-ca @@ -0,0 +1,50 @@ +# Canadian French +# By Simon Germain +include common +map 0xc0c + +backslash 0x29 altgr +plusminus 0x2 altgr +at 0x3 altgr +sterling 0x4 altgr +cent 0x5 altgr +currency 0x6 altgr +notsign 0x7 altgr +bar 0x29 shift +twosuperior 0x9 altgr +threesuperior 0xa altgr +onequarter 0xb altgr +onehalf 0xc altgr +threequarters 0xd altgr +section 0x18 altgr +paragraph 0x19 altgr +bracketleft 0x1a altgr +bracketright 0x1b altgr +asciitilde 0x27 altgr +braceleft 0x28 altgr +braceright 0x2b altgr +less 0x2b +greater 0x2b shift +guillemotleft 0x56 +guillemotright 0x56 shift +degree 0x56 altgr +mu 0x32 altgr +eacute 0x35 +dead_acute 0x35 altgr +dead_grave 0x28 +dead_circumflex 0x1a +dead_circumflex 0x1a shift +dead_cedilla 0x1b +dead_diaeresis 0x1b shift +exclam 0x2 shift +quotedbl 0x3 shift +slash 0x4 shift +dollar 0x5 shift +percent 0x6 shift +question 0x7 shift +ampersand 0x8 shift +asterisk 0x9 shift +parenleft 0xa shift +parenright 0xb shift +underscore 0xc shift +plus 0xd shift diff --git a/keymaps/fr-ch b/keymaps/fr-ch new file mode 100644 index 0000000000..4620d2033b --- /dev/null +++ b/keymaps/fr-ch @@ -0,0 +1,114 @@ +# generated from XKB map fr_CH +include common +map 0x100c +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +section 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr +dollar 0x05 shift +onequarter 0x05 altgr +currency 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +ssharp 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +acute 0x0d +dead_acute 0x0d +grave 0x0d shift +dead_grave 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +z 0x15 addupper +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +udiaeresis 0x1a +Udiaeresis 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +plus 0x1b +asterisk 0x1b shift +asciitilde 0x1b altgr +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +odiaeresis 0x27 +Odiaeresis 0x27 shift +dead_doubleacute 0x27 altgr +adiaeresis 0x28 +Adiaeresis 0x28 shift +dead_caron 0x28 shift altgr +asciicircum 0x29 +dead_circumflex 0x29 +degree 0x29 shift +notsign 0x29 altgr +numbersign 0x2b +apostrophe 0x2b shift +dead_breve 0x2b shift altgr +y 0x2c addupper +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/hr b/keymaps/hr new file mode 100644 index 0000000000..613aa6925d --- /dev/null +++ b/keymaps/hr @@ -0,0 +1,125 @@ +# generated from XKB map hr +include common +map 0x41a +exclam 0x02 shift +asciitilde 0x02 altgr +dead_tilde 0x02 shift altgr +quotedbl 0x03 shift +dead_caron 0x03 altgr +caron 0x03 shift altgr +numbersign 0x04 shift +asciicircum 0x04 altgr +dead_circumflex 0x04 shift altgr +dollar 0x05 shift +dead_breve 0x05 altgr +breve 0x05 shift altgr +percent 0x06 shift +degree 0x06 altgr +dead_abovering 0x06 shift altgr +ampersand 0x07 shift +dead_ogonek 0x07 altgr +ogonek 0x07 shift altgr +slash 0x08 shift +grave 0x08 altgr +dead_grave 0x08 shift altgr +parenleft 0x09 shift +dead_abovedot 0x09 altgr +abovedot 0x09 shift altgr +parenright 0x0a shift +dead_acute 0x0a altgr +apostrophe 0x0a shift altgr +equal 0x0b shift +dead_doubleacute 0x0b altgr +doubleacute 0x0b shift altgr +apostrophe 0x0c +question 0x0c shift +dead_diaeresis 0x0c altgr +diaeresis 0x0c shift altgr +plus 0x0d +asterisk 0x0d shift +dead_cedilla 0x0d altgr +cedilla 0x0d shift altgr +backslash 0x10 altgr +Greek_OMEGA 0x10 shift altgr +bar 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +z 0x15 addupper +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +scaron 0x1a +Scaron 0x1a shift +division 0x1a altgr +dead_abovering 0x1a shift altgr +dstroke 0x1b +Dstroke 0x1b shift +multiply 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +bracketleft 0x21 altgr +ordfeminine 0x21 shift altgr +bracketright 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +lstroke 0x25 altgr +ampersand 0x25 shift altgr +Lstroke 0x26 altgr +ccaron 0x27 +Ccaron 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr +cacute 0x28 +Cacute 0x28 shift +ssharp 0x28 altgr +dead_caron 0x28 shift altgr +dead_cedilla 0x29 +dead_diaeresis 0x29 shift +notsign 0x29 altgr +zcaron 0x2b +Zcaron 0x2b shift +currency 0x2b altgr +dead_breve 0x2b shift altgr +y 0x2c addupper +guillemotleft 0x2c altgr +less 0x2c shift altgr +guillemotright 0x2d altgr +greater 0x2d shift altgr +cent 0x2e altgr +copyright 0x2e shift altgr +at 0x2f altgr +grave 0x2f shift altgr +braceleft 0x30 altgr +apostrophe 0x30 shift altgr +braceright 0x31 altgr +section 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/hu b/keymaps/hu new file mode 100644 index 0000000000..8aba444417 --- /dev/null +++ b/keymaps/hu @@ -0,0 +1,115 @@ +# Hungarian keyboard layout (QWERTZ) +# Created by: The NeverGone <never@delfin.klte.hu> + +include common +map 0x40e + + +# AltGr keys: +notsign 0x29 altgr +asciitilde 0x02 altgr +caron 0x03 altgr +asciicircum 0x04 altgr +breve 0x05 altgr +degree 0x06 altgr +ogonek 0x07 altgr +grave 0x08 altgr +abovedot 0x09 altgr +acute 0x0a altgr +doubleacute 0x0b altgr +diaeresis 0x0c altgr +cedilla 0x0d altgr +backslash 0x10 altgr +bar 0x11 altgr +EuroSign 0x12 altgr +Iacute 0x17 altgr +division 0x1a altgr +multiply 0x1b altgr +dstroke 0x1f altgr +Dstroke 0x20 altgr +bracketleft 0x21 altgr +bracketright 0x22 altgr +iacute 0x24 altgr +lstroke 0x25 altgr +Lstroke 0x26 altgr +dollar 0x27 altgr +ssharp 0x28 altgr +currency 0x2b altgr +less 0x56 altgr +greater 0x2c altgr +numbersign 0x2d altgr +ampersand 0x2e altgr +at 0x2f altgr +braceleft 0x30 altgr +braceright 0x31 altgr +semicolon 0x33 altgr +asterisk 0x35 altgr + + +# Shift keys: +section 0x29 shift +apostrophe 0x02 shift +quotedbl 0x03 shift +plus 0x04 shift +exclam 0x05 shift +percent 0x06 shift +slash 0x07 shift +equal 0x08 shift +parenleft 0x09 shift +parenright 0x0a shift +Odiaeresis 0x0b shift +Udiaeresis 0x0c shift +Oacute 0x0d shift +Z 0x15 shift +Odoubleacute 0x1a shift +Uacute 0x1b shift +Eacute 0x27 shift +Aacute 0x28 shift +Udoubleacute 0x2b shift +Y 0x2c shift +question 0x33 shift +colon 0x34 shift +underscore 0x35 shift +F13 0x3b shift +F14 0x3c shift +F15 0x3d shift +F16 0x3e shift +F17 0x3f shift +F18 0x40 shift +F19 0x41 shift +F20 0x42 shift +F21 0x43 shift +F22 0x44 shift +F23 0x57 shift +F24 0x58 shift + + +# Ctrl keys: +F25 0x3b ctrl +F26 0x3c ctrl +F27 0x3d ctrl +F28 0x3e ctrl +F29 0x3f ctrl +F30 0x40 ctrl +F31 0x41 ctrl +F32 0x42 ctrl +F33 0x43 ctrl +F34 0x44 ctrl +F35 0x57 ctrl +#NoSymbol 0x58 ctrl + + +0 0x29 +odiaeresis 0x0b +udiaeresis 0x0c +oacute 0x0d +z 0x15 +odoubleacute 0x1a +uacute 0x1b +eacute 0x27 +aacute 0x28 +udoubleacute 0x2b +y 0x2c +comma 0x33 +period 0x34 +minus 0x35 diff --git a/keymaps/is b/keymaps/is new file mode 100644 index 0000000000..8fde40f19a --- /dev/null +++ b/keymaps/is @@ -0,0 +1,140 @@ +# 2004-03-16 Halldór Guðmundsson and Morten Lange +# Keyboard definition file for the Icelandic keyboard +# to be used in rdesktop 1.3.x ( See rdesktop.org) +# generated from XKB map de, and changed manually +# Location for example /usr/local/share/rdesktop/keymaps/is +include common +map 0x40f +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +#section 0x04 shift +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr +dollar 0x05 shift +onequarter 0x05 altgr +currency 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +#ssharp 0x0c +odiaeresis 0x0c +#question 0x0c shift +Odiaeresis 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +#acute 0x0d +minus 0x0d +#dead_acute 0x0d +#grave 0x0d shift +#dead_grave 0x0d shift +underscore 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +#z 0x15 addupper +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +#thorn 0x19 altgr +#THORN 0x19 shift altgr +#udiaeresis 0x1a +#Udiaeresis 0x1a shift +#dead_diaeresis 0x1a altgr +#dead_abovering 0x1a shift altgr +eth 0x1a +ETH 0x1a shift +apostrophe 0x1b +question 0x1b shift +#plus 0x1b +#asterisk 0x1b shift +asciitilde 0x1b altgr +#grave 0x1b altgr +#dead_tilde 0x1b altgr +#dead_macron 0x1b shift altgr +#ae 0x1e altgr +#AE 0x1e shift altgr +#eth 0x20 altgr +#eth 0x20 +#ETH 0x20 shift altgr +#ETH 0x20 shift +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +#adiaeresis 0x27 +#Adiaeresis 0x27 shift +ae 0x27 +AE 0x27 shift +dead_doubleacute 0x27 altgr +#adiaeresis 0x28 +#Adiaeresis 0x28 shift +#dead_caron 0x28 shift altgr +#asciicircum 0x29 +acute 0x28 +dead_acute 0x28 +#dead_circumflex 0x29 +#degree 0x29 shift +#notsign 0x29 altgr +plus 0x2b +asterisk 0x2b shift +grave 0x2b altgr +#numbersign 0x2b +#apostrophe 0x2b shift +#dead_breve 0x2b shift altgr +#y 0x2c addupper +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +#minus 0x35 +#underscore 0x35 shift +thorn 0x35 +THORN 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr + diff --git a/keymaps/it b/keymaps/it new file mode 100644 index 0000000000..00ca73a3e2 --- /dev/null +++ b/keymaps/it @@ -0,0 +1,115 @@ +# generated from XKB map it +include common +map 0x410 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +quotedbl 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +sterling 0x04 shift +threesuperior 0x04 altgr +dollar 0x05 shift +onequarter 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +parenleft 0x09 shift +trademark 0x09 shift altgr +parenright 0x0a shift +plusminus 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +apostrophe 0x0c +question 0x0c shift +grave 0x0c altgr +questiondown 0x0c shift altgr +igrave 0x0d +asciicircum 0x0d shift +asciitilde 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +cent 0x12 shift altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +egrave 0x1a +eacute 0x1a shift +bracketleft 0x1a altgr +dead_abovering 0x1a shift altgr +plus 0x1b +asterisk 0x1b shift +bracketright 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +ograve 0x27 +ccedilla 0x27 shift +at 0x27 altgr +dead_doubleacute 0x27 shift altgr +agrave 0x28 +degree 0x28 shift +numbersign 0x28 altgr +backslash 0x29 +bar 0x29 shift +notsign 0x29 altgr +ugrave 0x2b +section 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/ja b/keymaps/ja new file mode 100644 index 0000000000..8fd0b9ef1b --- /dev/null +++ b/keymaps/ja @@ -0,0 +1,104 @@ +# generated from XKB map jp106 +include common +map 0x411 +exclam 0x02 shift +kana_NU 0x02 altgr +quotedbl 0x03 shift +kana_FU 0x03 altgr +numbersign 0x04 shift +kana_A 0x04 altgr +kana_a 0x04 shift altgr +dollar 0x05 shift +kana_U 0x05 altgr +kana_u 0x05 shift altgr +percent 0x06 shift +kana_E 0x06 altgr +kana_e 0x06 shift altgr +ampersand 0x07 shift +kana_O 0x07 altgr +kana_o 0x07 shift altgr +apostrophe 0x08 shift +kana_YA 0x08 altgr +kana_ya 0x08 shift altgr +parenleft 0x09 shift +kana_YU 0x09 altgr +kana_yu 0x09 shift altgr +parenright 0x0a shift +kana_YO 0x0a altgr +kana_yo 0x0a shift altgr +asciitilde 0x0b shift +kana_WA 0x0b altgr +kana_WO 0x0b shift altgr +minus 0x0c +equal 0x0c shift +kana_HO 0x0c altgr +asciicircum 0x0d +asciitilde 0x0d shift +kana_HE 0x0d altgr +kana_TA 0x10 altgr +kana_TE 0x11 altgr +kana_I 0x12 altgr +kana_i 0x12 shift altgr +kana_SU 0x13 altgr +kana_KA 0x14 altgr +kana_N 0x15 altgr +kana_NA 0x16 altgr +kana_NI 0x17 altgr +kana_RA 0x18 altgr +kana_SE 0x19 altgr +at 0x1a +grave 0x1a shift +voicedsound 0x1a altgr +bracketleft 0x1b +braceleft 0x1b shift +semivoicedsound 0x1b altgr +kana_openingbracket 0x1b shift altgr +kana_CHI 0x1e altgr +kana_TO 0x1f altgr +kana_SHI 0x20 altgr +kana_HA 0x21 altgr +kana_KI 0x22 altgr +kana_KU 0x23 altgr +kana_MA 0x24 altgr +kana_NO 0x25 altgr +kana_RI 0x26 altgr +semicolon 0x27 +plus 0x27 shift +kana_RE 0x27 altgr +colon 0x28 +asterisk 0x28 shift +kana_KE 0x28 altgr +Zenkaku_Hankaku 0x29 +bracketright 0x2b +braceright 0x2b shift +kana_MU 0x2b altgr +kana_closingbracket 0x2b shift altgr +kana_TSU 0x2c altgr +kana_tsu 0x2c shift altgr +kana_SA 0x2d altgr +kana_SO 0x2e altgr +kana_HI 0x2f altgr +kana_KO 0x30 altgr +kana_MI 0x31 altgr +kana_MO 0x32 altgr +comma 0x33 +less 0x33 shift +kana_NE 0x33 altgr +kana_comma 0x33 shift altgr +period 0x34 +greater 0x34 shift +kana_RU 0x34 altgr +kana_fullstop 0x34 shift altgr +slash 0x35 +question 0x35 shift +kana_ME 0x35 altgr +kana_conjunctive 0x35 shift altgr +Eisu_toggle 0x3a shift +Execute 0x54 shift +Kanji 0x70 +backslash 0x73 +bar 0x7d shift +underscore 0x73 shift +Henkan_Mode 0x79 +Katakana 0x70 +Muhenkan 0x7b diff --git a/keymaps/lt b/keymaps/lt new file mode 100644 index 0000000000..3d9d619ea5 --- /dev/null +++ b/keymaps/lt @@ -0,0 +1,57 @@ +# generated from XKB map lt +include common +map 0x427 +exclam 0x02 shift +aogonek 0x02 altgr +Aogonek 0x02 shift altgr +at 0x03 shift +ccaron 0x03 altgr +Ccaron 0x03 shift altgr +numbersign 0x04 shift +eogonek 0x04 altgr +Eogonek 0x04 shift altgr +dollar 0x05 shift +eabovedot 0x05 altgr +Eabovedot 0x05 shift altgr +percent 0x06 shift +iogonek 0x06 altgr +Iogonek 0x06 shift altgr +asciicircum 0x07 shift +scaron 0x07 altgr +Scaron 0x07 shift altgr +ampersand 0x08 shift +uogonek 0x08 altgr +Uogonek 0x08 shift altgr +asterisk 0x09 shift +umacron 0x09 altgr +Umacron 0x09 shift altgr +parenleft 0x0a shift +doublelowquotemark 0x0a altgr +parenright 0x0b shift +leftdoublequotemark 0x0b altgr +minus 0x0c +underscore 0x0c shift +equal 0x0d +plus 0x0d shift +zcaron 0x0d altgr +Zcaron 0x0d shift altgr +bracketleft 0x1a +braceleft 0x1a shift +bracketright 0x1b +braceright 0x1b shift +semicolon 0x27 +colon 0x27 shift +apostrophe 0x28 +quotedbl 0x28 shift +grave 0x29 +asciitilde 0x29 shift +backslash 0x2b +bar 0x2b shift +comma 0x33 +less 0x33 shift +period 0x34 +greater 0x34 shift +slash 0x35 +question 0x35 shift +endash 0x56 +EuroSign 0x56 shift diff --git a/keymaps/lv b/keymaps/lv new file mode 100644 index 0000000000..1d91727912 --- /dev/null +++ b/keymaps/lv @@ -0,0 +1,128 @@ +# generated from XKB map lv +include common +map 0x426 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +at 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr +dollar 0x05 shift +EuroSign 0x05 altgr +cent 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +asciicircum 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +ampersand 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +asterisk 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenleft 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +parenright 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +equal 0x0d +plus 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +emacron 0x12 altgr +Emacron 0x12 shift altgr +rcedilla 0x13 altgr +Rcedilla 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +umacron 0x16 altgr +Umacron 0x16 shift altgr +imacron 0x17 altgr +Imacron 0x17 shift altgr +omacron 0x18 altgr +Omacron 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +bracketright 0x1b +braceright 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr +ISO_Next_Group 0x1c shift +amacron 0x1e altgr +Amacron 0x1e shift altgr +scaron 0x1f altgr +Scaron 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +gcedilla 0x22 altgr +Gcedilla 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kcedilla 0x25 altgr +Kcedilla 0x25 shift altgr +lcedilla 0x26 altgr +Lcedilla 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr +apostrophe 0x28 +quotedbl 0x28 shift +leftdoublequotemark 0x28 altgr +doublelowquotemark 0x28 shift altgr +grave 0x29 +asciitilde 0x29 shift +notsign 0x29 altgr +backslash 0x2b +bar 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr +zcaron 0x2c altgr +Zcaron 0x2c shift altgr +guillemotright 0x2d altgr +greater 0x2d shift altgr +ccaron 0x2e altgr +Ccaron 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +apostrophe 0x30 shift altgr +ncedilla 0x31 altgr +Ncedilla 0x31 shift altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +slash 0x35 +question 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr +nobreakspace 0x39 altgr diff --git a/keymaps/mk b/keymaps/mk new file mode 100644 index 0000000000..18c1504842 --- /dev/null +++ b/keymaps/mk @@ -0,0 +1,101 @@ +# generated from XKB map mk +include common +map 0x42f +exclam 0x02 shift +at 0x03 shift +doublelowquotemark 0x03 shift altgr +numbersign 0x04 shift +leftdoublequotemark 0x04 shift altgr +dollar 0x05 shift +percent 0x06 shift +asciicircum 0x07 shift +ampersand 0x08 shift +asterisk 0x09 shift +parenleft 0x0a shift +parenright 0x0b shift +minus 0x0c +underscore 0x0c shift +equal 0x0d +plus 0x0d shift +Cyrillic_lje 0x10 altgr +Cyrillic_LJE 0x10 shift altgr +Cyrillic_nje 0x11 altgr +Cyrillic_NJE 0x11 shift altgr +Cyrillic_ie 0x12 altgr +Cyrillic_IE 0x12 shift altgr +Cyrillic_er 0x13 altgr +Cyrillic_ER 0x13 shift altgr +Cyrillic_te 0x14 altgr +Cyrillic_TE 0x14 shift altgr +Macedonia_dse 0x15 altgr +Macedonia_DSE 0x15 shift altgr +Cyrillic_u 0x16 altgr +Cyrillic_U 0x16 shift altgr +Cyrillic_i 0x17 altgr +Cyrillic_I 0x17 shift altgr +Cyrillic_o 0x18 altgr +Cyrillic_O 0x18 shift altgr +Cyrillic_pe 0x19 altgr +Cyrillic_PE 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +Cyrillic_sha 0x1a altgr +Cyrillic_SHA 0x1a shift altgr +bracketright 0x1b +braceright 0x1b shift +Macedonia_gje 0x1b altgr +Macedonia_GJE 0x1b shift altgr +Cyrillic_a 0x1e altgr +Cyrillic_A 0x1e shift altgr +Cyrillic_es 0x1f altgr +Cyrillic_ES 0x1f shift altgr +Cyrillic_de 0x20 altgr +Cyrillic_DE 0x20 shift altgr +Cyrillic_ef 0x21 altgr +Cyrillic_EF 0x21 shift altgr +Cyrillic_ghe 0x22 altgr +Cyrillic_GHE 0x22 shift altgr +Cyrillic_ha 0x23 altgr +Cyrillic_HA 0x23 shift altgr +Cyrillic_je 0x24 altgr +Cyrillic_JE 0x24 shift altgr +Cyrillic_ka 0x25 altgr +Cyrillic_KA 0x25 shift altgr +Cyrillic_el 0x26 altgr +Cyrillic_EL 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +Cyrillic_che 0x27 altgr +Cyrillic_CHE 0x27 shift altgr +apostrophe 0x28 +quotedbl 0x28 shift +Macedonia_kje 0x28 altgr +Macedonia_KJE 0x28 shift altgr +grave 0x29 +asciitilde 0x29 shift +backslash 0x2b +bar 0x2b shift +Cyrillic_zhe 0x2b altgr +Cyrillic_ZHE 0x2b shift altgr +Cyrillic_ze 0x2c altgr +Cyrillic_ZE 0x2c shift altgr +Cyrillic_dzhe 0x2d altgr +Cyrillic_DZHE 0x2d shift altgr +Cyrillic_tse 0x2e altgr +Cyrillic_TSE 0x2e shift altgr +Cyrillic_ve 0x2f altgr +Cyrillic_VE 0x2f shift altgr +Cyrillic_be 0x30 altgr +Cyrillic_BE 0x30 shift altgr +Cyrillic_en 0x31 altgr +Cyrillic_EN 0x31 shift altgr +Cyrillic_em 0x32 altgr +Cyrillic_EM 0x32 shift altgr +comma 0x33 +less 0x33 shift +semicolon 0x33 shift altgr +period 0x34 +greater 0x34 shift +colon 0x34 shift altgr +slash 0x35 +question 0x35 shift diff --git a/keymaps/modifiers b/keymaps/modifiers new file mode 100644 index 0000000000..06c43442e5 --- /dev/null +++ b/keymaps/modifiers @@ -0,0 +1,16 @@ +Shift_R 0x36 +Shift_L 0x2a + +Alt_R 0xb8 +Mode_switch 0xb8 +Alt_L 0x38 + +Control_R 0x9d +Control_L 0x1d + +# Translate Meta, Super and Hyper to Windows keys. +# This is hardcoded. See documentation for details. + +# Translate Menu to the Windows Application key. +# This one does not work either. +Menu 0xdd diff --git a/keymaps/nl b/keymaps/nl new file mode 100644 index 0000000000..bc823bd2f7 --- /dev/null +++ b/keymaps/nl @@ -0,0 +1,60 @@ +# Dutch (Netherlands) +include common +map 0x413 + +exclam 0x02 shift +onesuperior 0x02 altgr +quotebl 0x03 shift +twosuperior 0x03 altgr +numbersign 0x04 shift +threesuperior 0x04 altgr +dollar 0x05 shift +onequarter 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +ampersand 0x07 shift +threequarters 0x07 altgr +underscore 0x08 shift +sterling 0x08 altgr +parenleft 0x09 shift +braceleft 0x09 altgr +parenright 0x0a shift +braceright 0x0a altgr +apostrophe 0x0b shift +slash 0x0c +question 0x0c shift +backslash 0x0c altgr +degree 0x0d +dead_tilde 0x0d shift +dead_cedilla 0x0d altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +dead_diaeresis 0x1a +dead_circumflex 0x1a shift +asterisk 0x1b +bar 0x1b shift +ssharp 0x1f altgr +plus 0x27 +plusminus 0x27 shift +dead_acute 0x28 +dead_grave 0x28 shift +at 0x29 +section 0x29 shift +notsign 0x29 altgr +less 0x2b +greater 0x2b shift +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +copyright 0x2e altgr +mu 0x32 altgr +comma 0x33 +semicolon 0x33 shift +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +hyphen 0x35 +equal 0x35 shift +bracketright 0x56 +bracketleft 0x56 shift +brokenbar 0x56 altgr + diff --git a/keymaps/nl-be b/keymaps/nl-be new file mode 100644 index 0000000000..34fc881ad0 --- /dev/null +++ b/keymaps/nl-be @@ -0,0 +1,3 @@ +# Dutch (Belgium) +map 0x813 +include common diff --git a/keymaps/no b/keymaps/no new file mode 100644 index 0000000000..40a64790d1 --- /dev/null +++ b/keymaps/no @@ -0,0 +1,119 @@ +# generated from XKB map no +include common +map 0x414 +exclam 0x02 shift +exclamdown 0x02 altgr +onesuperior 0x02 shift altgr +quotedbl 0x03 shift +at 0x03 altgr +twosuperior 0x03 shift altgr +numbersign 0x04 shift +sterling 0x04 altgr +threesuperior 0x04 shift altgr +currency 0x05 shift +dollar 0x05 altgr +onequarter 0x05 shift altgr +percent 0x06 shift +onehalf 0x06 altgr +cent 0x06 shift altgr +ampersand 0x07 shift +yen 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +division 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +guillemotleft 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +guillemotright 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +plus 0x0c +question 0x0c shift +plusminus 0x0c altgr +questiondown 0x0c shift altgr +backslash 0x0d +dead_grave 0x0d shift +dead_acute 0x0d altgr +notsign 0x0d shift altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +cent 0x12 shift altgr +registered 0x13 altgr +thorn 0x14 altgr +THORN 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oe 0x18 altgr +OE 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +asciicircum 0x01b shift +dead_tilde 0x1b altgr +asciitilde 0x1b altgr +dead_caron 0x1b shift altgr +ordfeminine 0x1e altgr +masculine 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +oslash 0x27 +Ooblique 0x27 shift +dead_doubleacute 0x27 shift altgr +ae 0x28 +AE 0x28 shift +dead_caron 0x28 shift altgr +bar 0x29 +section 0x29 shift +brokenbar 0x29 altgr +paragraph 0x29 shift altgr +apostrophe 0x2b +asterisk 0x2b shift +multiply 0x2b shift altgr +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +copyright 0x2e altgr +leftdoublequotemark 0x2f altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +dead_cedilla 0x33 altgr +dead_ogonek 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +dead_abovedot 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +hyphen 0x35 altgr +macron 0x35 shift altgr +nobreakspace 0x39 altgr +onehalf 0x56 altgr +threequarters 0x56 shift altgr diff --git a/keymaps/pl b/keymaps/pl new file mode 100644 index 0000000000..09c600d355 --- /dev/null +++ b/keymaps/pl @@ -0,0 +1,122 @@ +# generated from XKB map pl +include common +map 0x415 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +at 0x03 shift +twosuperior 0x03 altgr +oneeighth 0x03 shift altgr +numbersign 0x04 shift +threesuperior 0x04 altgr +sterling 0x04 shift altgr +dollar 0x05 shift +onequarter 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +asciicircum 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +ampersand 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +asterisk 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenleft 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +parenright 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +equal 0x0d +plus 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +eogonek 0x12 altgr +Eogonek 0x12 shift altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +EuroSign 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oacute 0x18 altgr +Oacute 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +bracketright 0x1b +braceright 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr +aogonek 0x1e altgr +Aogonek 0x1e shift altgr +sacute 0x1f altgr +Sacute 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr +apostrophe 0x28 +quotedbl 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr +grave 0x29 +asciitilde 0x29 shift +notsign 0x29 altgr +backslash 0x2b +bar 0x2b shift +dead_grave 0x2b altgr +dead_breve 0x2b shift altgr +zabovedot 0x2c altgr +Zabovedot 0x2c shift altgr +zacute 0x2d altgr +Zacute 0x2d shift altgr +cacute 0x2e altgr +Cacute 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +nacute 0x31 altgr +Nacute 0x31 shift altgr +mu 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +less 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +greater 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +slash 0x35 +question 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/pt b/keymaps/pt new file mode 100644 index 0000000000..c6941f651c --- /dev/null +++ b/keymaps/pt @@ -0,0 +1,113 @@ +# generated from XKB map pt +include common +map 0x816 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +quotedbl 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr +numbersign 0x04 shift +sterling 0x04 altgr +dollar 0x05 shift +section 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +threequarters 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +apostrophe 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +guillemotleft 0x0d +guillemotright 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +cent 0x12 shift altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +plus 0x1a +asterisk 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +dead_acute 0x1b +dead_grave 0x1b shift +dead_tilde 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +ccedilla 0x27 +Ccedilla 0x27 shift +dead_doubleacute 0x27 shift altgr +masculine 0x28 +ordfeminine 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr +backslash 0x29 +bar 0x29 shift +notsign 0x29 altgr +dead_tilde 0x2b +dead_circumflex 0x2b shift +dead_breve 0x2b shift altgr +less 0x56 +greater 0x56 shift +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +mu 0x32 altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +multiply 0x33 shift altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +division 0x34 shift altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/keymaps/pt-br b/keymaps/pt-br new file mode 100644 index 0000000000..54bafc5dc3 --- /dev/null +++ b/keymaps/pt-br @@ -0,0 +1,69 @@ +# generated from XKB map br +include common +map 0x416 +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +at 0x03 shift +twosuperior 0x03 altgr +onehalf 0x03 shift altgr +numbersign 0x04 shift +threesuperior 0x04 altgr +threequarters 0x04 shift altgr +dollar 0x05 shift +sterling 0x05 altgr +onequarter 0x05 shift altgr +percent 0x06 shift +cent 0x06 altgr +dead_diaeresis 0x07 shift +notsign 0x07 altgr +diaeresis 0x07 shift altgr +ampersand 0x08 shift +braceleft 0x08 altgr +asterisk 0x09 shift +bracketleft 0x09 altgr +parenleft 0x0a shift +bracketright 0x0a altgr +parenright 0x0b shift +braceright 0x0b altgr +minus 0x0c +underscore 0x0c shift +backslash 0x0c altgr +equal 0x0d +plus 0x0d shift +section 0x0d altgr +EuroSign 0x12 altgr +registered 0x13 altgr +dead_acute 0x1a +dead_grave 0x1a shift +acute 0x1a altgr +grave 0x1a shift altgr +bracketleft 0x1b +braceleft 0x1b shift +ordfeminine 0x1b altgr +ccedilla 0x27 +Ccedilla 0x27 shift +dead_tilde 0x28 +dead_circumflex 0x28 shift +asciitilde 0x28 altgr +asciicircum 0x28 shift altgr +apostrophe 0x29 +quotedbl 0x29 shift +bracketright 0x2b +braceright 0x2b shift +masculine 0x2b altgr +copyright 0x2e altgr +mu 0x32 altgr +comma 0x33 +less 0x33 shift +period 0x34 +greater 0x34 shift +semicolon 0x35 +colon 0x35 shift +comma 0x53 numlock +backslash 0x56 +bar 0x56 shift +slash 0x73 +question 0x73 shift +degree 0x73 altgr +KP_Decimal 0x34 diff --git a/keymaps/ru b/keymaps/ru new file mode 100644 index 0000000000..b3e7d24de5 --- /dev/null +++ b/keymaps/ru @@ -0,0 +1,109 @@ +# generated from XKB map ru +include common +map 0x419 +exclam 0x02 shift +at 0x03 shift +quotedbl 0x03 shift altgr +numbersign 0x04 shift +dollar 0x05 shift +asterisk 0x05 shift altgr +percent 0x06 shift +colon 0x06 shift altgr +asciicircum 0x07 shift +comma 0x07 shift altgr +ampersand 0x08 shift +period 0x08 shift altgr +asterisk 0x09 shift +semicolon 0x09 shift altgr +parenleft 0x0a shift +parenright 0x0b shift +minus 0x0c +underscore 0x0c shift +equal 0x0d +plus 0x0d shift +Cyrillic_shorti 0x10 altgr +Cyrillic_SHORTI 0x10 shift altgr +Cyrillic_tse 0x11 altgr +Cyrillic_TSE 0x11 shift altgr +Cyrillic_u 0x12 altgr +Cyrillic_U 0x12 shift altgr +Cyrillic_ka 0x13 altgr +Cyrillic_KA 0x13 shift altgr +Cyrillic_ie 0x14 altgr +Cyrillic_IE 0x14 shift altgr +Cyrillic_en 0x15 altgr +Cyrillic_EN 0x15 shift altgr +Cyrillic_ghe 0x16 altgr +Cyrillic_GHE 0x16 shift altgr +Cyrillic_sha 0x17 altgr +Cyrillic_SHA 0x17 shift altgr +Cyrillic_shcha 0x18 altgr +Cyrillic_SHCHA 0x18 shift altgr +Cyrillic_ze 0x19 altgr +Cyrillic_ZE 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +Cyrillic_ha 0x1a altgr +Cyrillic_HA 0x1a shift altgr +bracketright 0x1b +braceright 0x1b shift +Cyrillic_hardsign 0x1b altgr +Cyrillic_HARDSIGN 0x1b shift altgr +Cyrillic_ef 0x1e altgr +Cyrillic_EF 0x1e shift altgr +Cyrillic_yeru 0x1f altgr +Cyrillic_YERU 0x1f shift altgr +Cyrillic_ve 0x20 altgr +Cyrillic_VE 0x20 shift altgr +Cyrillic_a 0x21 altgr +Cyrillic_A 0x21 shift altgr +Cyrillic_pe 0x22 altgr +Cyrillic_PE 0x22 shift altgr +Cyrillic_er 0x23 altgr +Cyrillic_ER 0x23 shift altgr +Cyrillic_o 0x24 altgr +Cyrillic_O 0x24 shift altgr +Cyrillic_el 0x25 altgr +Cyrillic_EL 0x25 shift altgr +Cyrillic_de 0x26 altgr +Cyrillic_DE 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +Cyrillic_zhe 0x27 altgr +Cyrillic_ZHE 0x27 shift altgr +apostrophe 0x28 +quotedbl 0x28 shift +Cyrillic_e 0x28 altgr +Cyrillic_E 0x28 shift altgr +grave 0x29 +asciitilde 0x29 shift +Cyrillic_io 0x29 altgr +Cyrillic_IO 0x29 shift altgr +backslash 0x2b +bar 0x2b shift +Cyrillic_ya 0x2c altgr +Cyrillic_YA 0x2c shift altgr +Cyrillic_che 0x2d altgr +Cyrillic_CHE 0x2d shift altgr +Cyrillic_es 0x2e altgr +Cyrillic_ES 0x2e shift altgr +Cyrillic_em 0x2f altgr +Cyrillic_EM 0x2f shift altgr +Cyrillic_i 0x30 altgr +Cyrillic_I 0x30 shift altgr +Cyrillic_te 0x31 altgr +Cyrillic_TE 0x31 shift altgr +Cyrillic_softsign 0x32 altgr +Cyrillic_SOFTSIGN 0x32 shift altgr +comma 0x33 +less 0x33 shift +Cyrillic_be 0x33 altgr +Cyrillic_BE 0x33 shift altgr +period 0x34 +greater 0x34 shift +Cyrillic_yu 0x34 altgr +Cyrillic_YU 0x34 shift altgr +slash 0x35 +question 0x35 shift +slash 0x56 altgr +bar 0x56 shift altgr diff --git a/keymaps/sl b/keymaps/sl new file mode 100644 index 0000000000..56835a92c3 --- /dev/null +++ b/keymaps/sl @@ -0,0 +1,110 @@ +# generated from XKB map sl +include common +map 0x424 +exclam 0x02 shift +asciitilde 0x02 altgr +dead_tilde 0x02 shift altgr +quotedbl 0x03 shift +dead_caron 0x03 altgr +caron 0x03 shift altgr +numbersign 0x04 shift +asciicircum 0x04 altgr +dead_circumflex 0x04 shift altgr +dollar 0x05 shift +dead_breve 0x05 altgr +breve 0x05 shift altgr +percent 0x06 shift +degree 0x06 altgr +dead_abovering 0x06 shift altgr +ampersand 0x07 shift +dead_ogonek 0x07 altgr +ogonek 0x07 shift altgr +slash 0x08 shift +grave 0x08 altgr +dead_grave 0x08 shift altgr +parenleft 0x09 shift +dead_abovedot 0x09 altgr +abovedot 0x09 shift altgr +parenright 0x0a shift +dead_acute 0x0a altgr +equal 0x0b shift +dead_doubleacute 0x0b altgr +doubleacute 0x0b shift altgr +apostrophe 0x0c +question 0x0c shift +dead_diaeresis 0x0c altgr +diaeresis 0x0c shift altgr +plus 0x0d +asterisk 0x0d shift +dead_cedilla 0x0d altgr +cedilla 0x0d shift altgr +backslash 0x10 altgr +Greek_OMEGA 0x10 shift altgr +bar 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +z 0x15 addupper +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +rightarrow 0x17 altgr +idotless 0x17 shift altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +scaron 0x1a +Scaron 0x1a shift +division 0x1a altgr +dstroke 0x1b +Dstroke 0x1b shift +multiply 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +bracketleft 0x21 altgr +ordfeminine 0x21 shift altgr +bracketright 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +lstroke 0x25 altgr +Lstroke 0x26 altgr +ccaron 0x27 +Ccaron 0x27 shift +cacute 0x28 +Cacute 0x28 shift +ssharp 0x28 altgr +dead_cedilla 0x29 +notsign 0x29 altgr +zcaron 0x2b +Zcaron 0x2b shift +currency 0x2b altgr +y 0x2c addupper +guillemotleft 0x2c altgr +guillemotright 0x2d altgr +cent 0x2e altgr +copyright 0x2e shift altgr +at 0x2f altgr +braceleft 0x30 altgr +braceright 0x31 altgr +section 0x32 altgr +masculine 0x32 shift altgr +comma 0x33 +semicolon 0x33 shift +horizconnector 0x33 altgr +period 0x34 +colon 0x34 shift +periodcentered 0x34 altgr +minus 0x35 +underscore 0x35 shift +dead_belowdot 0x35 altgr diff --git a/keymaps/sv b/keymaps/sv new file mode 100644 index 0000000000..736d637b3f --- /dev/null +++ b/keymaps/sv @@ -0,0 +1,82 @@ +map 0x0000041d +include common + +# +# Top row +# +section 0x29 +onehalf 0x29 shift + +# 1 +exclam 0x2 shift + +# 2 +quotedbl 0x3 shift +at 0x3 altgr + +# 3 +numbersign 0x4 shift +sterling 0x4 altgr +# 4 +currency 0x5 shift +dollar 0x5 altgr +# 5 +percent 0x6 shift +# 6 +ampersand 0x7 shift +# 7 +slash 0x8 shift +braceleft 0x8 altgr +# 8 +parenleft 0x9 shift +bracketleft 0x9 altgr +# 9 +parenright 0xa shift +bracketright 0xa altgr +# 0 +equal 0xb shift +braceright 0xb altgr + +plus 0xc +question 0xc shift +backslash 0xc altgr + +acute 0xd +dead_acute 0xd +grave 0xd shift +dead_grave 0xd shift + +# +# QWERTY first row +# +EuroSign 0x12 altgr +aring 0x1a +Aring 0x1a shift +dead_diaeresis 0x1b +dead_circumflex 0x1b shift +dead_tilde 0x1b altgr + +# +# QWERTY second row +# +odiaeresis 0x27 +Odiaeresis 0x27 shift +adiaeresis 0x28 +Adiaeresis 0x28 shift +apostrophe 0x2b +asterisk 0x2b shift + +# +# QWERTY third row +# +less 0x56 +greater 0x56 shift +bar 0x56 altgr +mu 0x32 altgr +comma 0x33 +semicolon 0x33 shift +period 0x34 +colon 0x34 shift +minus 0x35 +underscore 0x35 shift + diff --git a/keymaps/th b/keymaps/th new file mode 100644 index 0000000000..b65b6da5d9 --- /dev/null +++ b/keymaps/th @@ -0,0 +1,131 @@ +# generated from XKB map th +include common +map 0x41e +exclam 0x02 shift +Thai_lakkhangyao 0x02 altgr +plus 0x02 shift altgr +at 0x03 shift +slash 0x03 altgr +Thai_leknung 0x03 shift altgr +numbersign 0x04 shift +minus 0x04 altgr +Thai_leksong 0x04 shift altgr +dollar 0x05 shift +Thai_phosamphao 0x05 altgr +Thai_leksam 0x05 shift altgr +percent 0x06 shift +Thai_thothung 0x06 altgr +Thai_leksi 0x06 shift altgr +asciicircum 0x07 shift +Thai_sarau 0x07 altgr +Thai_sarauu 0x07 shift altgr +ampersand 0x08 shift +Thai_saraue 0x08 altgr +Thai_baht 0x08 shift altgr +asterisk 0x09 shift +Thai_khokhwai 0x09 altgr +Thai_lekha 0x09 shift altgr +parenleft 0x0a shift +Thai_totao 0x0a altgr +Thai_lekhok 0x0a shift altgr +parenright 0x0b shift +Thai_chochan 0x0b altgr +Thai_lekchet 0x0b shift altgr +minus 0x0c +underscore 0x0c shift +Thai_khokhai 0x0c altgr +Thai_lekpaet 0x0c shift altgr +equal 0x0d +plus 0x0d shift +Thai_chochang 0x0d altgr +Thai_lekkao 0x0d shift altgr +Thai_maiyamok 0x10 altgr +Thai_leksun 0x10 shift altgr +Thai_saraaimaimalai 0x11 altgr +quotedbl 0x11 shift altgr +Thai_saraam 0x12 altgr +Thai_dochada 0x12 shift altgr +Thai_phophan 0x13 altgr +Thai_thonangmontho 0x13 shift altgr +Thai_saraa 0x14 altgr +Thai_thothong 0x14 shift altgr +Thai_maihanakat 0x15 altgr +Thai_nikhahit 0x15 shift altgr +Thai_saraii 0x16 altgr +Thai_maitri 0x16 shift altgr +Thai_rorua 0x17 altgr +Thai_nonen 0x17 shift altgr +Thai_nonu 0x18 altgr +Thai_paiyannoi 0x18 shift altgr +Thai_yoyak 0x19 altgr +Thai_yoying 0x19 shift altgr +bracketleft 0x1a +braceleft 0x1a shift +Thai_bobaimai 0x1a altgr +Thai_thothan 0x1a shift altgr +bracketright 0x1b +braceright 0x1b shift +Thai_loling 0x1b altgr +comma 0x1b shift altgr +Thai_fofan 0x1e altgr +Thai_ru 0x1e shift altgr +Thai_hohip 0x1f altgr +Thai_khorakhang 0x1f shift altgr +Thai_kokai 0x20 altgr +Thai_topatak 0x20 shift altgr +Thai_dodek 0x21 altgr +Thai_sarao 0x21 shift altgr +Thai_sarae 0x22 altgr +Thai_chochoe 0x22 shift altgr +Thai_maitho 0x23 altgr +Thai_maitaikhu 0x23 shift altgr +Thai_maiek 0x24 altgr +Thai_maichattawa 0x24 shift altgr +Thai_saraaa 0x25 altgr +Thai_sorusi 0x25 shift altgr +Thai_sosua 0x26 altgr +Thai_sosala 0x26 shift altgr +semicolon 0x27 +colon 0x27 shift +Thai_wowaen 0x27 altgr +Thai_soso 0x27 shift altgr +apostrophe 0x28 +quotedbl 0x28 shift +Thai_ngongu 0x28 altgr +period 0x28 shift altgr +grave 0x29 +asciitilde 0x29 shift +underscore 0x29 altgr +percent 0x29 shift altgr +ISO_First_Group 0x2a shift +backslash 0x2b +bar 0x2b shift +Thai_khokhuat 0x2b altgr +Thai_khokhon 0x2b shift altgr +Thai_phophung 0x2c altgr +parenleft 0x2c shift altgr +Thai_popla 0x2d altgr +parenright 0x2d shift altgr +Thai_saraae 0x2e altgr +Thai_choching 0x2e shift altgr +Thai_oang 0x2f altgr +Thai_honokhuk 0x2f shift altgr +Thai_sarai 0x30 altgr +Thai_phinthu 0x30 shift altgr +Thai_sarauee 0x31 altgr +Thai_thanthakhat 0x31 shift altgr +Thai_thothahan 0x32 altgr +question 0x32 shift altgr +comma 0x33 +less 0x33 shift +Thai_moma 0x33 altgr +Thai_thophuthao 0x33 shift altgr +period 0x34 +greater 0x34 shift +Thai_saraaimaimuan 0x34 altgr +Thai_lochula 0x34 shift altgr +slash 0x35 +question 0x35 shift +Thai_fofa 0x35 altgr +Thai_lu 0x35 shift altgr +ISO_Last_Group 0x36 shift diff --git a/keymaps/tr b/keymaps/tr new file mode 100644 index 0000000000..5650e1e93f --- /dev/null +++ b/keymaps/tr @@ -0,0 +1,123 @@ +# generated from XKB map tr +include common +map 0x41f +exclam 0x02 shift +onesuperior 0x02 altgr +exclamdown 0x02 shift altgr +apostrophe 0x03 shift +at 0x03 altgr +oneeighth 0x03 shift altgr +dead_circumflex 0x04 shift +numbersign 0x04 altgr +sterling 0x04 shift altgr +plus 0x05 shift +dollar 0x05 altgr +percent 0x06 shift +onehalf 0x06 altgr +threeeighths 0x06 shift altgr +ampersand 0x07 shift +asciicircum 0x07 altgr +fiveeighths 0x07 shift altgr +slash 0x08 shift +braceleft 0x08 altgr +seveneighths 0x08 shift altgr +parenleft 0x09 shift +bracketleft 0x09 altgr +trademark 0x09 shift altgr +parenright 0x0a shift +bracketright 0x0a altgr +plusminus 0x0a shift altgr +equal 0x0b shift +braceright 0x0b altgr +degree 0x0b shift altgr +asterisk 0x0c +question 0x0c shift +backslash 0x0c altgr +questiondown 0x0c shift altgr +minus 0x0d +underscore 0x0d shift +dead_cedilla 0x0d altgr +dead_ogonek 0x0d shift altgr +at 0x10 altgr +Greek_OMEGA 0x10 shift altgr +lstroke 0x11 altgr +Lstroke 0x11 shift altgr +EuroSign 0x12 altgr +paragraph 0x13 altgr +registered 0x13 shift altgr +tslash 0x14 altgr +Tslash 0x14 shift altgr +leftarrow 0x15 altgr +yen 0x15 shift altgr +downarrow 0x16 altgr +uparrow 0x16 shift altgr +idotless 0x17 +I 0x17 shift +rightarrow 0x17 altgr +oslash 0x18 altgr +Ooblique 0x18 shift altgr +thorn 0x19 altgr +THORN 0x19 shift altgr +gbreve 0x1a +Gbreve 0x1a shift +dead_diaeresis 0x1a altgr +dead_abovering 0x1a shift altgr +udiaeresis 0x1b +Udiaeresis 0x1b shift +asciitilde 0x1b altgr +dead_macron 0x1b shift altgr +ae 0x1e altgr +AE 0x1e shift altgr +ssharp 0x1f altgr +section 0x1f shift altgr +eth 0x20 altgr +ETH 0x20 shift altgr +dstroke 0x21 altgr +ordfeminine 0x21 shift altgr +eng 0x22 altgr +ENG 0x22 shift altgr +hstroke 0x23 altgr +Hstroke 0x23 shift altgr +kra 0x25 altgr +ampersand 0x25 shift altgr +lstroke 0x26 altgr +Lstroke 0x26 shift altgr +scedilla 0x27 +Scedilla 0x27 shift +dead_acute 0x27 altgr +dead_doubleacute 0x27 shift altgr +i 0x28 +Iabovedot 0x28 shift +dead_circumflex 0x28 altgr +dead_caron 0x28 shift altgr +backslash 0x29 +quotedbl 0x29 shift +asciitilde 0x29 altgr +comma 0x2b +semicolon 0x2b shift +bar 0x2b altgr +dead_breve 0x2b shift altgr +guillemotleft 0x2c altgr +less 0x2c shift altgr +guillemotright 0x2d altgr +greater 0x2d shift altgr +cent 0x2e altgr +copyright 0x2e shift altgr +leftdoublequotemark 0x2f altgr +grave 0x2f shift altgr +rightdoublequotemark 0x30 altgr +apostrophe 0x30 shift altgr +mu 0x32 altgr +masculine 0x32 shift altgr +odiaeresis 0x33 +Odiaeresis 0x33 shift +less 0x33 altgr +multiply 0x33 shift altgr +ccedilla 0x34 +Ccedilla 0x34 shift +greater 0x34 altgr +division 0x34 shift altgr +period 0x35 +colon 0x35 shift +dead_belowdot 0x35 altgr +dead_abovedot 0x35 shift altgr diff --git a/qemu-doc.texi b/qemu-doc.texi index 6338062cdb..e8e75a9ae3 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -189,6 +189,22 @@ command line application. The emulated serial port is redirected on the console. Therefore, you can still use QEMU to debug a Linux kernel with a serial console. +@item -k language + +Use keyboard layout @var{language} (for example @code{fr} for +French). This option is only needed where it is not easy to get raw PC +keycodes (e.g. on Macs or with some X11 servers). You don't need to +use it on PC/Linux or PC/Windows hosts. + +The available layouts are: +@example +ar de-ch es fo fr-ca hu ja mk no pt-br sv +da en-gb et fr fr-ch is lt nl pl ru th +de en-us fi fr-be hr it lv nl-be pt sl tr +@end example + +The default is @code{en-us}. + @item -enable-audio The SB16 emulation is disabled by default as it may give problems with @@ -29,10 +29,6 @@ #include <signal.h> #endif -#if defined(__APPLE__) -#define CONFIG_SDL_GENERIC_KBD -#endif - static SDL_Surface *screen; static int gui_grab; /* if true, all keyboard/mouse events are grabbed */ static int last_vm_running; @@ -72,118 +68,26 @@ static void sdl_resize(DisplayState *ds, int w, int h) ds->height = h; } -#ifdef CONFIG_SDL_GENERIC_KBD - -/* XXX: use keymap tables defined in the VNC patch because the - following code suppose you have a US keyboard. */ - -static const uint8_t scancodes[SDLK_LAST] = { - [SDLK_ESCAPE] = 0x01, - [SDLK_1] = 0x02, - [SDLK_2] = 0x03, - [SDLK_3] = 0x04, - [SDLK_4] = 0x05, - [SDLK_5] = 0x06, - [SDLK_6] = 0x07, - [SDLK_7] = 0x08, - [SDLK_8] = 0x09, - [SDLK_9] = 0x0a, - [SDLK_0] = 0x0b, - [SDLK_MINUS] = 0x0c, - [SDLK_EQUALS] = 0x0d, - [SDLK_BACKSPACE] = 0x0e, - [SDLK_TAB] = 0x0f, - [SDLK_q] = 0x10, - [SDLK_w] = 0x11, - [SDLK_e] = 0x12, - [SDLK_r] = 0x13, - [SDLK_t] = 0x14, - [SDLK_y] = 0x15, - [SDLK_u] = 0x16, - [SDLK_i] = 0x17, - [SDLK_o] = 0x18, - [SDLK_p] = 0x19, - [SDLK_LEFTBRACKET] = 0x1a, - [SDLK_RIGHTBRACKET] = 0x1b, - [SDLK_RETURN] = 0x1c, - [SDLK_LCTRL] = 0x1d, - [SDLK_a] = 0x1e, - [SDLK_s] = 0x1f, - [SDLK_d] = 0x20, - [SDLK_f] = 0x21, - [SDLK_g] = 0x22, - [SDLK_h] = 0x23, - [SDLK_j] = 0x24, - [SDLK_k] = 0x25, - [SDLK_l] = 0x26, - [SDLK_SEMICOLON] = 0x27, - [SDLK_QUOTE] = 0x28, - [SDLK_BACKQUOTE] = 0x29, - [SDLK_LSHIFT] = 0x2a, - [SDLK_BACKSLASH] = 0x2b, - [SDLK_z] = 0x2c, - [SDLK_x] = 0x2d, - [SDLK_c] = 0x2e, - [SDLK_v] = 0x2f, - [SDLK_b] = 0x30, - [SDLK_n] = 0x31, - [SDLK_m] = 0x32, - [SDLK_COMMA] = 0x33, - [SDLK_PERIOD] = 0x34, - [SDLK_SLASH] = 0x35, - [SDLK_KP_MULTIPLY] = 0x37, - [SDLK_LALT] = 0x38, - [SDLK_SPACE] = 0x39, - [SDLK_CAPSLOCK] = 0x3a, - [SDLK_F1] = 0x3b, - [SDLK_F2] = 0x3c, - [SDLK_F3] = 0x3d, - [SDLK_F4] = 0x3e, - [SDLK_F5] = 0x3f, - [SDLK_F6] = 0x40, - [SDLK_F7] = 0x41, - [SDLK_F8] = 0x42, - [SDLK_F9] = 0x43, - [SDLK_F10] = 0x44, - [SDLK_NUMLOCK] = 0x45, - [SDLK_SCROLLOCK] = 0x46, - [SDLK_KP7] = 0x47, - [SDLK_KP8] = 0x48, - [SDLK_KP9] = 0x49, - [SDLK_KP_MINUS] = 0x4a, - [SDLK_KP4] = 0x4b, - [SDLK_KP5] = 0x4c, - [SDLK_KP6] = 0x4d, - [SDLK_KP_PLUS] = 0x4e, - [SDLK_KP1] = 0x4f, - [SDLK_KP2] = 0x50, - [SDLK_KP3] = 0x51, - [SDLK_KP0] = 0x52, - [SDLK_KP_PERIOD] = 0x53, - [SDLK_PRINT] = 0x54, - [SDLK_LMETA] = 0x56, - - [SDLK_KP_ENTER] = 0x9c, - [SDLK_KP_DIVIDE] = 0xb5, - - [SDLK_UP] = 0xc8, - [SDLK_DOWN] = 0xd0, - [SDLK_RIGHT] = 0xcd, - [SDLK_LEFT] = 0xcb, - [SDLK_INSERT] = 0xd2, - [SDLK_HOME] = 0xc7, - [SDLK_END] = 0xcf, - [SDLK_PAGEUP] = 0xc9, - [SDLK_PAGEDOWN] = 0xd1, - [SDLK_DELETE] = 0xd3, -}; +/* generic keyboard conversion */ -static uint8_t sdl_keyevent_to_keycode(const SDL_KeyboardEvent *ev) +#include "sdl_keysym.h" +#include "keymaps.c" + +static kbd_layout_t *kbd_layout = NULL; + +static uint8_t sdl_keyevent_to_keycode_generic(const SDL_KeyboardEvent *ev) { - return scancodes[ev->keysym.sym]; + int keysym; + /* workaround for X11+SDL bug with AltGR */ + keysym = ev->keysym.sym; + if (keysym == 0 && ev->keysym.scancode == 113) + keysym = SDLK_MODE; + return keysym2scancode(kbd_layout, keysym); } -#elif defined(_WIN32) +/* specific keyboard conversions from scan codes */ + +#if defined(_WIN32) static uint8_t sdl_keyevent_to_keycode(const SDL_KeyboardEvent *ev) { @@ -305,8 +209,11 @@ static void sdl_process_key(SDL_KeyboardEvent *ev) return; } - /* XXX: not portable, but avoids complicated mappings */ - keycode = sdl_keyevent_to_keycode(ev); + if (kbd_layout) { + keycode = sdl_keyevent_to_keycode_generic(ev); + } else { + keycode = sdl_keyevent_to_keycode(ev); + } switch(keycode) { case 0x00: @@ -558,6 +465,17 @@ void sdl_display_init(DisplayState *ds, int full_screen) { int flags; +#if defined(__APPLE__) + /* always use generic keymaps */ + if (!keyboard_layout) + keyboard_layout = "en-us"; +#endif + if(keyboard_layout) { + kbd_layout = init_keyboard_layout(keyboard_layout); + if (!kbd_layout) + exit(1); + } + flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE; if (SDL_Init (flags)) { fprintf(stderr, "Could not initialize SDL - exiting\n"); diff --git a/sdl_keysym.h b/sdl_keysym.h new file mode 100644 index 0000000000..07969bcb43 --- /dev/null +++ b/sdl_keysym.h @@ -0,0 +1,275 @@ +typedef struct { + const char* name; + int keysym; +} name2keysym_t; +static name2keysym_t name2keysym[]={ +/* ascii */ + { "space", 0x020}, + { "exclam", 0x021}, + { "quotedbl", 0x022}, + { "numbersign", 0x023}, + { "dollar", 0x024}, + { "percent", 0x025}, + { "ampersand", 0x026}, + { "apostrophe", 0x027}, + { "parenleft", 0x028}, + { "parenright", 0x029}, + { "asterisk", 0x02a}, + { "plus", 0x02b}, + { "comma", 0x02c}, + { "minus", 0x02d}, + { "period", 0x02e}, + { "slash", 0x02f}, + { "0", 0x030}, + { "1", 0x031}, + { "2", 0x032}, + { "3", 0x033}, + { "4", 0x034}, + { "5", 0x035}, + { "6", 0x036}, + { "7", 0x037}, + { "8", 0x038}, + { "9", 0x039}, + { "colon", 0x03a}, + { "semicolon", 0x03b}, + { "less", 0x03c}, + { "equal", 0x03d}, + { "greater", 0x03e}, + { "question", 0x03f}, + { "at", 0x040}, + { "A", 0x041}, + { "B", 0x042}, + { "C", 0x043}, + { "D", 0x044}, + { "E", 0x045}, + { "F", 0x046}, + { "G", 0x047}, + { "H", 0x048}, + { "I", 0x049}, + { "J", 0x04a}, + { "K", 0x04b}, + { "L", 0x04c}, + { "M", 0x04d}, + { "N", 0x04e}, + { "O", 0x04f}, + { "P", 0x050}, + { "Q", 0x051}, + { "R", 0x052}, + { "S", 0x053}, + { "T", 0x054}, + { "U", 0x055}, + { "V", 0x056}, + { "W", 0x057}, + { "X", 0x058}, + { "Y", 0x059}, + { "Z", 0x05a}, + { "bracketleft", 0x05b}, + { "backslash", 0x05c}, + { "bracketright", 0x05d}, + { "asciicircum", 0x05e}, + { "underscore", 0x05f}, + { "grave", 0x060}, + { "a", 0x061}, + { "b", 0x062}, + { "c", 0x063}, + { "d", 0x064}, + { "e", 0x065}, + { "f", 0x066}, + { "g", 0x067}, + { "h", 0x068}, + { "i", 0x069}, + { "j", 0x06a}, + { "k", 0x06b}, + { "l", 0x06c}, + { "m", 0x06d}, + { "n", 0x06e}, + { "o", 0x06f}, + { "p", 0x070}, + { "q", 0x071}, + { "r", 0x072}, + { "s", 0x073}, + { "t", 0x074}, + { "u", 0x075}, + { "v", 0x076}, + { "w", 0x077}, + { "x", 0x078}, + { "y", 0x079}, + { "z", 0x07a}, + { "braceleft", 0x07b}, + { "bar", 0x07c}, + { "braceright", 0x07d}, + { "asciitilde", 0x07e}, + +/* latin 1 extensions */ +{ "nobreakspace", 0x0a0}, +{ "exclamdown", 0x0a1}, +{ "cent", 0x0a2}, +{ "sterling", 0x0a3}, +{ "currency", 0x0a4}, +{ "yen", 0x0a5}, +{ "brokenbar", 0x0a6}, +{ "section", 0x0a7}, +{ "diaeresis", 0x0a8}, +{ "copyright", 0x0a9}, +{ "ordfeminine", 0x0aa}, +{ "guillemotleft", 0x0ab}, +{ "notsign", 0x0ac}, +{ "hyphen", 0x0ad}, +{ "registered", 0x0ae}, +{ "macron", 0x0af}, +{ "degree", 0x0b0}, +{ "plusminus", 0x0b1}, +{ "twosuperior", 0x0b2}, +{ "threesuperior", 0x0b3}, +{ "acute", 0x0b4}, +{ "mu", 0x0b5}, +{ "paragraph", 0x0b6}, +{ "periodcentered", 0x0b7}, +{ "cedilla", 0x0b8}, +{ "onesuperior", 0x0b9}, +{ "masculine", 0x0ba}, +{ "guillemotright", 0x0bb}, +{ "onequarter", 0x0bc}, +{ "onehalf", 0x0bd}, +{ "threequarters", 0x0be}, +{ "questiondown", 0x0bf}, +{ "Agrave", 0x0c0}, +{ "Aacute", 0x0c1}, +{ "Acircumflex", 0x0c2}, +{ "Atilde", 0x0c3}, +{ "Adiaeresis", 0x0c4}, +{ "Aring", 0x0c5}, +{ "AE", 0x0c6}, +{ "Ccedilla", 0x0c7}, +{ "Egrave", 0x0c8}, +{ "Eacute", 0x0c9}, +{ "Ecircumflex", 0x0ca}, +{ "Ediaeresis", 0x0cb}, +{ "Igrave", 0x0cc}, +{ "Iacute", 0x0cd}, +{ "Icircumflex", 0x0ce}, +{ "Idiaeresis", 0x0cf}, +{ "ETH", 0x0d0}, +{ "Eth", 0x0d0}, +{ "Ntilde", 0x0d1}, +{ "Ograve", 0x0d2}, +{ "Oacute", 0x0d3}, +{ "Ocircumflex", 0x0d4}, +{ "Otilde", 0x0d5}, +{ "Odiaeresis", 0x0d6}, +{ "multiply", 0x0d7}, +{ "Ooblique", 0x0d8}, +{ "Oslash", 0x0d8}, +{ "Ugrave", 0x0d9}, +{ "Uacute", 0x0da}, +{ "Ucircumflex", 0x0db}, +{ "Udiaeresis", 0x0dc}, +{ "Yacute", 0x0dd}, +{ "THORN", 0x0de}, +{ "Thorn", 0x0de}, +{ "ssharp", 0x0df}, +{ "agrave", 0x0e0}, +{ "aacute", 0x0e1}, +{ "acircumflex", 0x0e2}, +{ "atilde", 0x0e3}, +{ "adiaeresis", 0x0e4}, +{ "aring", 0x0e5}, +{ "ae", 0x0e6}, +{ "ccedilla", 0x0e7}, +{ "egrave", 0x0e8}, +{ "eacute", 0x0e9}, +{ "ecircumflex", 0x0ea}, +{ "ediaeresis", 0x0eb}, +{ "igrave", 0x0ec}, +{ "iacute", 0x0ed}, +{ "icircumflex", 0x0ee}, +{ "idiaeresis", 0x0ef}, +{ "eth", 0x0f0}, +{ "ntilde", 0x0f1}, +{ "ograve", 0x0f2}, +{ "oacute", 0x0f3}, +{ "ocircumflex", 0x0f4}, +{ "otilde", 0x0f5}, +{ "odiaeresis", 0x0f6}, +{ "division", 0x0f7}, +{ "oslash", 0x0f8}, +{ "ooblique", 0x0f8}, +{ "ugrave", 0x0f9}, +{ "uacute", 0x0fa}, +{ "ucircumflex", 0x0fb}, +{ "udiaeresis", 0x0fc}, +{ "yacute", 0x0fd}, +{ "thorn", 0x0fe}, +{ "ydiaeresis", 0x0ff}, +{"EuroSign", SDLK_EURO}, + + /* modifiers */ +{"Control_L", SDLK_LCTRL}, +{"Control_R", SDLK_RCTRL}, +{"Alt_L", SDLK_LALT}, +{"Alt_R", SDLK_RALT}, +{"Caps_Lock", SDLK_CAPSLOCK}, +{"Meta_L", SDLK_LMETA}, +{"Meta_R", SDLK_RMETA}, +{"Shift_L", SDLK_LSHIFT}, +{"Shift_R", SDLK_RSHIFT}, + + /* special keys */ +{"BackSpace", SDLK_BACKSPACE}, +{"Tab", SDLK_TAB}, +{"Return", SDLK_RETURN}, +{"Right", SDLK_RIGHT}, +{"Left", SDLK_LEFT}, +{"Up", SDLK_UP}, +{"Down", SDLK_DOWN}, +{"Page_Down", SDLK_PAGEDOWN}, +{"Page_Up", SDLK_PAGEUP}, +{"Insert", SDLK_INSERT}, +{"Delete", SDLK_DELETE}, +{"Home", SDLK_HOME}, +{"End", SDLK_END}, +{"Scroll_Lock", SDLK_SCROLLOCK}, +{"F1", SDLK_F1}, +{"F2", SDLK_F2}, +{"F3", SDLK_F3}, +{"F4", SDLK_F4}, +{"F5", SDLK_F5}, +{"F6", SDLK_F6}, +{"F7", SDLK_F7}, +{"F8", SDLK_F8}, +{"F9", SDLK_F9}, +{"F10", SDLK_F10}, +{"F11", SDLK_F11}, +{"F12", SDLK_F12}, +{"F13", SDLK_F13}, +{"F14", SDLK_F14}, +{"F15", SDLK_F15}, +{"Sys_Req", SDLK_SYSREQ}, +{"KP_0", SDLK_KP0}, +{"KP_1", SDLK_KP1}, +{"KP_2", SDLK_KP2}, +{"KP_3", SDLK_KP3}, +{"KP_4", SDLK_KP4}, +{"KP_5", SDLK_KP5}, +{"KP_6", SDLK_KP6}, +{"KP_7", SDLK_KP7}, +{"KP_8", SDLK_KP8}, +{"KP_9", SDLK_KP9}, +{"KP_Add", SDLK_KP_PLUS}, +{"KP_Decimal", SDLK_KP_PERIOD}, +{"KP_Divide", SDLK_KP_DIVIDE}, +{"KP_Enter", SDLK_KP_ENTER}, +{"KP_Equal", SDLK_KP_EQUALS}, +{"KP_Multiply", SDLK_KP_MULTIPLY}, +{"KP_Subtract", SDLK_KP_MINUS}, +{"help", SDLK_HELP}, +{"Menu", SDLK_MENU}, +{"Power", SDLK_POWER}, +{"Print", SDLK_PRINT}, +{"Mode_switch", SDLK_MODE}, +{"Multi_Key", SDLK_COMPOSE}, +{"Num_Lock", SDLK_NUMLOCK}, +{"Pause", SDLK_PAUSE}, + +{0,0}, +}; @@ -112,6 +112,7 @@ int vga_ram_size; int bios_size; static DisplayState display_state; int nographic; +const char* keyboard_layout = NULL; int64_t ticks_per_sec; int boot_device = 'c'; int ram_size; @@ -2541,6 +2542,7 @@ void help(void) "-snapshot write to temporary files instead of disk image files\n" "-m megs set virtual RAM size to megs MB [default=%d]\n" "-nographic disable graphical output and redirect serial I/Os to console\n" + "-k language use keyboard layout (for example \"fr\" for French)\n" "-enable-audio enable audio support\n" "-localtime set the real time clock to local time [default=utc]\n" "-full-screen start in full screen\n" @@ -2658,6 +2660,7 @@ enum { QEMU_OPTION_pci, QEMU_OPTION_isa, QEMU_OPTION_prep, + QEMU_OPTION_k, QEMU_OPTION_localtime, QEMU_OPTION_cirrusvga, QEMU_OPTION_g, @@ -2689,6 +2692,7 @@ const QEMUOption qemu_options[] = { { "snapshot", 0, QEMU_OPTION_snapshot }, { "m", HAS_ARG, QEMU_OPTION_m }, { "nographic", 0, QEMU_OPTION_nographic }, + { "k", HAS_ARG, QEMU_OPTION_k }, { "enable-audio", 0, QEMU_OPTION_enable_audio }, { "nics", HAS_ARG, QEMU_OPTION_nics}, @@ -3092,6 +3096,9 @@ int main(int argc, char **argv) case QEMU_OPTION_prep: prep_enabled = 1; break; + case QEMU_OPTION_k: + keyboard_layout = optarg; + break; case QEMU_OPTION_localtime: rtc_utc = 0; break; @@ -123,6 +123,7 @@ extern int cirrus_vga_enabled; extern int graphic_width; extern int graphic_height; extern int graphic_depth; +extern const char *keyboard_layout; /* XXX: make it dynamic */ #if defined (TARGET_PPC) |