REGRESSION: can't type characters with accent (dead keys)

Bug #961741 reported by Simos Xenitellis  on 2012-03-21
46
This bug affects 10 people
Affects Status Importance Assigned to Milestone
Nux
Fix Released
Undecided
Marco Trevisan (Treviño)
Unity
Fix Released
Medium
Marco Trevisan (Treviño)
nux (Ubuntu)
Undecided
Unassigned
unity (Ubuntu)
Medium
Marco Trevisan (Treviño)

Bug Description

Affects Unity 5.6.0. Also affects 5.8.0-0ubuntu2.

Characters that are produced using dead keys cannot be typed well on neither Dash, nor Lenses. Specifically, if you hit twice a dead key, then Dash/Lens get "desyncronised" and do not accept any more dead keys (they print the accent at once when you press the dead key).

Such characters exist for Latin scripts (like á, à, é, í, ó, ú, ã, õ, ñ, ü), Greek (ά έ ή ί ό ύ ώ ΐ ) and Cyrillic.

How to reproduce:

1. With a keyboard layout that can produce characters with dead keys, open Dash
For example, the US (US International with dead keys) keyboard layout.
2. Type á (' + a = á)

What happens:

When you open the Dash/Lens and you press a dead key combination, it works.
If you press twice the dead key (by accident), then you cannot enter anymore characters composed from dead keys. You need to press Esc and bring back again Dash/Lens for it to work.

Additionally, if your keyboard layout requires "AltGr + somekey" for your dead key, (probably) the existence of AltGr messes up Dash/Lens and you cannot enter dead keys at all. That is the case for Greek where we cannot type deadkeys at all.

What should happen:

The accent should not be drawn when you press the dead key. It should wait the next letter (e.g. press 'AltGr + ;' and press 'a' should give 'á')

Related branches

description: updated
Omer Akram (om26er) wrote :

Is that still an issue with latest unity i.e. 5.8 ? Are you able to reproduce this bug on a fully upto date precise machine?

Changed in unity:
status: New → Incomplete
summary: - REGRESSION: can't type characters with accent (dead keys)
+ REGRESSION: can't type Greek characters with accent (dead keys)
summary: - REGRESSION: can't type Greek characters with accent (dead keys)
+ REGRESSION: can't type characters with accent (dead keys)
description: updated
Simos Xenitellis  (simosx) wrote :

I did some more testing.

1. I tested with Unity 5.8 (latest updates applied and rebooted)
2. I updated the summary of the report to reflect the new information.
3. The source of the bug appears to be the bad control of the keyboard state.
Specifically,

a. If the dead key is on a single key (instead of having to press AltGr + key to get the dead key),
then it works. You can type áááá just find. Such is the case with US International with dead keys, with the dead key is on '.
However...

b. If you press by accident the dead key twice, then you can no longer type dead keys. You need to press Esc to get the input go away, then bring back up Dash or Lens. You get something like ááá´´a´a´a
That is, when you press the dead key twice, Unity did not expect it and does not obey dead keys anymore. There must be some flag set, that makes Dash/Lens to think that the dead key is already active, so no new dead key can get through.

c. If your keyboard layout requires to press AltGr + somekey in order to get the dead key (such as GB layout, or GR layout), then the fact that you press the two keys in order to get a deadkey, makes Dash/Lens to exhibit the bug straight away. So you get 'α'α'α'α.

Changed in unity:
status: Incomplete → New

Confirmed with unity 5.10.0-0ubuntu6.

Changed in unity:
status: New → Confirmed
Changed in unity (Ubuntu):
status: New → Confirmed
Giorgos Kylafas (gekylafas) wrote :

I do not see this bug with latest unity-2d 5.12.0-0ubuntu1. All accented characters are entered correctly in the Dash, even if the accent key is pressed twice by accident.
However, I see a similar problem with the unity-2d HUD. Should I file a new bug report?

Simos Xenitellis  (simosx) wrote :

@Giorgos Kylafas:

1. Can you also check with Unity (that's the 3D accelerated version)?
2. Can you verify that you checked with Greek (for example, type ά and ᾅ).
As described above, some cases work OK (for example, Spanish, French) while other scripts do not work.

ykanello (ykanello) wrote :

I would like to elaborate also on the bug.
I have found the bug in earlier versions but up 2 date in updates.
It is not only limited in unity but all the gtk environments. I have tried, gnome3, lxde also (actually I don't use unity but its there also the bug) didn't work to add accents on vowels.
As I mentioned, the bug now exists also on Ubuntu 10.04.4 LTS with libgtk2.0-0:2.20.1-0ubuntu2.1
language-pack-el-base 1:10.04+20110931 translations for language Greek, Modern (1453-)
language-pack-gnome-el 1:10.04+20110931 GNOME translation updates for language Greek, Modern (1453-)
language-pack-gnome-el-base 1:10.04+20110931

Meanwhile, I did a full apt-get install kubuntu-desktop and tried the same tests in KDE, and that worked fine and I was able to type all accents I tried. That's why I am convinced that this is a gtk problem.

Thanks.
Y

Simos Xenitellis  (simosx) wrote :

@ykanello: Qt applications tend to have this same issue of not being able to accept accents through dead keys. In Kubuntu and other Qt-based apps, some change happens in the system and users are no longer able to type accents with dead keys. The best workaround we have is to ask users to re-install.

If Unity, at least the 3D accelerated version, is based on gtk+ (not based on Qt), then it should be able to work just fine with accents.

Simos Xenitellis  (simosx) wrote :

@ykanello: To add to the above, gtk+ with the (default) GTK+ Input Method works fine. What I suspect as the source of the problem that you exhibit, is some configuration mix-up with iBus, which shouldn't be enabled for Greek.

For the issue that you describe with gtk+ apps, please write at the Ubuntu-gr (Greek) forum at http://forum.ubuntu-gr.org/ so that we can resolve there.

ykanello (ykanello) wrote :

Until few mins ago I was about to reply that in all unity/gnome accents don't show up over the letters. I have even made logs from evbug kernel mod. As I was doing the last apt updates, noticed I was missing few packages from the virtual 'ubuntu-desktop' package. So I installed it. I used lxdm and gdm in all desktops I have installed (fvwm/gnome3/unity/lxde) and the accents do work: (ά ό ί ) !! :)

on some text files i wrote while I had the problem, and opened them again, I noticed that it was not the LANG that i used to type though. I mean the encoding came out wrong.

From what I have gathered so far, imo , this is not a unity bug, but maybe a default package conf bug. But I cannot confirm it.

So to recap,
once i did the up2date apt-get install ubuntu-desktop, my problem was solved. running 12.04 with latest as i mentioned few times :)

Thanks for the support :)

Pander (pander) wrote :

GNOME used to have a set of extra compose key sequences. These caused some conflicts with the ones defined in X.org. GNOME also has some software rules to handle compose key sequences. However with the latest version of GNOME 3 in Ubuntu seem to result in wrong characters, e.g. <c> and <single quote opening or acute> result in "c cedilla" instead of "c acute" even compared to GNOME 2.

All additional sequences collected by GNOME over the past years have recently been merged upstream with X.org. From now one, please use only the compose key sequences as defined in:
  http://cgit.freedesktop.org/xorg/lib/libX11/log/nls/en_US.UTF-8/Compose.pre
it is the most extensive set of compose key sequences to date. Ignore the GNOME look aside definitions, see bug reports in GNOME and X.org for more background information.

Simos Xenitellis  (simosx) wrote :

I tested again and
1. Unity: still has the problem and cannot type dead keys in Dash/HUD input box
2. Unity 2D: is OK.

Therefore, if it works for you, specify whether it's Unity or Unity 2D.

@Pander: Indeed GNOME (gtk+-based apps) use by default a slightly different set of dead keys from the dead keys you get from the X.Org dead keys. I was involved in this as a developer, and it's due to some legacy compose sequences that gtk+ used to have, and are still kept. However, the vast majority of compose sequences are the same.
If you test with acute + a = á, it's valid in both gtk+ and X.Org, therefore it can be used for general testing.

@ykanello: As long as the encoding is *.UTF-8, then it should be fine.
If you get the 'C' encoding, or some 8-bit encoding (iso-8859-1), then it's a problem. And you should write the steps to reproduce so that we can try them as well.

Omer Akram (om26er) on 2012-06-10
Changed in unity:
assignee: nobody → Brandon Schaefer (brandontschaefer)
importance: Undecided → Medium
Changed in unity (Ubuntu):
importance: Undecided → Medium
Changed in unity:
assignee: Brandon Schaefer (brandontschaefer) → Marco Trevisan (Treviño) (3v1n0)
status: Confirmed → In Progress
Changed in unity (Ubuntu):
status: Confirmed → In Progress
Changed in nux:
status: New → In Progress
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in nux:
status: In Progress → Fix Committed
Changed in unity:
status: In Progress → Fix Committed
Changed in unity (Ubuntu):
status: In Progress → Fix Committed
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)

pander:

Thanks for the tip, thanks to that I've generated a better sequencies file that should improve the unity text entries...
See: lp:~3v1n0/nux/text-entry-improved-sequencies

Omer Akram (om26er) on 2012-08-03
Changed in unity (Ubuntu):
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
Changed in nux:
status: Fix Committed → Fix Released
Changed in unity:
milestone: none → 6.2
Changed in nux:
milestone: none → 3.2
Changed in unity:
milestone: 6.2 → none
Changed in nux:
status: Fix Released → Fix Committed
Changed in unity:
milestone: none → 6.2
Didier Roche (didrocks) on 2012-08-10
Changed in nux:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nux - 3.2.0-0ubuntu1

---------------
nux (3.2.0-0ubuntu1) quantal-proposed; urgency=low

  [ Łukasz 'sil2100' Zemczak ]
  * New upstream release.
    - REGRESSION: can't type characters with accent (dead keys) (LP: #961741)
    - still some accent issues with unity/nux (LP: #950740)
    - nux source bundles tinyxml (LP: #789303)
    - Support for automation (LP: #685199)
    - add alpha function on a NuxBaseWindow (LP: #718827)
    - Timestamp field on the event structure is always 0 (LP: #735645)

  [ Adam Conrad ]
  * Removed debian/patches/02_libgeis_rename.patch

  [ Didier Roche ]
  * debian/control:
    - build-dep on a recent geis
 -- Lukasz 'sil2100' Zemczak <email address hidden> Fri, 10 Aug 2012 11:47:53 +0200

Changed in nux (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers