REGRESSION: can't type characters with accent (dead keys)
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Nux |
Fix Released
|
Undecided
|
Marco Trevisan (Treviño) | ||
| Unity |
Fix Released
|
Medium
|
Marco Trevisan (Treviño) | ||
| nux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
| unity (Ubuntu) |
Fix Released
|
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
- Andrea Azzarone (community): Approve
-
Diff: 458 lines (+144/-63) 2 files modifiedapiNux/TextEntry.cpp (+37/-4)
tests/gtest-nux-textentry.cpp (+107/-59)
- Brandon Schaefer (community): Approve
-
Diff: 275 lines (+144/-32) 3 files modifiedapiNux/TextEntry.cpp (+35/-31)
Nux/TextEntry.h (+1/-1)
tests/gtest-nux-textentry.cpp (+108/-0)
- Brandon Schaefer (community): Approve
-
Diff: 1945 lines (+1462/-363) 4 files modifiedapiNux/TextEntry.cpp (+4/-4)
Nux/TextEntryComposeSeqs.h (+1224/-354)
tests/gtest-nux-textentry.cpp (+65/-5)
tools/compose_key_list_generator.py (+169/-0)
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?
+ REGRESSION: can't type Greek characters with accent (dead keys)
+ REGRESSION: can't type characters with accent (dead keys)
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 'α'α'α'α.
Confirmed with unity 5.10.0-0ubuntu6.
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?
@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.
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.
language-
language-
language-
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
@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.
@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://
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/
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 :)
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://
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.
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.
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
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/
[ Didier Roche ]
* debian/control:
- build-dep on a recent geis
-- Lukasz 'sil2100' Zemczak <email address hidden> 2012年8月10日 11:47:53 +0200