want to create/install custom layout

119 views
Skip to first unread message

Andrew McDowell

unread,
Aug 7, 2024, 7:36:33 PM8/7/24
to Ukelele Users
Sorry I'm frustrated, I'm afraid my tone is going to reflect it.
I think I have created a new layout in Ukelele, though I may not have done it right, and I know it's not complete because I haven't put in the Shift characters and don't know how. But a named .keylayout file now exists. But I don't succeed installing it. I drag the file onto the install window where it says to "drag it here", but nothing seems to happen, and when I go to Input Sources my file does not appear in the list.
What am I missing?
I have the pdf manual, which is thorough I guess, but very hard to work with (for me at least). I don't find a clear, simple, step-by-step that gets me there.
There is said to be a tutorial with Ukelele but I don't know where. It's not in the help menu.
I'm on Mac Sonora 14.5 with Ukelele 3.5.12
Andy

John Brownie

unread,
Aug 7, 2024, 8:02:56 PM8/7/24
to ukelel...@googlegroups.com
The manual has a Quick Start chapter (I'm travelling and using a Windows
laptop, so can't check the correct name now), which is intended to be
the first read. The tutorial is in the Documents folder on the installer
disk image.

I generally recommend using the Organiser for installing keyboard layouts.

John

Tom

unread,
Aug 7, 2024, 8:32:54 PM8/7/24
to Ukelele Users
To do the shift chracters you just hold down the shift key on your keyboard while modifying the template on the screen.

To install, try the manual method:  drag the .keylayout file into Home/Library/Keyboard Layouts.  To get to Home/Library, you hold down the option key while doing Finder > Go.

Next you click on the + button at the bottom of the input source list and go to the Others folder.  There you should find your layout and be able to select and add it the input source list, and then select it in the input menu at the top right of the screen.

Andrew McDowell

unread,
Aug 7, 2024, 8:40:01 PM8/7/24
to Ukelele Users
Don't know how to edit my message so I'll reply
Made some progress. Able to install and use my first attempt, so that's encouraging. Now I need to edit the layout to fix it.
I have only lower case letters as is. Space bar doesn't do anything. I don't think any modifier keys do anything. I opened the file, corrected one error and added everything I didn't get in the first attempt (capital letters and numbers and symbols in the top row), saved the file but now I don't know how to overwrite the actual key layout file to initiate the changes I made. Seems like it should be simple, but I'm simple.
Andy
On Wednesday, August 7, 2024 at 7:36:33 PM UTC-4 Andrew McDowell wrote:

Andrew McDowell

unread,
Aug 7, 2024, 8:42:01 PM8/7/24
to Ukelele Users
Sorry, didn't see the replies, which only popped up when I posted. I'll try the suggestions and reply if I don't fix it.

Sorin Paliga

unread,
Aug 8, 2024, 12:17:13 AM8/8/24
to ukelel...@googlegroups.com
Andrew,
UKELELE cannot modify the system commands, i.e. modifier keys (command, ctrl, shift, capslock). Opțional is the magic key which may extend the range of chars by various combinations. Spacebar can be used together with Opt key e.g. for creating ‘non-breaking-space’.
Perhaps I have not correctly read your last message, but do NOT modify your keylayout after installing it. If you want to do this, uninstall the existing one, make all changes you consider useful, and install it again. 
UKELELE is an intuitive and relatively easy to use app, but do not forget it interferes with the system commands, so pay attention to what you are doing.

-- 
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/bdb3a179-6f37-49fc-acd0-4bf4926b6321n%40googlegroups.com.

Gé van Gasteren

unread,
Aug 8, 2024, 5:18:25 AM8/8/24
to ukelel...@googlegroups.com
Hi Andy,

Mastering the learning curve takes most time, so I hope you won’t be too upset if I tell you that it’s probably best if you start over on a new file.

1. From your description, I understand that you have started with a blank keyboard layout template, which is really only for the hardcore guys, I’d say :-)

Instead, activate a keyboard layout that is close in structure to what you are trying to achieve and then use Ukelele’s command "New From Current Input Source".
That will give you a flying start. There’s more under the hood than meets the eye, and this way that’ll be all in place already.

2. Before you can work on an installed keyboard layout, you’ll have to uninstall it first (including logging your user off and back on) – it’s system software, in a way, so it’s good to follow best-practice rules. If you do that with the Organiser, the file will be put back to the folder where you have saved it when first creating it with Ukelele.

3. Consider creating a bundle (command "New Keyboard Layout Collection") and putting your custom keyboard layout in there. 
Even if you need only one custom layout, bundles are helpful, as they allow you to assign a language and an icon to your custom layout.



--

Gé van Gasteren

unread,
Aug 8, 2024, 5:23:45 AM8/8/24
to ukelel...@googlegroups.com
I forgot to mention that there’s a handy shortcut for step 1 and 3 together, kind of:

After you have activated the keyboard layout which will be the starting point for your editing, use Ukelele to create a bundle (New Keyboard Layout Collection), then click the + in its window and choose the option "Capture Current Input Source".


Andrew McDowell

unread,
Aug 8, 2024, 6:29:14 PM8/8/24
to Ukelele Users
activated the layout I want to build from ("engram")
created a bundle
captured the current layout
saved the file to 'MyLayout'
set language to U.S. English
but when I "Open the keyboard layout", it's qwerty, not engram
engram was definitely the current layout when I captured
what am I missing or doing wrong?

Tom

unread,
Aug 8, 2024, 7:12:39 PM8/8/24
to Ukelele Users
Where did you get engram?

Andrew McDowell

unread,
Aug 8, 2024, 8:35:19 PM8/8/24
to Ukelele Users

John Brownie

unread,
Aug 9, 2024, 1:58:54 AM8/9/24
to ukelel...@googlegroups.com
The problem is that engram is a Keyman keyboard layout, so it's not visible as a keyboard input source, and so Ukelele grabs the current keyboard input source, likely US.

At this point, there's no simple way to convert a Keyman layout into a form that Ukelele can use. Sorry about that!

If it is just a rearrangement of keys, a series of swapping keys would work, and that might get you close to where you want to be.

John 


Gé van Gasteren

unread,
Aug 9, 2024, 5:09:56 AM8/9/24
to ukelel...@googlegroups.com
Great Andy,

You did everything right!

Maybe your Engram layout is basically a U.S. layout with swapped keys anyway?

Then look up that part in the PDF manual, e.g. Copy Key on page 66.

You’re almost there :-)

Tom

unread,
Aug 9, 2024, 5:17:02 AM8/9/24
to Ukelele Users
The only way to modify a Keyman layout is by using Keyman software on Windows.  To use Ukelele, you will have to find or create an engram layout already in the .keylayout or .bundle format.

Gé van Gasteren

unread,
Aug 9, 2024, 5:39:29 AM8/9/24
to ukelel...@googlegroups.com
To clarify:
Keyman, as you probably know, installs a little app that runs in the background on your Mac, monitoring keystrokes and substituting them as defined in the currently active layout, in your case Engram.

Ukelele doesn’t install any app on your Mac, it just replaces the table macOS uses to translate keystrokes into characters.
This is a bit of an oversimplification, but you get the idea that the two systems are working in very different ways.

It would be an interesting excercise to build a convertor app for Keyman layouts to and from Ukelele, but I think it would be a disappointing experience, because many things Keyman can do are not supported by macOS’s keylayout handlers, and therefore not by Ukelele either.



Andrew McDowell

unread,
Aug 9, 2024, 7:43:49 AM8/9/24
to Ukelele Users
I'm not sure what the import is then. Ukelele cannot capture a layout created with Keyman? (I'm not a techie)
Last night I worked from a US layout (not engram). I modified most (not all) the keys just to get the letters where I want them. It would not install it.
It seems like there's something fundamental I'm doing wrong.
Do I have to start with a blank template? That was actually the first thing I tried a few days ago, but I lacked some knowledge on how to make it work. 

Tom

unread,
Aug 9, 2024, 8:27:45 AM8/9/24
to Ukelele Users
Keyman and Ukelele are totally different ways to make custom layouts.

As suggested before, if you have your modified .keylayout or .bundle (with a new name) sitting on your desktop, drag it manually into Library/Keyboard Layouts.  Then logout and login and you should be able to find it under Others or English to add to your Input Source list.

Andrew McDowell

unread,
Aug 9, 2024, 9:19:42 AM8/9/24
to Ukelele Users
I think we've got it. Installed it manually and it still didn't behave. I could change key layout from the menu but as soon as I opened a text-accepting app it would flip back to the usual layout. The missing ingredient was restarting the computer. 
I only just now did that so haven't done much with it yet but so far it's working when I shift layout and go to a text-accepting app.
One thing I was unable to do was rename the layout. In Ukelele I tried, before I installed it, typing in my name for the layout. But it would not change it from 'U.S. copy', the default name it gave it. I think I can't do anything about that now that it's installed, but at some point I'll make a new bundle and work through some versions of my layout (can I put them all in one bundle?). But how do I name the layouts?
I know I've been annoying and inept here, but I sure appreciate all the help.
Andy


Sorin Paliga

unread,
Aug 9, 2024, 11:17:19 AM8/9/24
to ukelel...@googlegroups.com
‘The missing ingredient was restarting the computer.’
Yes, this is the first step after installing a new keylayout.

One thing I was unable to do was rename the layout.
Renaming a keylayout does not mean simply changing its name in the Finder, but modify it as attached.

In Ukelele I tried, before I installed it, typing inScreenshot 2024-08-09 at 18.15.40.pngmy name for the layout. But it would not change it from 'U.S. copy', the default name it gave it. I think I can't do anything about that now that it's installed, but at some point I'll make a new bundle and work through some versions of my layout (can I put them all in one bundle?). But how do I name the layouts?

Andrew McDowell

unread,
Aug 9, 2024, 1:25:16 PM8/9/24
to Ukelele Users
Thanks, got that. Now, can I add more layouts to that bundle? The bundle shows fields for multiple bundles. I'll want to do variations of my layout in search for what works best.

Gé van Gasteren

unread,
Aug 9, 2024, 2:31:09 PM8/9/24
to ukelel...@googlegroups.com
• Yes, that’s what bundles are for, but make sure you give each layout a different name.
Maybe add a version number to the name so you can distinguish them?

• It’s good that you succeeded with the manual install now!
Still, I prefer to use the Organiser, because that structures the installing process and makes it safer.
E.g. it tells you when it’s time to log off and back on (restarting the computer is rarely needed).

• Icons are a bit complicated to discuss in general, but here's an overview:
Icons have to be in a special format (.icns) before you can add them to a keyboard layout in a bundle.
There are utilities to create such files when you have an image, I think they are mentioned in the Ukelele manual.

Please note that custom layouts have icons which are static images, like the flag-based images in older versions of macOS:
image.png
So they are really different from the new built-in text-based icons:
image.png

With Ukelele comes a repository of old keyboard layouts, including their flag-based icons:
image.png

With the Finder command "Show package contents" you can extract the icons and then add them your custom layout.


Sorin Paliga

unread,
Aug 9, 2024, 2:36:42 PM8/9/24
to ukelel...@googlegroups.com
I would suggest to create a bundle after installing and testing the individual keylayouts. If all OK, then create the desired bundle. Use the bundle as the coronation of your efforts, not as an interim process.
It is just a suggestion, of course.

Andrew McDowell

unread,
Aug 9, 2024, 3:19:51 PM8/9/24
to Ukelele Users
All good, thanks I need to clean up my mess. Am I correct that if I uninstall a bundle or a layout it will revert to the 'holding folder' and I can then edit it with Ukelele? Or just delete it if I'm done with it?
But I'm unable to uninstall my layouts or bundles using Organizer's uninstall procedure. I think I'm doing exactly as the manual says, but nothing happens.
After doing the uninstall procedure I log out and back in. No good. I restart computer. Still no good.

Sorin Paliga

unread,
Aug 9, 2024, 3:24:26 PM8/9/24
to ukelel...@googlegroups.com
You may simply delete the files (.keylayout or .bundle), but do not forget to deactivate them first.
You may also install them manually by simply moving them to the Keyboard Layouts folder, then restart, then activate them in the system settings. 

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

Gé van Gasteren

unread,
Aug 9, 2024, 3:27:53 PM8/9/24
to ukelel...@googlegroups.com
On Fri, Aug 9, 2024 at 9:19 PM Andrew McDowell <andy...@gmail.com> wrote:
All good, thanks I need to clean up my mess. Am I correct that if I uninstall a bundle or a layout it will revert to the 'holding folder' and I can then edit it with Ukelele? Or just delete it if I'm done with it?
Right, the bundle or layout should be moved back to your ‘holding folder'.

But I'm unable to uninstall my layouts or bundles using Organizer's uninstall procedure. I think I'm doing exactly as the manual says, but nothing happens.
After doing the uninstall procedure I log out and back in. No good. I restart computer. Still no good.
Strange. Can you describe what you do in "Organiser's uninstall procedure"?
Because all you need to do is dragging the bundle over to a different column in the Organiser, which I wouldn’t call a 'procedure', to be honest.

Andrew McDowell

unread,
Aug 10, 2024, 8:57:49 AM8/10/24
to Ukelele Users
I select an item in the "Installed for All Users" column and drag it into the "Not Installed" column. Nothing happens. Same goes for installing. Drag from "Not Installed" to "Installed for Current User" (I am only user). Nothing happens. I install manually.

Gé van Gasteren

unread,
Aug 10, 2024, 10:46:03 AM8/10/24
to ukelel...@googlegroups.com
Sorry, but the details are important here.
When you drag an item over like you wrote, does it disappear from the column where you drag it from, and appear in the target column?



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

Andrew McDowell

unread,
Aug 10, 2024, 11:01:51 AM8/10/24
to Ukelele Users
No it doesn't. Yep I should have reported that.
Reply all
Reply to author
Forward
0 new messages