Import .klc to Ukelele

508 views
Skip to first unread message

Alex Mercado

unread,
Mar 21, 2017, 5:00:12 AM3/21/17
to Ukelele Users
I’m new to SIL and still in the process of getting acquainted with our software, including Ukelele. To do so, I’m attempting a little side assignment from Scott Clark to create a macOS keyboard for Fulfulde (fub) in Arabic script. He already has one made for Windows, and he’s passed me the Microsoft Keyboard Layout Center (.klc) file that defines it (attached). 

Now I could manually enter each individual character into Ukelele to define the Fulfude keyboard, but I’m lazy. Is there a way I can import the .klc file into Ukelele to use as a starting point?
FUB & HAU keyboard layout 17-2.klc

John Brownie

unread,
Mar 21, 2017, 8:52:30 PM3/21/17
to ukelel...@googlegroups.com
Alex Mercado wrote:
Now I could manually enter each individual character into Ukelele to define the Fulfude keyboard, but I’m lazy. Is there a way I can import the .klc file into Ukelele to use as a starting point?
Short answer, no.

Longer answer, Windows keyboard layouts generally work differently to Mac ones when it comes to dead keys. The way Mac keyboard layouts work is dead key and then a live (non-dead? There's no good term) one to produce another character (e.g. option-e u to get ú), whereas Windows does it the opposite way, so the dead key comes after, so accents are added after the base character. So there's no simple way to map a Windows keyboard layout to an equivalent Mac one.

John
--
John Brownie
In Australia on furlough from SIL Papua New Guinea

Tom Gewecke

unread,
Mar 22, 2017, 12:33:32 AM3/22/17
to ukelel...@googlegroups.com

> On Mar 21, 2017, at 5:52 PM, John Brownie <john_b...@sil.org> wrote:
>
> The way Mac keyboard layouts work is dead key and then a live (non-dead? There's no good term) one to produce another character (e.g. option-e u to get ú), whereas Windows does it the opposite way, so the dead key comes after, so accents are added after the base character. So there's no simple way to map a Windows keyboard layout to an equivalent Mac one.

This isn't normally a problem with Arabic keyboards, they don't use dead keys but type the vowel diacritics after the base letter in both Mac and Windows.

Gé van Gasteren

unread,
Mar 22, 2017, 4:28:44 AM3/22/17
to ukelel...@googlegroups.com
Hi Alex,

1. Apart from "dead keys", there’s some internal mechanics in Mac keyboard layouts that’s really different from Windows layouts. Also, in Windows the modifier keys are different.
In short: non-lazy people might try themselves at converting a Windows layout, but for lazy people, the only way to go is to manually enter the characters :)
My guess is that you should take an existing Arabic keyboard layout as a starting point and work from there. That way, all the under-the-hood stuff is taken care of before you start.

2. I really thought custom keyboard layouts don’t work anymore under Windows 10, unless one installs Microsoft’s keyboard layout editor MSKLC.
If you have a simpler way, I’d love to hear about it!



On 21 March 2017 at 10:00, Alex Mercado <alex_m...@sil.org> wrote:
I’m new to SIL and still in the process of getting acquainted with our software, including Ukelele. To do so, I’m attempting a little side assignment from Scott Clark to create a macOS keyboard for Fulfulde (fub) in Arabic script. He already has one made for Windows, and he’s passed me the Microsoft Keyboard Layout Center (.klc) file that defines it (attached). 

Now I could manually enter each individual character into Ukelele to define the Fulfude keyboard, but I’m lazy. Is there a way I can import the .klc file into Ukelele to use as a starting point?

--
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-users+unsubscribe@googlegroups.com.
To post to this group, send email to ukelel...@googlegroups.com.
Visit this group at https://groups.google.com/group/ukelele-users.
For more options, visit https://groups.google.com/d/optout.

Tom Gewecke

unread,
Mar 22, 2017, 9:01:32 AM3/22/17
to ukelel...@googlegroups.com

On Mar 22, 2017, at 1:28 AM, Gé van Gasteren <gevang...@gmail.com> wrote:

2. I really thought custom keyboard layouts don’t work anymore under Windows 10, unless one installs Microsoft’s keyboard layout editor MSKLC. 

That is what he is referring to:  .klc files are what you get when you create a custom keyboard with the MSKLC.

Gé van Gasteren

unread,
Mar 22, 2017, 11:18:42 AM3/22/17
to ukelel...@googlegroups.com
> That is what he is referring to:  .klc files are what you get when you create a custom keyboard with the MSKLC.

Tom, you’re right, now I remember that .klc extension.
That’s a pity, I thought something new had come up for Windows 10.
 
The only options, as far as I’m aware, are to either
1. install MSKLC 1.4 (requires .NET), then install custom keyboard layout(s) created with it
or
So if anyone knows of a way to use .klc files without having to install MSKLC, or of different software, I’d be glad to hear.
Here’s a thread about it with some tricks one might try on a rainy day.

It just makes clear once again what a blessing it is to have Mac OS and Ukelele :)


Kamal Abdali

unread,
Mar 22, 2017, 11:54:36 AM3/22/17
to ukelel...@googlegroups.com
To add to Tom Gewecke’s comment:


1. Several available keyboard layouts for both Mac and Windows implement both methods mentioned by John Brownie for producing a compound character : 1) first typing the dead key assigned to a modifier mark, then the character to be modified; and 2) first typing the character to be modified, then the modifier mark keys. Example: Using the ABC-extended keyboard on the mac, one can get “ú” by 1) first typing OPTION-e, then “u”; or 2) by typing “u”, then SHIFT-OPTION-e.  Using a Windows keyboard called US-Extended https://github.com/adunning/Mac-Keyboard-Layouts-for-Windows (actually a port of that same Mac keyboard), you get similar results by similar actions, but with Right-ALT key instead of OPTION.

2. I think that the keyboard layout compiler needs to take no special action for diacritics in the Arabic script. If a letter is followed by one or two diacritical marks, the font takes care of producing the appropriate compound shape.

3. I realize that these explanations don't help the original enquirer as to how to easily obtain a Ukelele .keylayout file from a .klc file meant for Microsoft Keyboard Layout Creator. The above mentioned Github page refers to a Python script to go the opposite way.

Aural Architect

unread,
Mar 28, 2017, 12:10:16 PM3/28/17
to Ukelele Users, k.ab...@acm.org
So, if I understood you properly, there is a python script to create a .klc from a .keylayout file...  I certainly don't possess the required skills, but that makes it seem that it should at least be possible for someone who knows what they're doing to create a script that would create at least a rudimentary/partial .keylayout file from a .klc file.  It probably wouldn't be able to transfer everything properly, but I'm guessing it would be better than nothing. Although with the apparent death/deprecation of .klc format in Windows, it probably wouldn't be worth the effort at this point.

Kamal Abdali

unread,
Mar 28, 2017, 1:06:02 PM3/28/17
to ukelel...@googlegroups.com
I have not looked at the script, but have only seen references to it, and have no idea if it can show a way to derive a draft .keylayout file from a .klc.

I hadn't heard that .klc was deprecated or dead. Both this format and the Microsoft Keyboard Layout Creator to produce it work well for me.

Andrew Cunningham

unread,
Mar 28, 2017, 7:37:12 PM3/28/17
to ukelel...@googlegroups.com
It isn't dead, just that MSKLC doesn't seem to be being maintained. And is showing its age. It was created to develop keyboard layouts for a specific input framework.  But it isn't the only input framework in use. The old school IMEs, TSF table driven input and the new generation of touch layouts, etc.

Nor does it work well with new features in Windows 10. Very difficult to compile against a non-standard input locale and associate layout and input locale.

Andrew
>> To unsubscribe from this group and stop receiving emails from it, send an email to ukelele-user...@googlegroups.com.

>> To post to this group, send email to ukelel...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/ukelele-users.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> 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 post to this group, send email to ukelel...@googlegroups.com.
> Visit this group at https://groups.google.com/group/ukelele-users.
> For more options, visit https://groups.google.com/d/optout.
>

--
Andrew Cunningham
lang.s...@gmail.com



Aural Architect

unread,
Mar 30, 2017, 9:21:40 AM3/30/17
to Ukelele Users, k.ab...@acm.org
I am sorry, I didn't intend to spread confusion.  I should have been more clear and specific regarding MSKLC & .klc files...  I am not privy to nor otherwise aware of any 'official' news about MSKLC being deprecated.  But due the the lack of (full, native) support for .klc files in Windows 10 unless the MSKLC app is installed—and even then it sounds as the there is difficultly and incomplete functionality—it just seems apparent that its demise is imminent unless MS surprises us with an update (although I find that highly unlikely).
In any case, I should have made it more obvious that I was expressing an opinion/guess!

Fortunately MSKLC is not the only option available for designing or remapping keyboard layouts...  Plus,there is the recent news that Keyman by Tavultesalt was acquired by SIL and may be soon available free of charge!  That would certainly be a wonderful blessing because it would provide access to everyone/anyone with a universally compatible (OS/platform-wise) keyboard layout file type whose behavior would also be consistent across platforms!  This would obviously make your current chore unnecessary.   I have not used it, but my understanding is that Keyman has a number of hhandy, helpful features that are missing from all of the native/free options.

It would be especially convenient and fantastic if it has (or if were developed) a relatively accurate and efficient way to import at least the major OS's native keyboard layout files...
To unsubscribe from this group and stop receiving emails from it, send an email to ukelele-user...@googlegroups.com.

Sorin Paliga

unread,
Mar 30, 2017, 10:05:51 AM3/30/17
to ukelel...@googlegroups.com
Hi to all

I am a linguist and the lack of a reasonably simple way to add custom keyboard layouts in Windows was, and still is, my main reason to stay with macOS. Before UKELELE was released, it was also reasonably easy to cope with Alex Eulenberg’s site, which allows to generate custom keylayouts, and then install them in the system (it was possible beginning with MAC OS X 10.2). I have always found uselessly complicated how Windows dealt with this issue.
Despite my being disappointed with the way Apple has chosen over the last years, I am still stuck to macOS and would find difficult to change it now for Windows. Linux is beyond discussion, as they have not been able to offer a simple, clean solution for custom keylayouts. 
If things change or not with Keyman is difficult to estimate… I have not used this piece of software, there is already a macOS version, but I have not been able to understand how it works. Any hint is welcome.

Good luck.

Tom Gewecke

unread,
Mar 30, 2017, 11:46:47 AM3/30/17
to ukelel...@googlegroups.com

> On Mar 30, 2017, at 7:05 AM, Sorin Paliga <sorin....@gmail.com> wrote:
>
> If things change or not with Keyman is difficult to estimate… I have not used this piece of software, there is already a macOS version, but I have not been able to understand how it works. Any hint is welcome.

The place to get keyman for mac is

http://keyman.com/macosx/

I installed back when it came out and did not have any problems. If you specify where you got stuck, I can perhaps help.

The main shortcoming is that you need Keyman Developer to make the keyboards, and that only runs on Windows as far as I know.

Sorin Paliga

unread,
Mar 30, 2017, 11:55:43 AM3/30/17
to ukelel...@googlegroups.com

>
> The main shortcoming is that you need Keyman Developer to make the keyboards, and that only runs on Windows as far as I know.

Well, this seems to be the issue!

Sorin Paliga

unread,
Mar 30, 2017, 11:57:22 AM3/30/17
to ukelel...@googlegroups.com
Besides, as long as I am entirely satisfied with UKELELE, and was also satisfied with Alex Eulenberg’s site, I wonder what I can do more with Keyman. Some keylayouts I did were initially done with that site, then refined in UKELELE.

Tom Gewecke

unread,
Mar 30, 2017, 12:32:19 PM3/30/17
to ukelel...@googlegroups.com

> On Mar 30, 2017, at 8:57 AM, Sorin Paliga <sorin....@gmail.com> wrote:
>
> I wonder what I can do more with Keyman.

If the developer app would run on a Mac, I think the main advantage would be that you can make keyboards that work on both MacOS and iOS.

Gé van Gasteren

unread,
Mar 30, 2017, 12:38:20 PM3/30/17
to ukelel...@googlegroups.com
And for the time being, I guess the main advantage would be that one can use Keyman Developer (on a Windows PC) to generate keyboard layouts that work on both MacOS and Windows, if Keyman were installed that is.

If that’s correct, and Keyman Developer would become free, that would create some serious competition for Ukelele, even if it would only work on a Windows PC.

So I think it’s very good if SIL is involved, to coordinate things.

On 30 March 2017 at 17:57, Sorin Paliga <sorin....@gmail.com> wrote:
Besides, as long as I am entirely satisfied with UKELELE, and was also satisfied with Alex Eulenberg’s site, I wonder what I can do more with Keyman. Some keylayouts I did were initially done with that site, then refined in UKELELE.
> On 30 Mar 2017, at 18:46, Tom Gewecke <thge...@gmail.com> wrote:
>
>
>> On Mar 30, 2017, at 7:05 AM, Sorin Paliga <sorin....@gmail.com> wrote:
>>
>> If things change or not with Keyman is difficult to estimate… I have not used this piece of software, there is already a macOS version, but I have not been able to understand how it works. Any hint is welcome.
>
> The place to get keyman for mac is
>
> http://keyman.com/macosx/
>
> I installed back when it came out and did not have any problems.  If you specify where you got stuck, I can perhaps help.
>
> The main shortcoming is that you need Keyman Developer to make the keyboards, and that only runs on Windows as far as I know.
>
> --
> 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-users+unsubscribe@googlegroups.com.

> To post to this group, send email to ukelel...@googlegroups.com.
> Visit this group at https://groups.google.com/group/ukelele-users.
> For more options, visit https://groups.google.com/d/optout.

--
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-users+unsubscribe@googlegroups.com.

Aural Architect

unread,
Jun 17, 2017, 9:45:29 AM6/17/17
to Ukelele Users
I guess it's old news now.  But Keyman Developer IS now available for free!  And the "advantage" with Keyman is:  you can design a keyboard layout that will work on most of the major platforms (probably almost 99% of users' devices run on one those platforms)—that's HUGE and it's a first.

They still have work to do.  And I think the Developer app needs some TLC- and a bit of an overhaul IMHO.   Personally, I think they should seriously consider collaborating with John Brownie if he is willing, to implement many of the features & conventions of Ukelele.
I also feel that for Keyman to really take off and become what I believe their goals for it are, they will need to include the ability for keyman to successfully import keyboard layouts from the primary platforms (certainly Mac & Windows at least!).


On Thursday, March 30, 2017 at 12:38:20 PM UTC-4, Geke wrote:
And for the time being, I guess the main advantage would be that one can use Keyman Developer (on a Windows PC) to generate keyboard layouts that work on both MacOS and Windows, if Keyman were installed that is.

If that’s correct, and Keyman Developer would become free, that would create some serious competition for Ukelele, even if it would only work on a Windows PC.

So I think it’s very good if SIL is involved, to coordinate things.
On 30 March 2017 at 17:57, Sorin Paliga <sorin....@gmail.com> wrote:
Besides, as long as I am entirely satisfied with UKELELE, and was also satisfied with Alex Eulenberg’s site, I wonder what I can do more with Keyman. Some keylayouts I did were initially done with that site, then refined in UKELELE.
> On 30 Mar 2017, at 18:46, Tom Gewecke <thge...@gmail.com> wrote:
>
>
>> On Mar 30, 2017, at 7:05 AM, Sorin Paliga <sorin....@gmail.com> wrote:
>>
>> If things change or not with Keyman is difficult to estimate… I have not used this piece of software, there is already a macOS version, but I have not been able to understand how it works. Any hint is welcome.
>
> The place to get keyman for mac is
>
> http://keyman.com/macosx/
>
> I installed back when it came out and did not have any problems.  If you specify where you got stuck, I can perhaps help.
>
> The main shortcoming is that you need Keyman Developer to make the keyboards, and that only runs on Windows as far as I know.
>
> --
> 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 post to this group, send email to ukelel...@googlegroups.com.
> Visit this group at https://groups.google.com/group/ukelele-users.
> For more options, visit https://groups.google.com/d/optout.

--
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.

Tom Gewecke

unread,
Jun 17, 2017, 10:03:42 AM6/17/17
to ukelel...@googlegroups.com

> On Jun 17, 2017, at 9:45 AM, Aural Architect <jonpa...@gmail.com> wrote:
>
> I guess it's old news now. But Keyman Developer IS now available for free!

Is it really free, or just for 30 days?

And it doesn’t run on Mac’s anyway, does it?

Gé van Gasteren

unread,
Jun 17, 2017, 10:27:42 AM6/17/17
to ukelel...@googlegroups.com
It looks a lot like Keyman Desktop, as well as of course Keyman Developer, is still payable:
http://www.tavultesoft.com/buy/

The site also has a big announcement of a Keyman For Mac version, which will be free as long as it’s in beta.
I’m a little confused there: I really thought they had a version for Mac ready long ago, free or inexpensive.
What it will be priced like when out of beta, that is still unclear; it could be USD 24 or 69 like Keyman Desktop for Windows.

--
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-users+unsubscribe@googlegroups.com.

Aural Architect

unread,
Jun 17, 2017, 12:00:25 PM6/17/17
to Ukelele Users
Actually, while you technically CAN still pay for the software.  It is in the process of switching over to completely free- everything!  All versions, editions, platforms, etc.
AND...   you may take advantage of that NOW.  Simply create an account and request a license for whatever you want to use and they will grant you a temporary license (until new versions are released that do not require a license).
I believe that you must use the new http://keyman.com/ website instead of the old http://www.tavultesoft.com/ website.   SIL has purchased Keyman from the developer with the purpose of making it freely available to ALL as part of their minority languages outreach & support programs (sorry- paraphrasing, I don't know the official names of their operations; but I believe I've got the ideological core); they intend not only to maintain the software but invest resources into improvement and expanded development (if I'm not mistaken- I may be projecting some of my hopes onto my recollection of the blurbs I've read here and there...)

Anyway, there's absolutely NO reason to pay for any of the components of Keyman for any platform.


BTW, I was wrong/mistaken in my previous post.  Although I didn't specifically state it:  I was under the incorrect impression that there was and has for a long time been a *nix (Linux, Unix, etc.) based version of Keyman and I basically implied that to some extent. But there is no Linux release.  Keyman is available for the following platforms: Windows, MacOS, iOS, Android and Web-based.  And the MacOS version is still in beta and is missing some features, which do not impede its basic functionality for most languages.


On Saturday, June 17, 2017 at 10:27:42 AM UTC-4, Geke wrote:
It looks a lot like Keyman Desktop, as well as of course Keyman Developer, is still payable:
http://www.tavultesoft.com/buy/

The site also has a big announcement of a Keyman For Mac version, which will be free as long as it’s in beta.
I’m a little confused there: I really thought they had a version for Mac ready long ago, free or inexpensive.
What it will be priced like when out of beta, that is still unclear; it could be USD 24 or 69 like Keyman Desktop for Windows.
On 17 June 2017 at 16:03, Tom Gewecke <thge...@gmail.com> wrote:

> On Jun 17, 2017, at 9:45 AM, Aural Architect <jonpa...@gmail.com> wrote:
>
> I guess it's old news now.  But Keyman Developer IS now available for free!

Is it really free, or just for 30 days?

And it doesn’t run on Mac’s anyway, does it?

--
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.

Aural Architect

unread,
Jun 17, 2017, 12:29:25 PM6/17/17
to Ukelele Users
It is free, but you must request a license (for the time being, until they release a new version which will no longer require a license).  See my previous post...

Developer only runs on Windows.  And the Mac version of "Desktop" is still in beta and missing some features and has some known issues; although it runs and works as expected for most languages (the features not yet available only affect a few of the more complex languages/writing systems based on the information on the website.  They have not expressed any timeline that I'm aware of describing their update/release schedule.  Nor have I seen any mention of whether they ever intend to release a version of developer for MacOS.

But you still have two immediate options that come to mind for me.
You may use Bootcamp to install a version of Windows on your Mac.  Or you may also install Windows as a virtual machine.  One of the major VM hosts is free—VirtualBox I believe...

I've spent some time exploring Keyman Developer.   I've also read the tutorials as well as the reference manual.  MUCH more of its functions must be programmed with a special, custom "Keyman" keyboard language which I found to be rather unintuitive and cumbersome compared to other keyboard 'languages' I've explored (AutoHotKey, InKey, and of course the XML provisions for MacOS keylayout files, and there's at least one other I'm unable to recall at the moment).  While there is a virtual on-screen keyboard like Ukelele, the GUI is quite limited in its scope compared to Ukelele.

Nonetheless, despite the limitations it is still very exciting to have a keyboard layout tool which is cross-platform and available at no charge- all with the same source files!

Marvelous!

Sorin Paliga

unread,
Jun 17, 2017, 12:46:29 PM6/17/17
to ukelel...@googlegroups.com
This is a forum for UKELELE users, first of all. We may additionally talk about other options, of course, but the red thread of this forum is UKELELE. Perhaps we should keep with this basic principle. 

Gé van Gasteren

unread,
Jun 18, 2017, 9:49:34 AM6/18/17
to ukelel...@googlegroups.com
OK, yes, that site keyman.com sure tells a different story; thanks for the early alert!
Still lots of ground to cover before Keyman can compare with Ukelele, though.

Now that both are somehow connected with SIL, it may become possible to put all the knowledge together and create a new application.
However, it’ll be a biggish operation to keep that working with each OS update.
Ukelele’s beauty is that it’s only using what’s already there in the OS: no software installation and maintenance.

About off-topic stuff:
Hey Sorin, what about iOS?
Sorry, couldn’t help myself :)

To unsubscribe from this group and stop receiving emails from it, send an email to ukelele-users+unsubscribe@googlegroups.com.

To post to this group, send email to ukelel...@googlegroups.com.
Visit this group at https://groups.google.com/group/ukelele-users.
For more options, visit https://groups.google.com/d/optout.

--
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-users+unsubscribe@googlegroups.com.

A O

unread,
Sep 29, 2022, 1:05:12 PM9/29/22
to Ukelele Users
5 years later...
Has anything changed since?  Is there a tool to convert .klc files to Mac?
Alternatively, can Keyman export layouts in a format that Ukelele can use?

To unsubscribe from this group and stop receiving emails from it, send an email to ukelele-user...@googlegroups.com.

To post to this group, send email to ukelel...@googlegroups.com.
Visit this group at https://groups.google.com/group/ukelele-users.
For more options, visit https://groups.google.com/d/optout.

--
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.

John Brownie

unread,
Sep 29, 2022, 1:33:39 PM9/29/22
to ukelel...@googlegroups.com
Short answer, no and no. 😁
I do Ukelele as part of my assignment, but it's often at a low priority, and I only occasionally get significant periods to work on it. The last couple of years I've been working towards a new version of Ukelele which uses the more modern features of macOS. It's nearly ready for some beta testing, but I'm off for a six week trip when I won't have my development computer with me, so nothing will happen in that time. I haven't been approached by the Keyman people for any sort of collaboration. As I see it, the two apps are going to coexist as alternate ways of working for some time yet. More or less complementary: Keyman can handle more complex keyboarding needs, but requires the runtime to be available on every computer, while Ukelele should work on any Mac.

John
To view this discussion on the web visit https://groups.google.com/d/msgid/ukelele-users/db5ed216-dd3e-475c-a132-774d69f41c40n%40googlegroups.com.

--
John Brownie
Mussau-Emira language, New Ireland Province, Papua New Guinea
Turku, Finland

Andrew Cunningham

unread,
Sep 29, 2022, 5:42:33 PM9/29/22
to ukelel...@googlegroups.com
Probably the most effective approach, would be to develop an XSLT that can convert LMDL keyboard XML files in CLDR into a keylayout file.

There is a lot of work going on in Keyman to integrate LMDL support into Keyman. So importing the relevant part of LDML files would be a way of importing other keyboards from other input frameworks.

Just a random suggestion.


A O

unread,
Sep 29, 2022, 10:56:03 PM9/29/22
to Ukelele Users
What I am trying to do is to copy a custom Windows keyboard layout to a Mac.
I don't want to use Keyman as a runtime, but I thought that maybe I could use it as an intermediary if it has export functionality.  Apparently it doesn't.
The random suggestion above doe not look like it would accomplish my goal.

Andrew Cunningham

unread,
Sep 30, 2022, 12:36:47 AM9/30/22
to ukelel...@googlegroups.com
Not so random, most platforms have completely different formats, and their tools do not support exporting to other input frameworks.

CLDR keyboard data is the starting point for a solution What is needed are tools allowing export to and from LMDL format, which would improve capabilities, so my comments were pointing to the direction a future solution could take.

But more specific to your problem what you need is the reverse version of a python script in github that converts a MacOS keylayout file to a klc file.

I started working on a series of XSLT files that would support conversion between a number of keyboard formats but that project has been on the backburner, partially because I have been waiting to see what LMDL tools develop (although other than Keyman there isn't much happening)  and because I have much higher priority projects to work on.

But klc is fairly simple format, the trick is an intermediary format that can be used to hold a representation of the keyboard definition to generate the keylayout file from.

Ideally such a file should be postprocessed in Ukelele. 

But to do it properly, it needs to be able to handle the klc functionality/hacks not available through the MSKLC gui. 

I will see what state my early prototypes are in.



Jonathan D Patterson

unread,
Sep 30, 2022, 5:08:42 AM9/30/22
to ukelel...@googlegroups.com
Keyman will not help.you.
Unless there has been some significant change in Keyman's goals or development roadmap, Keyman does not export anything other than the various files & formats associated with Keyman keyboards.

Kenyan does plan to be able to import basically any keyboard layout file from any other platform/software/format.  I'm not sure how far along they are with that.
The whole point of Keyman is to be a "one stop shop" for the needs of all users, languages & platforms.  Exporting to other formats does not coincide with that objective.

BTW, Keyman is not a keyboard layout creator like Ukelele & MSKLC; Keyman developer is actually an input method creator.  That is the reason that Keyman's keyboards require the Keyman runtime.
An Input Method is much more powerful than a keyboard layout.   They can include dictionaries itty-virtuales and word suggestion lists, as well as long-press/tap & hold features, and a dynamically updating UI for syllabic & other complex scripts.
Input methods can introduce pop-ups in the UI in front of the text input cursor with a list of characters, character clusters or entire words. .A selection can be made with the number keys, the arrow keys as well as tab, escape, space and enter; or with the mouse/pointing device.
Input methods can also perform all sorts of complex, rule-based contextual edits/transformations of entered text strings.

Most languages do not need.most of the advanced capabilities of an input method, but it is this feature that allows users to create virtual on-screen keyboards.

Previously, the Keyman developer relied on Windows Internet Explorers.  They havt freee moved away from that, but I.do not believe they have released a version yet. But it is something they have been planning to implement.

You received this message because you are subscribed to a topic in the Google Groups "Ukelele Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ukelele-users/Zpxw1lEQpU8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ukelele-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ukelele-users/3127c4f8-4422-48bc-8874-a3ae2a01dd72n%40googlegroups.com.

Jonathan D Patterson

unread,
Sep 30, 2022, 8:00:54 AM9/30/22
to ukelel...@googlegroups.com
Yes, Andrew, there is actually a tremendous amount that can be done with native Windows keyboards that can not be done with MSKLC!

There is software called KbdEdit that can do all kinds of amazing things!  Nested/stacked dead keys... Ligatures... There are even 3 additional modifier keys that can be used.  One of them is a locking modifier like caps lock, so it can be used to access another writing system.
It doesn't matter that your keyboard doesn't have those keys, that program can assign them to other keys like the context menu key, right alt, printscreen, etc...

It is paid software, although it is also very affordable.  There are several editions with different capabilities.  The most powerful edition can produce keyboard installers that will run natively in any version of Windows, on as many machines as you want.

You received this message because you are subscribed to a topic in the Google Groups "Ukelele Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ukelele-users/Zpxw1lEQpU8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ukelele-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ukelele-users/CAGJ7U-WZn9%2BK7gSy0_VqhLKaL_o7NK3EKykxtcQvhfOCgdwmeg%40mail.gmail.com.

Andrew Cunningham

unread,
Sep 30, 2022, 8:38:06 AM9/30/22
to ukelel...@googlegroups.com
On Fri, 30 Sept 2022, 19:08 Jonathan D Patterson, <jonpa...@gmail.com> wrote:
Keyman will not help.you.
Unless there has been some significant change in Keyman's goals or development roadmap, Keyman does not export anything other than the various files & formats associated with Keyman keyboards.

Current work on keyman core  incudes the ability to use ldml keyboards as well as keyman keyboards

Work on keyman developer includes an ldml keyboard editor.

And considering who is working on the LDML side, I guess there might be a node.js approach involved as well. Currently the epic for LDML is well underway.

Andrew Cunningham

unread,
Sep 30, 2022, 8:44:58 AM9/30/22
to ukelel...@googlegroups.com
On Fri, 30 Sept 2022 at 22:00, Jonathan D Patterson <jonpa...@gmail.com> wrote:
Yes, Andrew, there is actually a tremendous amount that can be done with native Windows keyboards that can not be done with MSKLC!

Actually, you need to make a distinction between what MSKLC can do from within the GUI, and what it can do from the terminal/console. Michael Kaplan  did publish quite a bit on  how to use MSKLC to do things, not available through the GUI, including:

* compiling keyboards for custom locales (rather than limiting to the input locales available in pre-win 10), the technique was extensible to the changes in Win 10 when MS moved away from the input locale model.
* chained deadkeys
* table-based TSF input methods

Among other odds and ends

Andrew Cunningham

unread,
Sep 30, 2022, 8:58:06 AM9/30/22
to ukelel...@googlegroups.com
On Fri, 30 Sept 2022 at 12:56, A O <alex...@gmail.com> wrote:
What I am trying to do is to copy a custom Windows keyboard layout to a Mac.

circling back to the question, klfc should be able to convert between klc and keylayout formats, I haven't tried it personally,  so can't vouch for the accuracy of the conversion.

klc is an available input file format, and keylayout is an available output format, may need some post conversion editing, and bundling in Ukelele.

Sorin Paliga

unread,
Sep 30, 2022, 11:44:09 AM9/30/22
to ukelel...@googlegroups.com
Hi to all

An alternative way to macOS keylayouts is here:
It has not been updated for some time, but it should work. I used it before UKELELE was born, then the complex keylayouts created with were later refined in UKELELE.
Enjoy.


--
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.

Jonathan D Patterson

unread,
Oct 2, 2022, 7:27:23 PM10/2/22
to ukelel...@googlegroups.com
Yes, you are absolutely right!  I intended to make that distinction…  Michael Kaplan's work/blog is epic!  It's a shame that it isn't easier to find and that so many links to it are broken.
KbdEdit is paid software for windows that actually does everything that I believe the GUI for MSKLC should do, plus more!  The developer told me that Kaplan's blog posts were the initial basis for the project.

That's exciting news about Keyman!  I had forgotten that decided to support LDML keyboards directly.

BTW, what is klfc?

--
You received this message because you are subscribed to a topic in the Google Groups "Ukelele Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ukelele-users/Zpxw1lEQpU8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ukelele-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages