Hi I have installed Ubuntu-9.10 and I see that the Breton keyboard C'HWERTY is now proposed. A photo of this keyboard is visible here: - http://upload.wikimedia.org/wikipedia/commons/9/9e/Bretona-klavaro.jpg (notice the C'H key in the upper left part, under the keys 1 nd 2 and the CH key) Unfortunately, the config file for this keyboard do not properly work without patching a few files as described below (1) (2) (3): 1) Support of the caps lock key for keys C´H and CH requires patching files /usr/share/X11/xkb/symbols/fr and /usr/share/X11/xkb/types/extra as follows: pel@pel-laptop:~$ diff -c /usr/share/X11/xkb/symbols/fr.orig /usr/share/X11/xkb/symbols/fr *** /usr/share/X11/xkb/symbols/fr.orig 2009-11-29 14:04:18.372308169 +0100 --- /usr/share/X11/xkb/symbols/fr 2009-11-29 15:00:22.293311210 +0100 *************** *** 723,730 **** // Second row // Handling the C'H key correctly requires an inputmethod (XIM) // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 ! // key <AD01> { [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] }; ! key <AD01> { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] }; key <AD02> { [ w, W, Greek_omega, Greek_omega ] }; key <AD03> { [ e, E, EuroSign, Greek_epsilon ] }; key <AD04> { [ r, R, Greek_rho, Greek_rho ] }; --- 723,732 ---- // Second row // Handling the C'H key correctly requires an inputmethod (XIM) // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 ! // key <AD01> { type[group1] = "FOUR_LEVEL_C_HWERTY", ! // [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] }; ! key <AD01> { type[group1] = "FOUR_LEVEL_C_HWERTY", ! [ UF8FD, UF8FE, UF8FF, Greek_alpha ] }; key <AD02> { [ w, W, Greek_omega, Greek_omega ] }; key <AD03> { [ e, E, EuroSign, Greek_epsilon ] }; key <AD04> { [ r, R, Greek_rho, Greek_rho ] }; *************** *** 761,768 **** key <AB06> { [ n, N, Greek_nu, Greek_nu ] }; // Handling the CH key correctly requires an inputmethod (XIM) // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 ! // key <AB07> { [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] }; ! key <AB07> { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] }; key <AB08> { [ ntilde, Ntilde ] }; key <AB09> { [ period, colon, section, copyright ] }; key <AB10> { [ comma, semicolon, percent ] }; --- 763,772 ---- key <AB06> { [ n, N, Greek_nu, Greek_nu ] }; // Handling the CH key correctly requires an inputmethod (XIM) // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 ! // key <AB07> { type[group1] = "FOUR_LEVEL_C_HWERTY", ! // [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] }; ! key <AB07> { type[group1] = "FOUR_LEVEL_C_HWERTY", ! [ UF8FA, UF8FB, UF8FC, Greek_omicron ] }; key <AB08> { [ ntilde, Ntilde ] }; key <AB09> { [ period, colon, section, copyright ] }; key <AB10> { [ comma, semicolon, percent ] }; pel@pel-laptop:~$ diff -c /usr/share/X11/xkb/types/extra.orig /usr/share/X11/xkb/types/extra *** /usr/share/X11/xkb/types/extra.orig 2009-11-29 14:23:11.416291776 +0100 --- /usr/share/X11/xkb/types/extra 2009-11-29 14:42:02.116291991 +0100 *************** *** 139,144 **** --- 139,165 ---- level_name[Level4] = "Shift Alt"; level_name[Level5] = "Lock"; }; + + // Type for Breton keyboard C'HWERTY. + // It makes it possible to type the C'H C'h c'h trigraphs + // and CH Ch ch digraphs present on the keyboard. + // When typing capsLock, this key type is needed to + // output C'H and CH. + type "FOUR_LEVEL_C_HWERTY" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock] = Level3; + map[Lock+Shift] = Level1; + map[Lock+LevelThree] = Level2; + map[Lock+Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; }; // This enables the four level shifting also for the keypad. 2) Keysyms of trigraph C´H and digraph CH have not yet been added in X11. So until this is done in X11, supporting the Breton C'HWERTY keyboard requires private-use keysyms which can be done by adding a file ~/.XCompose: pel@pel-laptop:~$ cat ~/.XCompose # # Breton trigraph & digraphs # Dominique Pellé <dominique.pelle@gmail.com> # #<digraph_ch> : "ch" #<digraph_Ch> : "Ch" #<digraph_CH> : "CH" #<trigraph_c_h> : "c´h" #<trigraph_C_h> : "C´h" #<trigraph_C_H> : "C´H" <UF8FA> : "ch" <UF8FB> : "Ch" <UF8FC> : "CH" <UF8FD> : "c´h" <UF8FE> : "C´h" <UF8FF> : "C´H" Can keysyms digraph_ch, digraph_Ch, digraph_CH, trigraph_C_h, trigraph_C_h, trigraph_C_H be added to x11? 3) Support of the C´H and CH keys requires an input methode (XIM). XIM can be enabled by adding "export GTK_IM_MODULE=xim" in file /etc/environment: pel@pel-laptop:~$ diff -c /etc/environment.orig /etc/environment *** /etc/environment.orig 2009-11-29 15:07:34.916311751 +0100 --- /etc/environment 2009-11-29 14:14:08.676291508 +0100 *************** *** 1 **** --- 1,2 ---- PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" + export GTK_IM_MODULE=xim I realise that this last step (3) is not a bug but I mention it here if anybody wants to be able to make this keyboard work. After doing all those changes (1) (2) (3), the C'HWERTY keyboard works fine in Ubuntu-9.10. See also an old bug report http://bugs.freedesktop.org/show_bug.cgi?id=19506 when Breton keyboard was added. I describe these 3 steps to fix the Breton C'HWERTY keyboard at: http://dominiko.livejournal.com/22848.html
A couple of things: 1. Could you please prepare a single patch? 2. Would it be possible to name new type according to the function, not to the usage? Unfortunately the bits related to Compose and new keysyms are out of scope. I'd recommend filing new bug for keysyms against xorg, Input/XKB
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/29.
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.