Breton keyboard layout C'HWERTY not supported

Bug #315740 reported by Dominique Pellé
2
Affects Status Importance Assigned to Milestone
xkeyboard-config
Fix Released
Medium
xkeyboard-config (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Ubuntu has configuration for several keyboard layouts, but my C'HWERTY keyboard (that's the Breton keyboard if you need to know) is not supported.

Support for C'HWERTY keyboard layout would be welcome.

Doing a Google search, a found a xmodmap file for C'HWERTY keyboard, but it does not work well: some keys work in terminal but not all of them (arrow keys are broken, C'H key does not work, page up broken, etc...). And in gnome applications it does not work at all.

I think xmodmap is deprecated anyway (probably why it did not work in GNOME applications). But then I'm still confused how I can configure my keyboard on Ubuntu.

I've put a picture of the keyboard in wikimedia commons:
- http://upload.wikimedia.org/wikipedia/commons/9/9e/Bretona-klavaro.jpg

Some more info about the keyboard C'HWERTY layout:
- http://www.drouizig.org/Saozneg/Keyboard/keyboard-index.html

xmodmap file for C'HWERTY (but broken for me at least on Ubuntu):
- http://www.drouizig.org/Saozneg/Keyboard/keyboard-Linuxsupport.html

I'm using Ubuntu-8.10 (Intrepid).

Revision history for this message
Java_Head (dewaals) wrote :

Thank you for taking the time to make Ubuntu better. Since what you submitted is a Feature Request to improve Ubuntu, you are invited to post your idea in Ubuntu Brainstorm at [WWW] https://brainstorm.ubuntu.com/ where it can be discussed, voted by the community and reviewed by developers. Thanks for taking the time to share your opinion!

Revision history for this message
Dominique Pellé (dominique-pelle) wrote :

Ah never mind, after spending a few hours, I found how to configure xkb on Ubuntu to define my own keyboard.

I will attach the modified files here when I'm happy enough with it, so hopefully the C'HWERTY keyboard can be integrated into the next versions of Ubuntu.

Revision history for this message
In , Dominique Pellé (dominique-pelle) wrote :

The Breton keyboard layout C'HWERTY is currently not supported
in X11 with xkb, whereas it is supported in all versions of Windows.

So I've written my own keyboard mapping with xkb but I stumbled upon
one problem: this keyboard has a C'H key. Pressing this key should
emit 3 characters: c, apostrophe, h. C'H is a trigraph which is
considered as one letter in the Breton language. Unicode does
not have a character for this trigraph (unlike IJ in Dutch which
has its own character for example). So the keyboard has to emit
3 characters when pressing the C'H key. Similarly, the keyboard
also has a CH key (digraph) which is also considered as one
letter in Breton but there is no CH letter in Unicode.

While my keyboard mapping is almost complete, I have not found how
to map a single key press to multiple characters (for C'H and CH keys).
Asking in the Xorg mailing list, I was asked to open this Buzilla
issue.

Actually, to be pedantic, the C'H should not have a regular
apostrophe in the middle but a right quote, left bended
(Unicode character 0x2019) according to the FAQ below. The
FAQ also describes how to capitalize C'H.

FAQ about the C'H character and CH characters in Breton:

- http://www.drouizig.org/Saozneg/Keyboard/keyboard-FAQ-FrequentlyAs.html

Webpage about the C'HWERTY keyboard:

- http://www.drouizig.org/Saozneg/Keyboard/keyboard-index.html

Photo of the keyboard which I took and put in wikipedia common (notice
the C'H key in the upper left part, under the keys 1 nd 2):

- http://upload.wikimedia.org/wikipedia/commons/9/9e/Bretona-klavaro.jpg

Post in xorg mailing list where I asked how to add support for C'H
and where I was asked to open this Bugzilla issue:

- http://lists.freedesktop.org/archives/xorg/2009-January/042335.html

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

As it was mentioned in xorg the maillist, for producing multiple chars on one keypress, you should use some input method. For the rest of the layout, it should be trivial to make a patch for symbols/fr and rules/base.xml.in. Looking forward to it.

Revision history for this message
In , Dominique Pellé (dominique-pelle) wrote :

Using XIM, I finally managed to map the C'H and CH keys to multiple
characters. My C'HWERTY keyboard now fully works.

In the discussion in the Xorg mailing list, it is suggested to add
keysyms for those Breton trigraph and digraph:

http://lists.freedesktop.org/archives/xorg/2009-January/042356.html

For the record, all the files that I modified the get my C'HWERTY
keyboard to work are available at:

http://dominiko.livejournal.com/20206.html

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

The patches for symbols/fr and rules/base.xml look ok to me. Will apply them.

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

I took freedom to remove the GPL clause, because xkeyboard-config is licensed under X11 licence. Also, I changed the variant name to "bre" because it is assigned to Breton by ISO 639-1. Are you ok with these changes?

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

Committed. Thanks for the contribution!

Revision history for this message
In , Dominique Pellé (dominique-pelle) wrote :

> I took freedom to remove the GPL clause, because xkeyboard-config
> is licensed under X11 licence. Also, I changed the variant name
> to "bre" because it is assigned to Breton by ISO 639-1. Are you
> ok with these changes?

Of course, that's fine. Glad it gets integrated so quickly!

/Dominique

Revision history for this message
Dominique Pellé (dominique-pelle) wrote :

The link below details all the files that I modified to get
my C'HWERTY keyboard to work on Ubuntu-8.10. It provides
full files as well as patches:

http://dominiko.livejournal.com/20206.html

Some of the files are already being integrated in the official Xorg. See:

https://bugs.freedesktop.org/show_bug.cgi?id=19506
http://lists.freedesktop.org/archives/xorg/2009-January/042335.html

Revision history for this message
In , James H. Cloos Jr. (cloos-jhcloos) wrote :

Your use of the private-use chars keysyms was indeed the right thing to
do locally.

I see that you, as I suspected from reading the web pages you mentioned
earlier, needed six keysyms.

I need to determine where to stick the new keysyms. Are you aware of
any encodings where those letters exist as single characters?

Revision history for this message
In , Dominique Pellé (dominique-pelle) wrote :

(In reply to comment #7)

> I see that you, as I suspected from reading the web pages you mentioned
> earlier, needed six keysyms.
>
> I need to determine where to stick the new keysyms. Are you aware of
> any encodings where those letters exist as single characters?

First of all, I'm not an expert, I'm only learning the language.
It would be nice to get the advice from an expert.

Having said that, this is what I found online: even though C'H and CH
are considered as unique letters in Breton, there is no existing
encoding with the C'H trigraph or CH digraph as one single character,
as far as I know. At least Unicode does not have yet such character
as I see in this FAQ:

http://www.drouizig.org/Saozneg/Keyboard/keyboard-FAQ-FrequentlyAs.html

May also be useful:

http://unicode.org/cldr/bugs/locale-bugs/data?id=857;user=guest
http://developer.mimer.com/features/unicode/tailorings.htm

Some random facts which may be relevant:

- There is a locale setting "br_FR.UTF-8".
- C letter alone does not exist in the Breton alphabet.
- For sorting (collation order), the order should in theory be:

  A B CH C'H D E F...

Changed in xkeyboard-config:
status: Unknown → Fix Released
Revision history for this message
Bryce Harrington (bryce) wrote :

Looks like this was included in xkeyboard-config 1.5, now in Jaunty. Closing as fixed.

Changed in xkeyboard-config:
status: New → Fix Released
Changed in xkeyboard-config:
importance: Unknown → Medium
Revision history for this message
In , JF (jf-colson) wrote :

Nearly two years after this bug has been opened, the problem is not completely fixed: the Breton keyboard is still using the private use characters UF8FD, UF8FE, UF8FF, UF8FA, UF8FB and UF8FC and six lines, such as
   UF8FD : "c’h"
   UF8FE : "C’h"
   UF8FF : "C’H"
   UF8FA : "ch"
   UF8FB : "Ch"
   UF8FC : "CH"
must be added manually in the file ~/.XCompose for the keyboard to work correctly.

Wouldn't it be possible to make six new keysyms for those trigraphs and digraphs ?

If the keysyms trigraph_c_h, trigraph_C_h, trigraph_C_H, digraph_ch, digraph_Ch and digraph_CH were available, it would be possible to add
   trigraph_c_h : "c’h"
   trigraph_C_h : "C’h"
   trigraph_C_H : "C’H"
   digraph_ch : "ch"
   digraph_Ch : "Ch"
   digraph_CH : "CH"
in the /usr/share/X11/locale/en_US.UTF-8/Compose file and the bug would be fixed.

Instead of trigraph_c_h, trigraph_C_h, trigraph_C_H, digraph_ch, digraph_Ch and digraph_CH, you could use the names c_h, C_h, C_H, ch, Ch and CH (I think they aren't used yet).

In this case, the six lines to add in the file in the /usr/share/X11/locale/en_US.UTF-8/Compose would be
   c_h : "c’h"
   C_h : "C’h"
   C_H : "C’H"
   ch : "ch"
   Ch : "Ch"
   CH : "CH"

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

Jean-François, I cannot add keysyms to xkeyboard-config unless they are known to X server. You can register another bug against xorg, Input/XKB requesting those keysyms. If you do that, please mark this bug as blocked by that new bug. But I doubt that Xorg team would be happy to create new keysyms just for that special case.

Changed in xkeyboard-config:
importance: Medium → Unknown
status: Fix Released → Confirmed
Changed in xkeyboard-config:
importance: Unknown → Medium
Revision history for this message
In , JF (jf-colson) wrote :

I requested the creation of six new keysyms at https://bugs.freedesktop.org/show_bug.cgi?id=34453

James Cloos proposed a patch to fix the problem: http://cgit.freedesktop.org/xorg/proto/x11proto/commit/?id=06ebd5b8

Could some one commit a patch for the /usr/share/X11/locale/en_US.UTF-8/Compose file?
Here is the text to add to that file:

==================================================================
# Compose sequences to support the CH digraph and the C’H trigraph on a Breton keyboard
CH : "CH"
Ch : "Ch"
ch : "ch"
C_H : "C’H"
C_h : "C’h"
c_h : "c’h"
==================================================================

Thanks a lot.

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

Could you pls file another bug against xlib? The compose patches are not related to xk-c

Revision history for this message
In , JF (jf-colson) wrote :

(In reply to comment #12)
> Could you pls file another bug against xlib? The compose patches are not
> related to xk-c

What is xk-c? I don’t understand.

Revision history for this message
In , Sergey V. Udaltsov (svu) wrote :

xkeyboard-config, of course:)

Revision history for this message
In , James H. Cloos Jr. (cloos-jhcloos) wrote :

Before the changes to the Compose files can be pushed, we need to
decide on what character to use for the apostrophe in the cʼh strings.

I spent some time before the holiday researching that.

The fdo bug reports and related posts in the list archives use U+2019
RIGHT SINGLE QUOTATION MARK.

Every Breton site I found (by way of google) uses U+0027 APOSTROPHE
(aka the ASCII apostrophe).

But neither of those characters are letters.

The character U+02BC MODIFIER LETTER APOSTROPHE probably is the most
accurate choice, from the point of view of the UCS and Unicode. It
is a letter, not punctuation, so word break algorithms and the like
should Do The Right Thing. Google and the like map all of U+0027,
U+02BC and U+2019 together when comparing, so web interaction should
not suffer.

On the other hand, only the libré fonts tend to have glyph support for
U+02BC (generally as a homoglyph to U+2019), the commercial fonts seem
to ignore it.

Thoughts?

Changed in xkeyboard-config:
status: Confirmed → Fix Released
Revision history for this message
In , Denis Moyogo Jacquerye (moyogo) wrote :

(In reply to comment #15)>
> [...]
> The character U+02BC MODIFIER LETTER APOSTROPHE probably is the most
> accurate choice, from the point of view of the UCS and Unicode. It
> is a letter, not punctuation, so word break algorithms and the like
> should Do The Right Thing. Google and the like map all of U+0027,
> U+02BC and U+2019 together when comparing, so web interaction should
> not suffer.
>
> On the other hand, only the libré fonts tend to have glyph support for
> U+02BC (generally as a homoglyph to U+2019), the commercial fonts seem
> to ignore it.
>
> Thoughts?

http://unicode.org/cldr-apps/survey?_=br&x=characters
The CLDR uses {cʼh} with U+02BC. That's pretty authoritative.
Other Breton keyboard layouts (for other platforms) should be updated too.

Revision history for this message
Babey (g-babey) wrote :

Hallo
I am on Xubuntu 14.04. The breton (c'hwerty) configuration doesn't work on my system.
I tried the patch by James Cloos at #16, but I don't find any file with name keysymdef on my machine.
Could somebody help?

Revision history for this message
Babey (g-babey) wrote :

Hallo
I am on Xubuntu 14.04. Th breton (c'hwerty) configuration doesn't word on my machine. I tried the patch provided by James Cloose, but I didn't find any file with name keysymdef on my machine.
Could somebody help?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.