Togo keyboard layout / compose keys

Bug #1584314 reported by Rodrigo Embeita on 2016-05-21
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
xkeyboard-config
Fix Released
Medium
libx11 (Ubuntu)
Wishlist
Gunnar Hjalmarsson
xkeyboard-config (Ubuntu)
Wishlist
Gunnar Hjalmarsson

Bug Description

Hi
My name is Rodrigo with my team we develop the Togo-Africa Keyboard Layout in the Linux Distribution.
We want to include this keyboard in the Ubuntu distribution.

I've uploaded a keyboard to XKB:
https://cgit.freedesktop.org/xkeyboard-config/commit/?id=53452c901fcab08a43705c9aa79a5ec5642cca08

https://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=3129c757f9da8586ab8b8654a56c8f687cc9ef5c

Here is the Keyboard
##############################################################

diff --git a/rules/base.xml.in b/rules/base.xml.in
index f495c8d..5e91717 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -5680,6 +5680,16 @@
     </layout>
     <layout>
       <configItem>
+ <name>tg</name>
+ <_shortDescription>fr-tg</_shortDescription>
+ <_description>French (Togo)</_description>
+ <languageList>
+ <iso639Id>fra</iso639Id>
+ </languageList>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
         <name>ke</name>
         <!-- Keyboard indicator for Swahili layouts -->
         <_shortDescription>sw</_shortDescription>
diff --git a/symbols/Makefile.am b/symbols/Makefile.am
index 77ec0ff..3226d41 100644
--- a/symbols/Makefile.am
+++ b/symbols/Makefile.am
@@ -29,7 +29,7 @@ pc ph pk pl pt \
 ro rs ru \
 se si sk sn \
 sy th \
-terminate \
+terminate tg \
 tj tm tr tw tz \
 ua us uz vn \
 za \
diff --git a/symbols/tg b/symbols/tg
new file mode 100644
index 0000000..f7b2cb3
--- /dev/null
+++ b/symbols/tg
@@ -0,0 +1,68 @@
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "fr(azerty)"
+
+ name[Group1]="French (Togo)";
+
+// French AZERTY-Keyboard layout including symbols for Togolese local languages
+// Created 2015 by Globalbility Togo (www.globalbility.org)
+// Authors: Issaka Ouro-Wétchiré, Caroline Riefstahl, Mats Blakstad <mats @ globalbility.org>
+//
+// LAYOUT OVERVIEW
+// ____
+// | 1 3| 1 = Shift, 3 = AltGr + Shift (AltGr is the right side alt key)
+// | 2 4| 2 = normal, 4 = AltGr
+// ¯¯¯¯
+// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
+// | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ° | + | <-- |
+// | ² | & | é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+// ========================================================================
+// | |<- | A | Z Ʒ| E Ɛ| R Ɗ| T | Y Ƴ| U Ʊ| I Ɩ| O Ɔ| P | ¨ | $ €| , |
+// | ->| | a | z ʒ| e ɛ| r ɗ| t | y ƴ| u ʊ| i ɩ| o ɔ| p | ^ ̌| £ ¤| <-' |
+// ===================================================================¬ |
+// | | Q Ǝ| S | D Ɖ| F Ƒ| G Ɣ| H Ĥ | J | K | L | M Ŋ| % | µ | |
+// | MAJ | q ǝ| s | d ɖ| f ƒ| g ɣ| h ɦ| j | k | l | m ɲ| ù `| * ́| |
+// ========================================================================
+// | ^ | > | W | X | C | V Ʋ| B Ɓ| N Ŋ| ? | . | / | § | | |
+// | | | < | w | x | c | v ʋ| b ɓ| n ŋ| , ~| ; ¯| : | ! | | |
+// ========================================================================
+// | | | | | | | | |
+// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl |
+// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+// Togolese local languages use 8 tones markers.
+// Acute ( ´ ), Grave ( ` ), Circumflex ( ˆ ), Caron ( ˇ ), Macron ( ¯ ), Tilde ( ~ ), Tilde + Acute ( ̃́ ), Tilde + Grave ( ̃̀ )
+// All vowels can have tones except "y" (which is not vowel in Togolese local languages)
+// Nasal consonants ("m" and "n") can have have high tones.
+
+ // Modifications of the basic French Azerty layout, adding symbols for Togolese local languages
+
+ // Second row
+ key <AD02> { [ z, Z, ezh, EZH ] }; // U0292 = ʒ (small), U01B7 = Ʒ (capital)
+ override key <AD03> { [ e, E, U025B, U0190 ] }; // Replqce Eurosign with U025B = ɛ (small), U0190 = Ɛ (capital)
+ key <AD04> { [ r, R, U0257, U018A ] }; // U0257 = ɗ (small), U018A = Ɗ (capital)
+ key <AD06> { [ y, Y, U01B4, U01B3 ] }; // U01B4 = ƴ (small), U01B3 = Ƴ (capital)
+ key <AD07> { [ u, U, U028A, U01B1 ] }; // U028A = ʊ (small), U01B1 = Ʊ (capital)
+ key <AD08> { [ i, I, U0269, U0196 ] }; // U0269 = ɩ (small), U0196 = Ɩ (capital)
+ key <AD09> { [ o, O, U0254, U0186 ] }; // U0254 = ɔ (small), U0186 = Ɔ (capital)
+ key <AD11> { [ dead_circumflex,dead_diaeresis, dead_caron ] };
+ key <AD12> { [ dollar, sterling, currency, EuroSign] }; // EuroSign moved together with other currencies
+
+ // Third row
+ key <AC01> { [ q, Q, U01DD, U018E ] }; // U01DD = ǝ (small), U018E = Ǝ (capital)
+ key <AC03> { [ d, D, U0256, U0189 ] }; // U0256 = ɖ (small), U0189 = Ɖ (capital)
+ key <AC04> { [ f, F, U0192, U0191 ] }; // U0192 = ƒ (small), U0191 = Ƒ (capital)
+ key <AC05> { [ g, G, U0263, U0194 ] }; // U0263 = ɣ (small), U0194 = Ɣ (capital)
+ key <AC06> { [ h, H, U0266, U0124 ] }; // U0266 = ɦ (small), U0124 = Ĥ (capital)
+ key <AC10> { [ m, M, U0272, U019D ] }; // U0272 = ɲ (small), U019D = Ɲ (capital)
+ key <AC11> { [ ugrave, percent, dead_grave ] };
+ key <BKSL> { [ asterisk, mu, dead_acute ] };
+
+ // Fourth row
+ key <AB04> { [ v, V, U028B, U01B2 ] }; // U028B = ʋ (small), U01B2 = Ʋ (capital)
+ key <AB05> { [ b, B, U0253, U0181 ] }; // U0253 = ɓ (small), U0181 = Ɓ (capital)
+ key <AB06> { [ n, N, U014B, U014A ] }; // U014B = ŋ (small), U014A = Ŋ (capital)
+ key <AB07> { [ comma, question, dead_tilde ] }; // U007E = ~ (combining tilde)
+ key <AB08> { [ semicolon, period, dead_macron ] }; // U00AF = ¯ (combining macron)
+
+};

How can I help to get this feature apply as soon as possible?

Thanks in advance for help.

Tags:
Togo Keyboard Ubuntu Debian Distribution xkb-data layout Africa

description: updated
description: updated
description: updated
summary: - I want to include Togo Keyboard Layout in the Linux Distribution
+ Please merge xkeyboard-config 2.17-1 (main) from Debian unstable
Changed in xkeyboard-config (Ubuntu):
importance: Undecided → Wishlist
status: New → Triaged

I tried to patch the Ubuntu xkeyboard-config package to the XKB data 2.17:
https://cgit.freedesktop.org/xkeyboard-config/log/

The attachment "xkeyboard-config-2.17" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Daniel Holbach (dholbach) wrote :

The patch needs work. Basically what we'd need in the case of a merge of xkeyboard-config is the diff between the current Debian source package and what you want to be uploaded to yakkety. Once you're done with the merge it should be a matter of

 debdiff xkeyboard-config_2.17-1.dsc xkeyboard-config_2.17-1ubuntu1.dsc

Changed in xkeyboard-config (Ubuntu):
status: Triaged → Incomplete
Gunnar Hjalmarsson (gunnarhj) wrote :

Proposed uploads are available in this PPA:

https://launchpad.net/~gunnarhj/+archive/ubuntu/togo-kblayout

Changed in xkeyboard-config (Ubuntu):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
status: Incomplete → In Progress
Changed in libx11 (Ubuntu):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
importance: Undecided → Wishlist
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xkeyboard-config - 2.17-1ubuntu1

---------------
xkeyboard-config (2.17-1ubuntu1) yakkety; urgency=medium

  * Merge with Debian (LP: #1584314), remaining changes:
    - control, rules, xkb-data-i18n.install, xkb-data.install: Split out
      xkb-data-i18n to be used by console-setup.
    - xkb-data.postinst.in: Remove the xkb cache to make sure it gets
      regenerated.

xkeyboard-config (2.17-1) unstable; urgency=medium

  * New upstream release
  * Use https instead of git for Vcs-Git.

 -- Gunnar Hjalmarsson <email address hidden> Mon, 23 May 2016 20:04:00 +0200

Changed in xkeyboard-config (Ubuntu):
status: In Progress → Fix Released
Gunnar Hjalmarsson (gunnarhj) wrote :

The proposed changes in the PPA have been uploaded to yakkety (Ubuntu 16.10). Thanks Daniel!

There is a problem, though: The new Togo compose keys don't work by default, and the cause seems to be some kind of conflict with IBus. (IBus is available by default in Ubuntu.)

Changing the GTK_IM_MODULE environment variable to 'xim' fixes the problem. The easiest way to do that is to open System Settings -> Language Support, select 'none' as the "keyboard input method system", and relogin.

Even if there is an easy workaround, I can't help thinking that there shouldn't be such a conflict. If I understand it correctly, IBus has been changed to no longer interfere with X11 compose, and still it does. :(

Added an IBus task to this bug report, and changed the title again.

Changed in ibus (Ubuntu):
importance: Undecided → Medium
summary: - Please merge xkeyboard-config 2.17-1 (main) from Debian unstable
+ Togo keyboard layout / compose keys
Gunnar Hjalmarsson (gunnarhj) wrote :

@Alkis:

I took the liberty to subscribe you to this bug, since I have a feeling that the issue I mentioned in comment #6 might be similar to the one with typing Greek as you have reported previously. What do you think?

Alkis Georgopoulos (alkisg) wrote :

Hi Gunnar,

the issue was that in some cases, typing the Greek key for accent (tonos, the key is ";"), and then after releasing it, typing "α", resulted in two separate characters, i.e.
;+α=´α
instead of the correct
;+α=ά

At first I thought this was because of ibus, because I was seeing the issue only on setups where ibus was installed.
But later on I realized that something, maybe /usr/bin/gnome-language-selector, but possibly something else too, was creating a ~/.xinputrc file:
# im-config(8) generated on Wed, 25 May 2016 07:25:38 +0300
run_im xim
# im-config signature: 5f2367a738e8f9717ddbb719455f7930 -

So when that file was present, even when ibus was not installed, I was still having the tonos issue.
After running `rm ~/.xinputrc` and logging in again, the issue was gone.

Btw note that opening gnome-language-selector and selecting "None" creates that file and causes the issue again!!! So we try to never open gnome-language-selector.

That's all I know about the issue; I found out that Ubuntu Mate comes without ibus/fcitx installed, so we've switched to using that one, where the Xorg system-wide keyboard defaults are respected and remain unmodified after login and everything works flawlessly! :)

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libx11 - 2:1.6.3-1ubuntu3

---------------
libx11 (2:1.6.3-1ubuntu3) yakkety; urgency=medium

  [ Mats Blakstad ]
  * debian/patches/017_togo_compose_keys.diff:
    - Compose keys for local languages in Togo (LP: #1584314)

 -- Gunnar Hjalmarsson <email address hidden> Mon, 23 May 2016 18:55:00 +0200

Changed in libx11 (Ubuntu):
status: In Progress → Fix Released
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks, Alkis, then I understand better. Sounds like the Greek issue is quite the opposite to the Togo issue then...

I have also noticed that IBus doesn't come preinstalled on MATE. However, gnome-language-selector UI works the same there, i.e. if you *explicitly* select "none", the ~/.xinputrc file with "run_im xim" is created. Considering what we know now, it should be changed, and I'm going to modify gnome-language-selector, by adding an explicit "xim" option, and let "none" really mean "none".

I have also an idea now about the root cause of the Greek issue. Getting back to you later about that.

Daniel Holbach (dholbach) wrote :

Is there anything else left to be sponsored?

Gunnar Hjalmarsson (gunnarhj) wrote :

On 2016-06-01 11:25, Daniel Holbach wrote:
> Is there anything else left to be sponsored?

Nope, not at this time, at least, so please feel free to unsubscribe ubuntu-sponsors. Thanks for your sponsor help!

Changed in xkeyboard-config:
importance: Unknown → Medium
status: Unknown → Fix Released
Gunnar Hjalmarsson (gunnarhj) wrote :

Removing the ibus (ubuntu) task, since it does not deal with compose. It's either GTK or XIM.

no longer affects: ibus (Ubuntu)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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