multiple dead keys?

16 views
Skip to first unread message

emily gillespie

unread,
Jan 7, 2026, 11:42:07 PM (4 days ago) Jan 7
to Ukelele Users
Here’s what I want to do:

I am building a keyboard layout for a syllabary, in a language similar to Cree. 
I need to input characters for sound groups such as:
pa, po, pi, pe, and ta, to, ti, te.

All in all, about 15 such groups. 

Can each starting consonant sound be used as a dead key, with the following vowel sound as the secondary key? In other words, type P followed by A for the sound PA. 

This seems like a simple question, but the instructions re dead keys in the tutorial document are not clear.

In a previous version of a keyboard for our language, caps+shift, caps+alt, shift, and alt were used to create the 4 different vowel options, but if it is feasible, using the key that actually represents the starting sound seems more elegant. 

The need for a new keyboard has to do with the language being archeologically reconstructed, so there have been tweaks. 

Sorin Paliga

unread,
Jan 8, 2026, 4:24:27 AM (4 days ago) Jan 8
to ukelel...@googlegroups.com
The tutorial is, in fact, quite clear. But, if this is your first attempt to use UKELELE, it may seem unclear. I suggest to practise a little bit, mainly starting from an existing keylayout, save the file as a .keylayout file, make the changes, then install, then activate it. 
In principle, you may achieve your goal by a dead key, yes. 15 such combinations is not much. Say, Option-D triggers a dead key, then populate the level under this dead key with the desired chars. I think it is better to combine the two char specific to a syllabary in one stroke, e.g.
Option-D –> dead key
A –> pa
B –> be etc.. 

I hope I have correctly understood what you are planning to do. 


--
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 visit https://groups.google.com/d/msgid/ukelele-users/cb7e33a9-a028-4888-9111-60b2ec51ba04n%40googlegroups.com.

Gé van Gasteren

unread,
Jan 8, 2026, 5:36:07 AM (4 days ago) Jan 8
to ukelel...@googlegroups.com
Hi Emily,

It can be done with a standard keyboard layout, but there is an intrinsic limitation: 
A key can either be a dead key or a standard key, not both.
So you can’t have the best of both worlds, e.g. that the T should behave like a standard key before, say, consonants, but like a dead key before vowel letters.

That’s why Sorin basically suggests leaving the common keys alone and assigning the dead keys to another "level", e.g. holding down Option while typing a key. 

An alternative approach to leave the common part of the keyboard alone:
You could have dead keys not for the consonants, but for the vowel letters, e.g. 5 dead keys on the digits row, with the digits bumped to Shift + those keys.
This way, you would need to type the vowel first, then the consonant – I don’t know if that is easy enough to learn.

The difference in behavior between standard keys and dead keys is hard to describe, it’s better to see it happen on the screen. But I’ll try:
• When you type a normal key, its character appears right away.
• When you type a dead key, its "terminal" character is displayed, while the computer waits for the second key.
After you type the next key, the terminal character disappears and the character defined for that combination of dead key and follow-up key is inserted – if there is such a definition.
If there isn’t, two characters are displayed: the terminal character of the dead state and the character typed.

Again, you have to try it in practice to know if this is good enough for your project, but my guess is that for a serious project, it’s better to have someone design and create a "real" input method.
(Apple also calls simple keyboard layouts, like Ukelele can edit, input methods, so I say "real" to distinguish from those.)

To get an idea how those (can) work, install an input method for a script you can read and experiment typing with that – maybe Tom Gewecke can recommend a language?

emily gillespie

unread,
Jan 8, 2026, 7:07:51 AM (4 days ago) Jan 8
to Ukelele Users
Thanks very much for the feedback! Sorin, you are correct. It is not the tutorial, but rather my foggy brain that is unclear. After some experimenting, and installing a partially-completed trial, I can see how it’s working. 

What Gé has added is particularly useful—that is the distinction that a key cannot serve both purposes. In my mind, generating the syllable “pa” by hitting p followed by a seems logical, but using the vowel keys of a, o, i, e may very well be a smoother approach. 

I should have experimented more before posting, but I very much appreciate the advice.

Is my project a “serious” one? Only within a very limited sphere. Not too many people would be dabbling in the syllabic version of this dialect, so I think it’s an amateur such as myself, or no one, for now!

Gé van Gasteren

unread,
Jan 8, 2026, 7:48:53 AM (4 days ago) Jan 8
to ukelel...@googlegroups.com
Thanks for the feedback!

I donʼt know if Iʼm mansplaining now, but you could of course save yourself some work and install the Cree input method developed for/with Keyman:

Keyman is free software, and input methods for lots of languages have been developed with it.
The only possible disadvantage being that it’s running in the background and monitoring your every keystroke – but I think Keyman is now kind of public, not proprietary anymore.
Ukelele developer John knows all about that, as he works for the same institute that manages Keyman.

Sorin Paliga

unread,
Jan 8, 2026, 7:54:56 AM (4 days ago) Jan 8
to ukelel...@googlegroups.com
The term ‘dead key’ has been borrowed from the technique used for the standard typewriters. Some keys, used as diacritical marks (e.g. ´ or ` or ¨ ) did not move the mechanism one char ahead, like all the others. Therefore, after pressing a dead key, the diacritical mark was typed, then the letter beneath or above, depending on the language in view. 
The behaviour is the same in the computer age, just that, of course, after creating a dead key, one may have a rich list of chars which may be typed after pressing a dead key. 
In the described case, 15 chars or 15 sequences of chars is not very much. A dead key is an option or simply removing 15 existing chars at the option level, and replace them by the desired sequence of chars. The advantage of a dead key is that it sacrifices one existing char only, while the option-key variant means one must remove 15 existing chars and replace them by the desired sequence. 
I think a minimal testing is necessary, perhaps some exercise with something simpler, and then passing to the planned keylayout. Things cannot have a fast and direct result from the first minute of using UKELELE.

emily gillespie

unread,
Jan 8, 2026, 8:21:13 AM (4 days ago) Jan 8
to Ukelele Users
Appreciate it! I will look into Keyman. Modification would be essential as Cree overlaps with, but doesn’t exactly match Virginia Algonquin dialects. 

Gé van Gasteren

unread,
Jan 8, 2026, 8:39:18 AM (4 days ago) Jan 8
to ukelel...@googlegroups.com
On Thu, Jan 8, 2026 at 2:21 PM emily gillespie <emm.gi...@gmail.com> wrote:
Appreciate it! I will look into Keyman. Modification would be essential as Cree overlaps with, but doesn’t exactly match Virginia Algonquin dialects. 

Then have a look here:

Keyman layouts are created and modified with Keyman Developer, which runs under Windows (only) and can generate input methods for many platforms, including macOS.
 

Tom

unread,
Jan 8, 2026, 10:40:13 AM (4 days ago) Jan 8
to Ukelele Users
On Thursday, January 8, 2026 at 3:36:07 AM UTC-7 Gé van Gasteren wrote:

A key can either be a dead key or a standard key, not both.
So you can’t have the best of both worlds, e.g. that the T should behave like a standard key before, say, consonants, but like a dead key before vowel letters.


I think that is mistaken.  Even on the standard English keyboard, option e then e produces composed é, option e then T produces ´T, option e then space produces ´. 

Tom

unread,
Jan 8, 2026, 10:58:28 AM (4 days ago) Jan 8
to Ukelele Users
On Wednesday, January 7, 2026 at 9:42:07 PM UTC-7 emily gillespie wrote:

I need to input characters for sound groups such as:
pa, po, pi, pe, and ta, to, ti, te.



What is the name of the language?  Can you provide a list of all the syllables needed?  Offhand it seems like top level dead keys could work for what you are doing. 

Sorin Paliga

unread,
Jan 8, 2026, 11:37:17 AM (3 days ago) Jan 8
to ukelel...@googlegroups.com
Tom, opt-e, then e –» é is mere chance, because — according to Apple norms — dead acute is option-E. So, after opt-e and another char leads to an acute on any char which is assigned an acute. If not assigned, one may use combining diacritical marks (CDM) in which case any diacritical mark (or more, if the font and app allow) may be put above/beneath any char. 
´t  is not assigned in Unicode, but we may get if using CDMs.
So, I think, it is correct to say that a key can either be a standard key OR a dead key, not both. Of course, I mean at the same time. They may be standard or dead keys successively, but not simultaneously. 

--
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,
Jan 8, 2026, 1:12:24 PM (3 days ago) Jan 8
to ukelel...@googlegroups.com
A quick thought is that a consonant can be a dead key and produce the syllable, but otherwise produce the consonant as its terminator. It’s unintuitive, and means that you always have to type another key to get what you want, but it is possible.

John

emily gillespie

unread,
Jan 9, 2026, 7:22:32 PM (2 days ago) Jan 9
to Ukelele Users
Hi Tom, it’s a dialect of Virginia Algonquin, and—as is true of many dead languages—reviving it involves some linguistic archeology and occasional tweaking. I have actually succeeded in the task now! I used each of roughly 14 consonants as dead keys, with the second key being one of the 4 relevant vowels, or a superscript indicating that the consonant ends the syllable. 

emily gillespie

unread,
Jan 9, 2026, 7:26:55 PM (2 days ago) Jan 9
to Ukelele Users

John, that is what I did, although I didn’t need the terminator, as the consonants almost never stand alone. There are superscript versions of the consonants which indicate that a syllable ends with that sound, and I added that option to the dead key + [a,i,o,e] as f, for final. I think the end result is pretty neat, although there’s always room to tweak. 

Tom

unread,
Jan 9, 2026, 7:34:07 PM (2 days ago) Jan 9
to Ukelele Users
I’d be interested in trying your keyboard if you send a copy.
Reply all
Reply to author
Forward
0 new messages