Created attachment 18679 [details] [review] Patch against Git version At OLPC, we are using an XKB based Amharic keyboard layout, which requires the use of dead vowels to generate the various consonant + vowel combinations (see http://en.wikipedia.org/wiki/Ge%27ez_alphabet#Syllable_signs for a detailed explanation). The attached patch adds the dead vowel modifiers to the keysymdef.h file.
That patch (attachment 18679 [details] [review]) cannot go in as is. The new keysyms it defines overlay with existing syms. fe70 through fe7a are already in use. I like the concept — and advocated it in bug 11307 (cf comments 7 and on) — but we need to find a place for them. Since your patch defines 12 dead vowels we’ll need at least a block of 16. Are you aware of the needs for a similar input style for other such scripts? Is there any chance we’ll eventually need more than 16 dead vowels? In the 0xfe00 block it looks like the 0xfe40 and 0xfe80 through 0xfec0 blocks are free. Using 0xfe40 would put the dead vowels right before the other dead keys. But using something like 0xfea0 would allow for more expansion. Can you take a look through UnicodeData and check whether any other dead vowels would be useful for the currently-encoded scripts? A quick check suggests that the CANADIAN SYLLABICS, YI, VAI, LINEAR B, and CYPRIOT syllables as well as the CHEROKEE letters are relevant.
Apologies for the delayed response. We may need more than 16 vowels, since there might seems to be variants (http://en.wikipedia.org/wiki/Ge%27ez_alphabet#Labiovelar_letter_variants) which can push up the need for modifiers. 32 should be a safe choice. Regarding other scripts, apart from the scripts you mention, I don't think there are many more. I was wondering about Indic, but those usually have distinct vowel signs which combine with the consonants (and they are already mapped as separate entities in a typical keyboard layout), so I'm not very sure.
Dead vowel keysyms added in commit 7d3f5cf8d9a94dcd3fb12137a1643cde8542a96f.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.