Summary: | African keyboard layouts | ||
---|---|---|---|
Product: | xkeyboard-config | Reporter: | Denis Jacquerye <moyogo> |
Component: | General | Assignee: | xkb |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | high | CC: | simos.bugzilla |
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 5497, 5499, 5500, 10193 | ||
Bug Blocks: | |||
Attachments: |
African language qwerty keyboard layout
african (bantu) symbols file add african keyboard layout to xorg.{lst|xml} xorg.{lst|xml} with African (qwerty and azerty) keyboard African (qwerty and azerty) keyboard xorg.{lst|xml} with African (qwerty and azerty) keyboard patch for rules/xorg.{lst|xml} Ghana keyboard layout symbols/cd file |
Description
Denis Jacquerye
2005-03-10 09:11:53 UTC
Created attachment 2073 [details] African language qwerty keyboard layout based on tables from http://www.bisharat.net/A12N/Projects/#tabl (In reply to comment #1) > Created an attachment (id=2073) [edit] > African language qwerty keyboard layout Can you convert this into a patch form (either against X11R6.8.2 or Xorg CVS trunk), please ? Sure, I'll produce a patch soon. Created attachment 2252 [details] [review] african (bantu) symbols file here's a patch, diff between /dev/null and the kbd layout file Created attachment 2253 [details] [review] add african keyboard layout to xorg.{lst|xml} Created attachment 2735 [details] [review] xorg.{lst|xml} with African (qwerty and azerty) keyboard Created attachment 2736 [details] [review] African (qwerty and azerty) keyboard I have some Lingala speakers interested in this. Could we include this in Xorg? I'm not sure "African" is the best name for this, even though I've designed this keyboard to supportlots of latin based african scripts. Created attachment 2750 [details] [review] xorg.{lst|xml} with African (qwerty and azerty) keyboard removed the extre <variant></variant> Denis, could you please specify the list of languages covered by this layout - and countries it is intended to be used in? In xkeyboard-config, we put the stuff on per-country basis whenever possible... I'll send a less general keyboard. This one is probably not ergonomic for the languages I'm not able to deal with. I'm currently working with a language from the DRCongo and the Congo. see http://www.bisharat.net/A12N/CONGO-K-table.htm and http://www.bisharat.net/A12N/CONGO-B-table.htm OK, these two patches really make sense to me now. Just a question - since we are trying to use country-based layouts, would you be able to tell me which countries these layouts are used in. Actually, I'd be very happy if you name me one "primary" country - and others, which would just happen to use the same layouts (so I'd use "include") statments. I am asking because the name of the layout "african" does not fit well into the current naming scheme. Thanks. We are currently testing variations of the layout for languages spoken in the Congo (Brazzaville) and the Congo DRC (Kinshasa). I'm not sure if it's best to commit a keyboard that we might change or to commit one later. I'm currently testing one that doesn't use the AltGr key for common characters used in the Lingala language. It quite tricky actually, there are many languages in the Congos and not all use the same special latin characters, or do with different frequencies. Should we do one general keyboard for the country, with some characters inconveniently placed for some languages, and do language specific ones for convenience? > Should we do one general keyboard for the country, with some characters
> inconveniently placed for some languages, and do language specific ones for
> convenience?
What I would expect is one file for Congo (symbols/cg) which would contain as
many variants as you want (sure there must be one default 'basic' variant). It
would be conformant with our current naming scheme. Does it make sense to you?
(In reply to comment #13) > > Should we do one general keyboard for the country, with some characters > > inconveniently placed for some languages, and do language specific ones for > > convenience? > What I would expect is one file for Congo (symbols/cg) which would contain as > many variants as you want (sure there must be one default 'basic' variant). It > would be conformant with our current naming scheme. Does it make sense to you? > The only real default 'basic' variant is french keyboard (in general), lacking characters needed for official orthography of many congolese languages (in both Congos). This whole thing is sort of a vicious circle. There is no keyboard capable of typing the required characters in some languages, therefore very few text have them and thus people assume it is supposed to be that way. I'll provide a patch for symbols/cd and symbols/cg for a french language keyboard with the proper characters (allowing accented capitals), I'll get in touch with other congolese people about the other official languages. Thanks > The only real default 'basic' variant is french keyboard (in general), lacking > characters needed for official orthography of many congolese languages (in both > Congos). I see. This is normal situation - but there should be some default, even if it does not cover all the needs. Probably, the layout which would match most popular language in Congo (whatever it is)? > I'll provide a patch for symbols/cd and symbols/cg for a french language > keyboard with the proper characters (allowing accented capitals), I'll get in > touch with other congolese people about the other official languages. Thanks a lot, I really appreciate when people seriously take their national layouts and help me to support and maintain them (or rather help me to help them:). I just stumbled upon the Nigerian Keyboard layout from the National Information Technology Develpment Agency of Nigeria [1]. This layout allows to type three of the major languages of Nigeria: Hausa, Igbo and Yoruba. A few questions so far: Should the keyboard file be symbols/ng and the label be something like "Hausa, Igbo and Yoruba"? How do you associate composed characters like ẹ́ <e,U+0323,U+0301> to a key? ref: 1: http://www.nitda.gov.ng/projects/kbd/index.php see the pdf file in the zip file for more info > A few questions so far: > Should the keyboard file be symbols/ng and the label be something like "Hausa, > Igbo and Yoruba"? Yes it should be "symbols/ng" - but it will be the default layout, the label would be just "Nigeria". > How do you associate composed characters like ẹ́ <e,U+0323,U+0301> to a key? Well, this is beyond the scope of XKB. I think you should consider using the Input Methods or something... But I actually do not quite understand your request - looking at the Nigerian keyboard (in the pdf) I see only "normal" character, nothing funky. > > How do you associate composed characters like ẹ́ <e,U+0323,U+0301> to a key? > Well, this is beyond the scope of XKB. I think you should consider using the > Input Methods or something... But I actually do not quite understand your > request - looking at the Nigerian keyboard (in the pdf) I see only "normal" > character, nothing funky. The composed characters are on page 7 of the Nigerian keybord pdf. ẹ́ <e,U+0323,U+0301> ẹ̀ <e,U+0323,U+0302> ụ́ <u,U+0323,U+0301> ụ̀ <u,U+0323,U+0302> ọ́ <o,U+0323,U+0301> ọ̀ <o,U+0323,U+0302> and their uppercase variants. I personnally think an IME is too much hassle for simple character composition like those required for Yoruba. For comparison, the regular MS Windows keyboard layout engine is capable of such composition, no advanced IME is required. XKB should allow for this kind of composition especially since Unicode favorizes composition instead of new precomposed characters. See Bug 4575 for the request for feature. I agree, it would be nice if XKB could do these things - but to the best of my knowledge, it cannot (right now) without additional things like IM... Apparently it is possible to compose characters with the a Compose file in xc/nls/Compose/ but I'm not clear on how to use it in a xkb symbol file. Where are <asciitilde>, <Cyrillic_ka>, etc. and the like defined? Maybe we could define something like <edotbelowacute> (ugly) for the Pan-Nigerian characters. We could add other composed characters required for other African languages later on. I've also found keyboard layouts for Ghana at http://kasa.ghanathink.org They have keyboards for Fula, Bambara and Wolof. Should I make a patch and submit it here? Actually Wolof would be suitable for Senegal, the Gambia and Mauritania, what file should that keyboard layout be in? Fula is spoken in a large number of West African countries. How should we handle this? It is spoken in Ghana, so I could include it in xkb/symbols/gh. Bambara is spoken in Mali, Burkina Faso and Côte d'Ivoire. There is also a layout for Ga for Ghana: http://kasa.ghanathink.org/node/81 Denis, for a moment, probably these layouts should be submitted for Ghana only. I raised the issue in our maillist - regarding similar layouts for multiple countries. Created attachment 4234 [details] [review] patch for rules/xorg.{lst|xml} patch to xorg.xml and xorg.lst to add Ghana keyboard layouts for Akan languages, Fula, Ga and Hausa. Created attachment 4235 [details] Ghana keyboard layout Keyboard layout file for Akan languages, Ga, Fula and Hausa. Found at http://kasa.ghanathink.org/locales There is probably room for improvement for the Fula/Hausa. There should be a general keyboard layout to support all the languages listed http://www.bisharat.net/A12N/GHANA-table.htm with their characters. Seeing how many languages and countries there are in Africa, I was thinking we could open a bug per country and keep track of the whole thing here. Should I go ahead and open bugs for the countries we can deal with so far? > Should I go ahead and open bugs for the countries we can deal with so far?
I think yeah, it makes sense. The only note: please do not patch
xorg.xml/xorg.lst. The real source file is base.xml.in - while base.xml
(symlink xorg.xml) and base.lst (symlink xorg.lst) are autogenerated.
Bug 5497 (Ghana), Bug 5499 (Nigeria), Bug 5500 (both Congos) have been opened. > The only note: please do not patch xorg.xml/xorg.lst. The real source file is > base.xml.in - while base.xml (symlink xorg.xml) and base.lst (symlink > xorg.lst) are autogenerated. Where I find base.xml.in? It is not in my local copy of the xc CVS tree. I'll provide a cleaner patch for Ghana on Bug 5497 when I can find that file ;-) I'm thinking of defining a list of composed characters so they can be used by one single key or with deadkeys. ex: A keyboard layout with deadkeys would be useful for Lingala; typing <combing_acute> <opene> -> "ɛ́" <U+025B,U+0301>. Where can I define <opene> and this kind of composition? > Where I find base.xml.in? It is not in my local copy of the xc CVS tree.
Oops, you are using wrong tree! The right tree is in xlibs/xkbdesc - that's
where xkeyboard-config is stored. The tree in xc is not supported and officially
declared deprecated.
Regarding the Compose characters - I think this is again worth separate bug(s)
and investigation, since it is outside the scope of xkeyboard-config.
(In reply to comment #28) > > Where I find base.xml.in? It is not in my local copy of the xc CVS tree. > Oops, you are using wrong tree! The right tree is in xlibs/xkbdesc - that's > where xkeyboard-config is stored. The tree in xc is not supported and officially > declared deprecated. Thanks, got the correct tree and uploaded a patch and symbols file for Ghana, others will follow. > Regarding the Compose characters - I think this is again worth separate bug(s) > and investigation, since it is outside the scope of xkeyboard-config. Who else is on it? I'm thinking we could maybe have additions to the list of named characters (keysyms?) like Aacute, Cyrillic_ka and the likes. Unicode has http://www.unicode.org/Public/UNIDATA/NamedSequences.txt which is sort of incomplete, it doesn't contain all the characters I'm dealing with for Lingala for example and there is not process to add to it. So the best option is for us to have such a list, add to it over time, and allow xkb to use it in layout definitions. Another way is through a Compose file with some kind of locale stuff. http://malayalamlinux.sourceforge.net/input-methods/ is doing that for "ണ്", "ന്", etc. Unfortunately it seems to be local specific. I'll copy this comment to Bug 4575. > Thanks, got the correct tree and uploaded a patch and symbols file for Ghana, > others will follow. Sweet! Just committed it. > > Regarding the Compose characters - I think this is again worth separate bug(s) > > and investigation, since it is outside the scope of xkeyboard-config. > Who else is on it? I am not sure but I think xorg-arch would be the proper mailing list to raise the issue (or xorg mailing list). Or #freedesktop channel on IRC. > I'm thinking we could maybe have additions to the list of named characters > (keysyms?) like Aacute, Cyrillic_ka and the likes. Yes, it is definitely a good subject for these mailing lists. The keysymdef.h file quite possibly needs more characters. > for us to have such a list, add to it over time, and allow xkb to use it in > layout definitions. Of course this is the thing to do - but, as I said, it is up to the xorg maintainers to define the policy of dealing with new keysyms. xkeyboard-config just uses what's there, you know;) Since the characters I needed so far are all already defined - I did not care too much - but I can understand that people may need more characters... Bugzilla Upgrade Mass Bug Change NEEDSINFO state was removed in Bugzilla 3.x, reopening any bugs previously listed as NEEDSINFO. - benjsc fd.o Wrangler Created attachment 44613 [details]
symbols/cd file
Hi,
I've improved the symbols/cd for Congo-Kinshasa (Rep. Dem. of Congo) keyboard layout.
- added U+0152, U+0153 (Œœ ) and U+202F (NARROW NO-BREAK SPACE) needed for French (national language)
- added U+030D (combining diachritic ̍) used in Standardization of Congolese languages orthographies (1974) to indicate middle tone in some tonal languages.
ok, committed, thanks |
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.