Modify keyboard layout/shortcuts

Shimmy Weitzhandler

I'm using US International keyboard to type in English and Hungarian.
It covers all the Hungarian characters except for the double acute accent chars (e.g. Ő and Ű).
Is there a way to modify the current keyboard to add those chars or add system shortcuts to cover them?
Since I'm already using several non-Roman-based languages, I don't want to add additional keyboards, I just want to have one keyboard for English and Hungarian.

JosefZ

Yes, there is a way to modify the current keyboard to add those chars: cf. procedure in this answer to another question. However, you would get the following warning: The characters ű (U+0171), Ű (U+0170), ő (U+0151), Ő (U+0150) exist in entries of the layout table and are not in the default system code page (1252) of the English (United States) language you specified. This may cause compatibility problems in non-Unicode applications.

For instance, it's possible to make the following mappings using AltGr for double-acuted letters ű and ő to keys immediately left and down to keys for u and o, respectively. Capitalize them using Shift+AltGr:

  • ű (U+0171) Latin Small Letter U With Double Acute: AltGr+h
  • Ű (U+0170) Latin Capital Letter U With Double Acute: Shift+AltGr+h
  • ő (U+0151) Latin Small Letter O With Double Acute: AltGr+k
  • Ő (U+0150) Latin Capital Letter O With Double Acute: Shift+AltGr+k

See the 55th line (scancode 23) and the 57th line (scancode 25) in the following KBDUSXH.klc file:

KBD KBDUSXH "United States-Intl - Hungarian"

COPYRIGHT   "(c) 2018 JosefZ"

COMPANY "JosefZ"

LOCALENAME  "en-US"

LOCALEID    "00000409"

VERSION 1.0

SHIFTSTATE

0   //Column 4
1   //Column 5 : Shft
2   //Column 6 :       Ctrl
6   //Column 7 :       Ctrl Alt
7   //Column 8 : Shft  Ctrl Alt

LAYOUT      ;an extra '@' at the end is a dead key

//SC    VK_     Cap 0   1   2   6   7
//--    ----        ----    ----    ----    ----    ----    ----

02  1       0   1   0021    -1  00a1    00b9        // DIGIT ONE, EXCLAMATION MARK, <none>, INVERTED EXCLAMATION MARK, SUPERSCRIPT ONE
03  2       0   2   0040    -1  00b2    -1      // DIGIT TWO, COMMERCIAL AT, <none>, SUPERSCRIPT TWO, <none>
04  3       0   3   0023    -1  00b3    -1      // DIGIT THREE, NUMBER SIGN, <none>, SUPERSCRIPT THREE, <none>
05  4       0   4   0024    -1  00a4    00a3        // DIGIT FOUR, DOLLAR SIGN, <none>, CURRENCY SIGN, POUND SIGN
06  5       0   5   0025    -1  20ac    -1      // DIGIT FIVE, PERCENT SIGN, <none>, EURO SIGN, <none>
07  6       0   6   005e@   -1  00bc    -1      // DIGIT SIX, CIRCUMFLEX ACCENT, <none>, VULGAR FRACTION ONE QUARTER, <none>
08  7       0   7   0026    -1  00bd    -1      // DIGIT SEVEN, AMPERSAND, <none>, VULGAR FRACTION ONE HALF, <none>
09  8       0   8   002a    -1  00be    -1      // DIGIT EIGHT, ASTERISK, <none>, VULGAR FRACTION THREE QUARTERS, <none>
0a  9       0   9   0028    -1  2018    -1      // DIGIT NINE, LEFT PARENTHESIS, <none>, LEFT SINGLE QUOTATION MARK, <none>
0b  0       0   0   0029    -1  2019    -1      // DIGIT ZERO, RIGHT PARENTHESIS, <none>, RIGHT SINGLE QUOTATION MARK, <none>
0c  OEM_MINUS   0   002d    005f    -1  00a5    -1      // HYPHEN-MINUS, LOW LINE, <none>, YEN SIGN, <none>
0d  OEM_PLUS    0   003d    002b    -1  00d7    00f7        // EQUALS SIGN, PLUS SIGN, <none>, MULTIPLICATION SIGN, DIVISION SIGN
10  Q       5   q   Q   -1  00e4    00c4        // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, <none>, LATIN SMALL LETTER A WITH DIAERESIS, LATIN CAPITAL LETTER A WITH DIAERESIS
11  W       5   w   W   -1  00e5    00c5        // LATIN SMALL LETTER W, LATIN CAPITAL LETTER W, <none>, LATIN SMALL LETTER A WITH RING ABOVE, LATIN CAPITAL LETTER A WITH RING ABOVE
12  E       5   e   E   -1  00e9    00c9        // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, <none>, LATIN SMALL LETTER E WITH ACUTE, LATIN CAPITAL LETTER E WITH ACUTE
13  R       1   r   R   -1  00ae    -1      // LATIN SMALL LETTER R, LATIN CAPITAL LETTER R, <none>, REGISTERED SIGN, <none>
14  T       5   t   T   -1  00fe    00de        // LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, <none>, LATIN SMALL LETTER THORN, LATIN CAPITAL LETTER THORN
15  Y       5   y   Y   -1  00fc    00dc        // LATIN SMALL LETTER Y, LATIN CAPITAL LETTER Y, <none>, LATIN SMALL LETTER U WITH DIAERESIS, LATIN CAPITAL LETTER U WITH DIAERESIS
16  U       5   u   U   -1  00fa    00da        // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, <none>, LATIN SMALL LETTER U WITH ACUTE, LATIN CAPITAL LETTER U WITH ACUTE
17  I       5   i   I   -1  00ed    00cd        // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I, <none>, LATIN SMALL LETTER I WITH ACUTE, LATIN CAPITAL LETTER I WITH ACUTE
18  O       5   o   O   -1  00f3    00d3        // LATIN SMALL LETTER O, LATIN CAPITAL LETTER O, <none>, LATIN SMALL LETTER O WITH ACUTE, LATIN CAPITAL LETTER O WITH ACUTE
19  P       5   p   P   -1  00f6    00d6        // LATIN SMALL LETTER P, LATIN CAPITAL LETTER P, <none>, LATIN SMALL LETTER O WITH DIAERESIS, LATIN CAPITAL LETTER O WITH DIAERESIS
1a  OEM_4       0   005b    007b    001b    00ab    -1      // LEFT SQUARE BRACKET, LEFT CURLY BRACKET, ESCAPE, LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, <none>
1b  OEM_6       0   005d    007d    001d    00bb    -1      // RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET, INFORMATION SEPARATOR THREE, RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, <none>
1e  A       5   a   A   -1  00e1    00c1        // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, <none>, LATIN SMALL LETTER A WITH ACUTE, LATIN CAPITAL LETTER A WITH ACUTE
1f  S       1   s   S   -1  00df    00a7        // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, <none>, LATIN SMALL LETTER SHARP S, SECTION SIGN
20  D       5   d   D   -1  00f0    00d0        // LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, <none>, LATIN SMALL LETTER ETH, LATIN CAPITAL LETTER ETH
21  F       1   f   F   -1  -1  -1      // LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, <none>, <none>, <none>
22  G       1   g   G   -1  -1  -1      // LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, <none>, <none>, <none>
23  H       1   h   H   -1  0171    0170        // LATIN SMALL LETTER H, LATIN CAPITAL LETTER H, <none>, LATIN SMALL LETTER U WITH DOUBLE ACUTE, LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
24  J       1   j   J   -1  -1  -1      // LATIN SMALL LETTER J, LATIN CAPITAL LETTER J, <none>, <none>, <none>
25  K       1   k   K   -1  0151    0150        // LATIN SMALL LETTER K, LATIN CAPITAL LETTER K, <none>, LATIN SMALL LETTER O WITH DOUBLE ACUTE, LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
26  L       5   l   L   -1  00f8    00d8        // LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, <none>, LATIN SMALL LETTER O WITH STROKE, LATIN CAPITAL LETTER O WITH STROKE
27  OEM_1       0   003b    003a    -1  00b6    00b0        // SEMICOLON, COLON, <none>, PILCROW SIGN, DEGREE SIGN
28  OEM_7       0   0027@   0022@   -1  00b4    00a8        // APOSTROPHE, QUOTATION MARK, <none>, ACUTE ACCENT, DIAERESIS
29  OEM_3       0   0060@   007e@   -1  -1  -1      // GRAVE ACCENT, TILDE, <none>, <none>, <none>
2b  OEM_5       0   005c    007c    001c    00ac    00a6        // REVERSE SOLIDUS, VERTICAL LINE, INFORMATION SEPARATOR FOUR, NOT SIGN, BROKEN BAR
2c  Z       5   z   Z   -1  00e6    00c6        // LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, <none>, LATIN SMALL LETTER AE, LATIN CAPITAL LETTER AE
2d  X       1   x   X   -1  -1  -1      // LATIN SMALL LETTER X, LATIN CAPITAL LETTER X, <none>, <none>, <none>
2e  C       1   c   C   -1  00a9    00a2        // LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, <none>, COPYRIGHT SIGN, CENT SIGN
2f  V       1   v   V   -1  -1  -1      // LATIN SMALL LETTER V, LATIN CAPITAL LETTER V, <none>, <none>, <none>
30  B       1   b   B   -1  -1  -1      // LATIN SMALL LETTER B, LATIN CAPITAL LETTER B, <none>, <none>, <none>
31  N       5   n   N   -1  00f1    00d1        // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, <none>, LATIN SMALL LETTER N WITH TILDE, LATIN CAPITAL LETTER N WITH TILDE
32  M       1   m   M   -1  00b5    -1      // LATIN SMALL LETTER M, LATIN CAPITAL LETTER M, <none>, MICRO SIGN, <none>
33  OEM_COMMA   4   002c    003c    -1  00e7    00c7        // COMMA, LESS-THAN SIGN, <none>, LATIN SMALL LETTER C WITH CEDILLA, LATIN CAPITAL LETTER C WITH CEDILLA
34  OEM_PERIOD  0   002e    003e    -1  -1  -1      // FULL STOP, GREATER-THAN SIGN, <none>, <none>, <none>
35  OEM_2       0   002f    003f    -1  00bf    -1      // SOLIDUS, QUESTION MARK, <none>, INVERTED QUESTION MARK, <none>
39  SPACE       0   0020    0020    0020    -1  -1      // SPACE, SPACE, SPACE, <none>, <none>
56  OEM_102 0   005c    007c    001c    -1  -1      // REVERSE SOLIDUS, VERTICAL LINE, INFORMATION SEPARATOR FOUR, <none>, <none>
53  DECIMAL 0   002e    002e    -1  -1  -1      // FULL STOP, FULL STOP, , , 


DEADKEY 005e

0061    00e2    // a -> â
0065    00ea    // e -> ê
0075    00fb    // u -> û
0069    00ee    // i -> î
006f    00f4    // o -> ô
0041    00c2    // A -> Â
0045    00ca    // E -> Ê
0055    00db    // U -> Û
0049    00ce    // I -> Î
004f    00d4    // O -> Ô
0020    005e    //   -> ^

DEADKEY 0027

0063    00e7    // c -> ç
0061    00e1    // a -> á
0065    00e9    // e -> é
0075    00fa    // u -> ú
0069    00ed    // i -> í
0079    00fd    // y -> ý
006f    00f3    // o -> ó
0043    00c7    // C -> Ç
0041    00c1    // A -> Á
0045    00c9    // E -> É
0055    00da    // U -> Ú
0049    00cd    // I -> Í
0059    00dd    // Y -> Ý
004f    00d3    // O -> Ó
0020    0027    //   -> '

DEADKEY 0022

0061    00e4    // a -> ä
0065    00eb    // e -> ë
0075    00fc    // u -> ü
0069    00ef    // i -> ï
0079    00ff    // y -> ÿ
006f    00f6    // o -> ö
0041    00c4    // A -> Ä
0045    00cb    // E -> Ë
0055    00dc    // U -> Ü
0049    00cf    // I -> Ï
004f    00d6    // O -> Ö
0020    0022    //   -> "

DEADKEY 0060

0061    00e0    // a -> à
0065    00e8    // e -> è
0075    00f9    // u -> ù
0069    00ec    // i -> ì
006f    00f2    // o -> ò
0041    00c0    // A -> À
0045    00c8    // E -> È
0055    00d9    // U -> Ù
0049    00cc    // I -> Ì
004f    00d2    // O -> Ò
0020    0060    //   -> `

DEADKEY 007e

006e    00f1    // n -> ñ
0061    00e3    // a -> ã
006f    00f5    // o -> õ
004e    00d1    // N -> Ñ
0041    00c3    // A -> Ã
004f    00d5    // O -> Õ
0020    007e    //   -> ~


KEYNAME

01  Esc
0e  Backspace
0f  Tab
1c  Enter
1d  Ctrl
2a  Shift
36  "Right Shift"
37  "Num *"
38  Alt
39  Space
3a  "Caps Lock"
3b  F1
3c  F2
3d  F3
3e  F4
3f  F5
40  F6
41  F7
42  F8
43  F9
44  F10
45  Pause
46  "Scroll Lock"
47  "Num 7"
48  "Num 8"
49  "Num 9"
4a  "Num -"
4b  "Num 4"
4c  "Num 5"
4d  "Num 6"
4e  "Num +"
4f  "Num 1"
50  "Num 2"
51  "Num 3"
52  "Num 0"
53  "Num Del"
54  "Sys Req"
57  F11
58  F12
7c  F13
7d  F14
7e  F15
7f  F16
80  F17
81  F18
82  F19
83  F20
84  F21
85  F22
86  F23
87  F24

KEYNAME_EXT

1c  "Num Enter"
1d  "Right Ctrl"
35  "Num /"
37  "Prnt Scrn"
38  "Right Alt"
45  "Num Lock"
46  Break
47  Home
48  Up
49  "Page Up"
4b  Left
4d  Right
4f  End
50  Down
51  "Page Down"
52  Insert
53  Delete
54  <00>
56  Help
5b  "Left Windows"
5c  "Right Windows"
5d  Application

KEYNAME_DEAD

005e    "CIRCUMFLEX ACCENT"
0027    "APOSTROPHE"
0022    "QUOTATION MARK"
0060    "GRAVE ACCENT"
007e    "TILDE"


DESCRIPTIONS

0409    United States-Intl - Hungarian

LANGUAGENAMES

0409    English (United States)

ENDKBD

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related