2

I've googled this and cannot find a solution, and it's getting a bit frustrating.

So I have a mac for work, and a PC running windows 10 at home.

Now on my mac, I have QWERTY layout with Croatian characters (šđčćž), and on my windows machine the keyboard is set to standard Croatian which means I have QWERTZ layout.

I can set the keyboard layout to US which will give me QWERTY, but in that case I lose the Croatian specific diacritics (šđčćž).

Is there a way to have diacritics and QWERTY?

It's mostly an annoyance when I switch back and forth between the computers - messing up z's and y's, and I'd like to have a consistence.

  • What system language have you installed? Are there both English and Croatian? Go to Settings >Time & language > Region & language . – Biswapriyo May 14 '17 at 17:50
  • The country region is Croatia, and the Languages installed are Croatian and Sweden (I'm also learning Swedish, so I added it to help with writing). – dingo_d May 14 '17 at 22:07
2

A solution combined from Custom keyboard layout with Windows 10 and MS Keyboard Layout Creator 1.4 Error when Building Installation package discussions at answers.microsoft.com - working on Windows 10 [Version 10.0.16299.125] (1709):

  1. Download and install Microsoft Keyboard Layout Creator 1.4;
  2. Run MsKLC as administrator; File => Load Existing keyboard… (probably Standard in your case); don't panic if you see no change in MsKLC window: it only appears not working;
    • View => Options…: choose Keyboard Layout Type;
    • Project => Properties… (change at least Name from Layout01 to KBDCR1 and Description from Standard - Custom to Croatian - QWERTY), then press OK button;
    • File => Save Source File As… KBDCR1;
    • File => Exit.
  3. Open saved KBDCR1.klc file in your preferred plain text editor (Notepad would suffice), make and save necessary changes (see adjusted KBDCR1.klc file below):
    • line # 42 (scan code 15: Y definition at place of original Z);
    • line # 62 (scan code 2C: Z definition at place of original Y);
    • line # 309 (description).
  4. Run MsKLC as administrator; File => Load Source File… KBDCR1.klc:
    • (optional) Project => Properties… (merely inspection);
    • (optional) Project => Validate Layout (you could see some warnings);
    • (optional but important) Project => Test Keyboard Layout…;
    • Project => Build DLL and Setup Package: after successful build, open the location and run setup.exe as administrator; this would add "Croatian - QWERTY" keyboard layout to your Windows, something like
==> reg query "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000041a"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\a000041a
    Layout Text    REG_SZ    Croatian - QWERTY
    Layout File    REG_SZ    KBDCR1.dll
    Layout Id    REG_SZ    00c0
    Layout Product Code    REG_SZ    {E2CDA8D2-F536-4620-B270-3DE8294801D7}
    Layout Display Name    REG_SZ    @%SystemRoot%\system32\KBDCR1.dll,-1000
    Custom Language Name    REG_SZ    Croatian (Croatia)
    Custom Language Display Name    REG_SZ    @%SystemRoot%\system32\KBDCR1.dll,-1100

Adjusted KBDCR1.klc file (save in UCS-2 LE BOM encoding i.e. Notepad's Unicode - instead of job steps #2 and #3 above):

KBD KBDCR1  "Croatian - QWERTY"

COPYRIGHT   "(c) 2018 JosefZ"

COMPANY "JosefZ"

LOCALENAME  "hr-HR"

LOCALEID    "0000041a"

VERSION 1.0

SHIFTSTATE

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

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

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

02  1       0   1   0021    -1  007e        // DIGIT ONE, EXCLAMATION MARK, <none>, TILDE
03  2       0   2   0022    -1  02c7@       // DIGIT TWO, QUOTATION MARK, <none>, CARON
04  3       0   3   0023    -1  005e@       // DIGIT THREE, NUMBER SIGN, <none>, CIRCUMFLEX ACCENT
05  4       0   4   0024    -1  02d8@       // DIGIT FOUR, DOLLAR SIGN, <none>, BREVE
06  5       0   5   0025    -1  00b0@       // DIGIT FIVE, PERCENT SIGN, <none>, DEGREE SIGN
07  6       0   6   0026    -1  02db@       // DIGIT SIX, AMPERSAND, <none>, OGONEK
08  7       0   7   002f    -1  0060        // DIGIT SEVEN, SOLIDUS, <none>, GRAVE ACCENT
09  8       0   8   0028    -1  02d9@       // DIGIT EIGHT, LEFT PARENTHESIS, <none>, DOT ABOVE
0a  9       0   9   0029    -1  00b4@       // DIGIT NINE, RIGHT PARENTHESIS, <none>, ACUTE ACCENT
0b  0       0   0   003d    -1  02dd@       // DIGIT ZERO, EQUALS SIGN, <none>, DOUBLE ACUTE ACCENT
0c  OEM_2       0   0027    003f    -1  00a8@       // APOSTROPHE, QUESTION MARK, <none>, DIAERESIS
0d  OEM_PLUS    0   002b    002a    -1  00b8@       // PLUS SIGN, ASTERISK, <none>, CEDILLA
10  Q       1   q   Q   -1  005c        // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, <none>, REVERSE SOLIDUS
11  W       1   w   W   -1  007c        // LATIN SMALL LETTER W, LATIN CAPITAL LETTER W, <none>, VERTICAL LINE
12  E       1   e   E   -1  20ac        // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, <none>, EURO SIGN
13  R       1   r   R   -1  -1      // LATIN SMALL LETTER R, LATIN CAPITAL LETTER R, <none>, <none>
14  T       1   t   T   -1  -1      // LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, <none>, <none>
15  Y       1   y   Y   -1  -1      // LATIN SMALL LETTER Y, LATIN CAPITAL LETTER Y, <none>, <none>
16  U       1   u   U   -1  -1      // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, <none>, <none>
17  I       1   i   I   -1  -1      // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I, <none>, <none>
18  O       1   o   O   -1  -1      // LATIN SMALL LETTER O, LATIN CAPITAL LETTER O, <none>, <none>
19  P       1   p   P   -1  -1      // LATIN SMALL LETTER P, LATIN CAPITAL LETTER P, <none>, <none>
1a  OEM_4       1   0161    0160    -1  00f7        // LATIN SMALL LETTER S WITH CARON, LATIN CAPITAL LETTER S WITH CARON, <none>, DIVISION SIGN
1b  OEM_6       1   0111    0110    001b    00d7        // LATIN SMALL LETTER D WITH STROKE, LATIN CAPITAL LETTER D WITH STROKE, ESCAPE, MULTIPLICATION SIGN
1e  A       1   a   A   -1  -1      // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, <none>, <none>
1f  S       1   s   S   -1  -1      // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, <none>, <none>
20  D       1   d   D   -1  -1      // LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, <none>, <none>
21  F       1   f   F   -1  005b        // LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, <none>, LEFT SQUARE BRACKET
22  G       1   g   G   -1  005d        // LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, <none>, RIGHT SQUARE BRACKET
23  H       1   h   H   -1  -1      // LATIN SMALL LETTER H, LATIN CAPITAL LETTER H, <none>, <none>
24  J       1   j   J   -1  -1      // LATIN SMALL LETTER J, LATIN CAPITAL LETTER J, <none>, <none>
25  K       1   k   K   -1  0142        // LATIN SMALL LETTER K, LATIN CAPITAL LETTER K, <none>, LATIN SMALL LETTER L WITH STROKE
26  L       1   l   L   -1  0141        // LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, <none>, LATIN CAPITAL LETTER L WITH STROKE
27  OEM_1       1   010d    010c    001d    -1      // LATIN SMALL LETTER C WITH CARON, LATIN CAPITAL LETTER C WITH CARON, INFORMATION SEPARATOR THREE, <none>
28  OEM_7       1   0107    0106    -1  00df        // LATIN SMALL LETTER C WITH ACUTE, LATIN CAPITAL LETTER C WITH ACUTE, <none>, LATIN SMALL LETTER SHARP S
29  OEM_3       0   00b8@   00a8@   -1  -1      // CEDILLA, DIAERESIS, <none>, <none>
2b  OEM_5       1   017e    017d    001c    00a4        // LATIN SMALL LETTER Z WITH CARON, LATIN CAPITAL LETTER Z WITH CARON, INFORMATION SEPARATOR FOUR, CURRENCY SIGN
2c  Z       1   z   Z   -1  -1      // LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, <none>, <none>
2d  X       1   x   X   -1  -1      // LATIN SMALL LETTER X, LATIN CAPITAL LETTER X, <none>, <none>
2e  C       1   c   C   -1  -1      // LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, <none>, <none>
2f  V       1   v   V   -1  0040        // LATIN SMALL LETTER V, LATIN CAPITAL LETTER V, <none>, COMMERCIAL AT
30  B       1   b   B   -1  007b        // LATIN SMALL LETTER B, LATIN CAPITAL LETTER B, <none>, LEFT CURLY BRACKET
31  N       1   n   N   -1  007d        // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, <none>, RIGHT CURLY BRACKET
32  M       1   m   M   -1  00a7        // LATIN SMALL LETTER M, LATIN CAPITAL LETTER M, <none>, SECTION SIGN
33  OEM_COMMA   0   002c    003b    -1  003c        // COMMA, SEMICOLON, <none>, LESS-THAN SIGN
34  OEM_PERIOD  0   002e    003a    -1  003e        // FULL STOP, COLON, <none>, GREATER-THAN SIGN
35  OEM_MINUS   0   002d    005f    -1  -1      // HYPHEN-MINUS, LOW LINE, <none>, <none>
39  SPACE       0   0020    0020    0020    -1      // SPACE, SPACE, SPACE, <none>
56  OEM_102 0   003c    003e    001c    -1      // LESS-THAN SIGN, GREATER-THAN SIGN, INFORMATION SEPARATOR FOUR, <none>
53  DECIMAL 0   002c    002c    -1  -1      // COMMA, COMMA, , 


DEADKEY 02c7

006e    0148    // n -> ň
0063    010d    // c -> č
0064    010f    // d -> ď
0073    0161    // s -> š
006c    013e    // l -> ľ
0065    011b    // e -> ě
0072    0159    // r -> ř
0074    0165    // t -> ť
007a    017e    // z -> ž
004e    0147    // N -> Ň
0043    010c    // C -> Č
0044    010e    // D -> Ď
0053    0160    // S -> Š
004c    013d    // L -> Ľ
0045    011a    // E -> Ě
0052    0158    // R -> Ř
0054    0164    // T -> Ť
005a    017d    // Z -> Ž
0020    02c7    //   -> ˇ

DEADKEY 005e

0061    00e2    // a -> â
0069    00ee    // i -> î
006f    00f4    // o -> ô
0041    00c2    // A -> Â
0049    00ce    // I -> Î
004f    00d4    // O -> Ô
0020    005e    //   -> ^

DEADKEY 02d8

0061    0103    // a -> ă
0041    0102    // A -> Ă
0020    02d8    //   -> ˘

DEADKEY 00b0

0075    016f    // u -> ů
0055    016e    // U -> Ů
0020    00b0    //   -> °

DEADKEY 02db

0061    0105    // a -> ą
0065    0119    // e -> ę
0041    0104    // A -> Ą
0045    0118    // E -> Ę
0020    02db    //   -> ˛

DEADKEY 02d9

007a    017c    // z -> ż
005a    017b    // Z -> Ż
0020    02d9    //   -> ˙

DEADKEY 00b4

006e    0144    // n -> ń
0063    0107    // c -> ć
0079    00fd    // y -> ý
0061    00e1    // a -> á
0073    015b    // s -> ś
006c    013a    // l -> ĺ
0065    00e9    // e -> é
0072    0155    // r -> ŕ
0075    00fa    // u -> ú
0069    00ed    // i -> í
007a    017a    // z -> ź
006f    00f3    // o -> ó
004e    0143    // N -> Ń
0043    0106    // C -> Ć
0059    00dd    // Y -> Ý
0041    00c1    // A -> Á
0053    015a    // S -> Ś
004c    0139    // L -> Ĺ
0045    00c9    // E -> É
0052    0154    // R -> Ŕ
0055    00da    // U -> Ú
0049    00cd    // I -> Í
005a    0179    // Z -> Ź
004f    00d3    // O -> Ó
0020    00b4    //   -> ´

DEADKEY 02dd

0075    0171    // u -> ű
006f    0151    // o -> ő
0055    0170    // U -> Ű
004f    0150    // O -> Ő
0020    02dd    //   -> ˝

DEADKEY 00a8

0061    00e4    // a -> ä
0065    00eb    // e -> ë
0075    00fc    // u -> ü
006f    00f6    // o -> ö
0041    00c4    // A -> Ä
0045    00cb    // E -> Ë
0055    00dc    // U -> Ü
004f    00d6    // O -> Ö
0020    00a8    //   -> ¨

DEADKEY 00b8

0063    00e7    // c -> ç
0073    015f    // s -> ş
0043    00c7    // C -> Ç
0053    015e    // S -> Ş
0020    00b8    //   -> ¸

DEADKEY 00b8

0063    00e7    // c -> ç
0073    015f    // s -> ş
0043    00c7    // C -> Ç
0053    015e    // S -> Ş
0020    00b8    //   -> ¸

DEADKEY 00a8

0061    00e4    // a -> ä
0065    00eb    // e -> ë
0075    00fc    // u -> ü
006f    00f6    // o -> ö
0041    00c4    // A -> Ä
0045    00cb    // E -> Ë
0055    00dc    // U -> Ü
004f    00d6    // O -> Ö
0020    00a8    //   -> ¨


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

02c7    "CARON"
005e    "CIRCUMFLEX ACCENT"
02d8    "BREVE"
00b0    "DEGREE SIGN"
02db    "OGONEK"
02d9    "DOT ABOVE"
00b4    "ACUTE ACCENT"
02dd    "DOUBLE ACUTE ACCENT"
00a8    "DIAERESIS"
00b8    "CEDILLA"
00b8    "CEDILLA"
00a8    "DIAERESIS"


DESCRIPTIONS

0409    Croatian - QWERTY

LANGUAGENAMES

0409    Croatian (Croatia)

ENDKBD

Further reading: Ordinary scancodes

  • I'll mark this as correct, I haven't tested it, but I have installed Swap Keyes and swapped Z and Y in the end (enough not to make mistakes on PC when I go from mac). Thanks! – dingo_d Jan 2 '18 at 18:05

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.