Layout not available to VM

80 views
Skip to first unread message

Reuben H

unread,
Feb 16, 2022, 7:02:11 AM2/16/22
to Ukelele Users
Hi, I'm running Windows in a Parallels VM, but my Ukelele-created keyboard layout (working perfectly in macOS) isn't available in Windows. If I have it selected, then jump to a VM application, it immediately kicks me back to one of the standard keyboard layouts. I'm a doing something wrong, and if not, is there ANY way to get around this? I REALLY need have my layout work in ParaText (running on Win in Parallels).

Gé van Gasteren

unread,
Feb 16, 2022, 7:20:28 AM2/16/22
to ukelel...@googlegroups.com
Hi Reuben,

My guess is that Mac keyboard layouts don’t "carry over" to Windows.
Both OSes bring their own keyboard layouts and although, at first glance, those may work alike, they are really separate files, in different formats.

If you attach your custom keyboard layout to a message here, I’ll have a look if I can create a Windows port of it with KbdEdit.

On Wed, Feb 16, 2022 at 1:02 PM Reuben H <reu...@gmail.com> wrote:
Hi, I'm running Windows in a Parallels VM, but my Ukelele-created keyboard layout (working perfectly in macOS) isn't available in Windows. If I have it selected, then jump to a VM application, it immediately kicks me back to one of the standard keyboard layouts. I'm a doing something wrong, and if not, is there ANY way to get around this? I REALLY need have my layout work in ParaText (running on Win in Parallels).

--
You received this message because you are subscribed to the Google Groups "Ukelele Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ukelele-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ukelele-users/fb14ba3d-263e-4476-a901-a76a4fc777efn%40googlegroups.com.

Sorin Paliga

unread,
Feb 16, 2022, 7:28:23 AM2/16/22
to ukelel...@googlegroups.com
Yes, of course, disregarding how Windows is running on a mac, it is a completely different OS and, even in emulation over macOS in the background, the two OSs have their separate systems and, of course, their specific keylayouts.
AFAIK there is no importer-exporter of the specific keylayouts so that they may work on the other system.


Tom

unread,
Feb 16, 2022, 7:39:12 AM2/16/22
to Ukelele Users
The tool needed to make custom layouts for Windows is

Reuben H

unread,
Feb 16, 2022, 8:10:07 AM2/16/22
to Ukelele Users
As you can see in my screenshot, my Apple "system" keyboards" are available in Windows. I assumed that this is because they are included in the /System/Library/Keyboard Layouts/AppleKeyboardLayouts.bundle whereas my custom layout resides at /Users/reuben/Library/Keyboard Layouts
and I was wondering whether it wouldn't be possible to get my custom layout into the system's bundle....?

Attached is the layout I want to use.
Eng+Dendi.keylayout

Gé van Gasteren

unread,
Feb 16, 2022, 8:46:08 AM2/16/22
to ukelel...@googlegroups.com
On Wed, Feb 16, 2022 at 2:10 PM Reuben H <reu...@gmail.com> wrote:
As you can see in my screenshot, my Apple "system" keyboards" are available in Windows. I assumed that this is because they are included in the /System/Library/Keyboard Layouts/AppleKeyboardLayouts.bundle whereas my custom layout resides at /Users/reuben/Library/Keyboard Layouts
and I was wondering whether it wouldn't be possible to get my custom layout into the system's bundle....?

Attached is the layout I want to use.

I’m glad your layout is simple, so it won’t be a huge job :-)

Does it work well on your Mac? I ask because it looks like you made it from scratch, not – the method I prefer – based on a macOS built-in layout.

Please confirm if I’ve got it right: in addition to the "English" characters, you only have a combining  ̀ and three special characters: ɛƐ ɔƆ ŋŊ

Not necessary, just out of curiosity: When I put your layout into a bundle, I can assign a language to it, but the list distinguishes between Benin Dendi (ddn) and Central African Republic Dendi (deq). If you had to choose, which one would you pick?


It’s surprising that your macOS layouts somehow seem to work in Parallels (I don’t see your screenshot) but unfortunately, that doesn’t mean custom layouts will work, too: Built-in layouts are located somewhere deep under the macOS hood, while custom layouts are in a different file format (XML) and easily accessible.


Re. MSKLC, here’s a text I wrote about it (and KbdEdit) some time ago; I haven’t checked if it still applies to current versions of Windows 10:

The free Microsoft tool for creating custom keyboard layouts for Windows, MSKLC, is now rather obsolete. Up to Windows 7, things still work, but to this day, I haven’t succeeded to install an MSKLC keyboard layout in Windows 10. Others have done it, I hear, so if you’re interested, give it a try. If you don’t mind installing MSKLC on every PC where you want to use your custom layout(s), your chances have just doubled.

But there is an alternative: KbdEdit can do all MSKLC could and more – and it’s working flawlessly under Windows 10. It even imports MSKLC’s layouts, so if you want to save money and don’t mind MSKLC’s convoluted installation procedure, you can create your layouts with MSKLC and deploy them with KbdEdit’s Player version, which costs only 3€. Or maybe you get lucky and the layout installation packages generated by MSKLC just work for you…

Installing MSKLC the standard way gives problems in Windows 10. Follow these steps instead:

0. Don’t run the MSKLC installer yet. First:

1. Install .NET framework:
a) Press “Windows Logo” + “R” keys on the keyboard.
b) Type “appwiz.cpl” in the “Run” command box and press “ENTER”.
c) In the “Programs and Features” window, click on the link “Turn Windows features on or off”.
d) Check if the “.NET Framework 3.5 (includes .NET 2.0 and 3.0)” option is available in it.
e) If yes, then enable it by checking its box (the suboptions aren’t necessary) and then click “OK”.
f) Follow the on-screen instructions to complete the installation and restart the computer, if prompted.
This will install the .NET Framework 3.5 feature on the computer. It takes a few minutes and about 125 MB.

2. Now download the MSKLC 1.4 installer and run it. It should NOT show a message that you need to install .NET.

Reuben H

unread,
Feb 16, 2022, 9:39:35 AM2/16/22
to Ukelele Users
On the Mac I only need those three sets and the combining grave accent. It seems, however, that Windows also doesn't support holding down keys to get standard variations (which is what I usually do on my Qwerty keyboard when typing French), so I should additionally have three other combining accents ( ' =>U+0301, ^ => U+0302, " => U+0308) and "cC => çÇ". 

The language code would be ddn (Benin).

Gé van Gasteren

unread,
Feb 16, 2022, 2:01:03 PM2/16/22
to ukelel...@googlegroups.com
On Wed, Feb 16, 2022 at 3:39 PM Reuben H <reu...@gmail.com> wrote:
On the Mac I only need those three sets and the combining grave accent. It seems, however, that Windows also doesn't support holding down keys to get standard variations (which is what I usually do on my Qwerty keyboard when typing French), so I should additionally have three other combining accents ( ' =>U+0301, ^ => U+0302, " => U+0308) and "cC => çÇ". 

The language code would be ddn (Benin).

Please confirm if I’ve got it right: in addition to the "English" characters, you only have a combining  ̀ and three special characters: ɛƐ ɔƆ ŋŊ


So the question is, where to put all those accents? Here's a possibility:
Type them using the / as a dead key, like the grave accent is done already. In detail:
  ́  by typing / followed by / (so you'd press the / twice to get that accent)
  ̂  by typing / followed by 6 (where a ^ is printed, if your keyboard is English)
  ̈  by typing / followed by ' (where " is printed, on English keyboards)
The ç can go on the C key, analogous to the other characters on the E, O, and N keys.

(Good that you added the Unicode numbers, so I can see the actual glyph shapes…)

Reuben H

unread,
Feb 17, 2022, 3:11:10 AM2/17/22
to Ukelele Users
I'm attaching my revised Ukelele layout bundle for reference. 
Note that I need the same dead key whether CapsLock is on or off. I also want the diacritics mappings to stay the same with CapsLock on/off. The mapping in the Dead Key state is as follows ("/" = Dead Key):

~ =  ̃ (U+007E = U+0303)
` =  ̀ (U+0060 = U+0300 )
' =  ́ (U+0027 = U+0301)
" =  ̈ (U+0022 = U+0308)
6 =  ̂ (U+0036 =U+0302)
^ =  ̂ ( U+005E = U+0302)
(Note: in the dead key state, I want both "6" and "Shift + 6" to create circumflex)
/ = / (I want to still have access to the forward slash, so simply typing it twice will give that to me)
nN = ŋŊ
oO = ɔƆ
eE = ɛƐ
cC = çÇ

DENDI.bundle.zip

Gé van Gasteren

unread,
Feb 17, 2022, 6:43:35 AM2/17/22
to ukelel...@googlegroups.com
Hi Reuben,

I think this one should do the job :)

You can download the keyboard layout installer with this WeTransfer link.
I can’t attach it here, as it’s an .exe file.

Also, because I just created this installer file with KbdEdit, MSWindows will certainly complain that it doesn’t know it and therefore doesn’t trust it.

Best practice would be to scan the download with a malware detecting app before installing the keyboard layout.



Reuben H

unread,
Feb 17, 2022, 10:21:56 AM2/17/22
to Ukelele Users
Wow Gé, thanks! It's (almost) perfect. 

The only complaint I have is the terminator key. Is it necessary to have a terminator key in KbdEdit? If I hit the dead key and then decide to type a non-modified key, I'd rather just enter that unmodified character and exit the dead key state instead of having both "/" and the subsequent character entered.

Gé van Gasteren

unread,
Feb 18, 2022, 8:50:41 AM2/18/22
to ukelel...@googlegroups.com
On Thu, Feb 17, 2022 at 4:21 PM Reuben H <reu...@gmail.com> wrote:
Wow Gé, thanks! It's (almost) perfect. 

The only complaint I have is the terminator key. Is it necessary to have a terminator key in KbdEdit? If I hit the dead key and then decide to type a non-modified key, I'd rather just enter that unmodified character and exit the dead key state instead of having both "/" and the subsequent character entered.

"It’s not a bug, it’s a feature!"

I’m sorry it doesn’t suit you, but this is the standard behavior of dead keys, and quite useful:
The standard MSWindows keyboard layout in the Netherlands is "US International", where e.g. the quotes are on dead keys, which do double duty as accent keys.
For example, typing " first, then an e, produces ë. But typing ", then an undefined character, produces " + that character.
Very handy! At least, once you get into the habit of typing a space between the dead key and vowels in those cases when you want to type a quote + that letter, not an accented letter.

Apart from that logic, I confess that I can’t find anything in KbdEdit to influence the terminator character or related behavior. In other words: I have no idea if that can be done.

We could approach the thing from another end:
The behavior you describe can be mimicked by assigning all keys in the dead key state to produce themselves if typed after the slash, e.g.: / followed by a produces a.
Would that be OK? You can still get a slash, by typing two in sequence.
Message has been deleted

Gé van Gasteren

unread,
Feb 18, 2022, 10:20:07 AM2/18/22
to Ukelele Users
Just a thought: This is way off-topic in this Ukelele group.

So you can answer just me by clicking on "Reply to the Author" instead of "Reply to All".
Reply all
Reply to author
Forward
0 new messages