Bug 326303

Summary: Unable to type "^" on Qt-applications (keyboard layout: fi)
Product: [I don't know] kde Reporter: Niko Rentola <niko.rento>
Component: generalAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED DOWNSTREAM    
Severity: minor CC: cfeck, kde
Priority: NOR    
Version: 4.10.5   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Niko Rentola 2013-10-19 22:49:38 UTC
^-symbol cannot be entered normally on Qt-applications such as Krunner, Konsole etc.
I noticed this when I tried to create non-journaled ext4 filesystem using Konsole. I had to copy and paste "^" instead of typing it normally.

Bug affects all Qt-applications with keyboard layout set to "fi".
Does not affect GTK-applications. I can type "^" normally on Libreoffice, Chromium etc.

Reproducible: Always

Steps to Reproduce:
1. Finnish keyboard layout.
2. Qt-application.
3. Try to type "^".
Actual Results:  
Nothing.

Expected Results:  
^

Kubuntu 13.04 amd64
Comment 1 Kai Uwe Broulik 2013-10-22 21:02:15 UTC
Maybe it's configured as deadkey but I suppose you already tried pressing ^ and space afterwards?
Comment 2 Niko Rentola 2013-10-24 15:07:10 UTC
That worked, thanks!
How do I fix this so that I don't have to press space afterwards?

(In reply to comment #1)
> Maybe it's configured as deadkey but I suppose you already tried pressing ^
> and space afterwards?
Comment 3 Niko Rentola 2013-10-24 15:25:43 UTC
I changed keyboard layout from "classic" to "classic, eliminate dead keys" and now everything works as should.

Why is there "dead keys" and why are those enabled default?
Comment 4 Christoph Feck 2013-10-25 11:05:42 UTC
Dead keys are a way to combine several strokes to a new character. For example, to type a 'ñ' you can combine '~' and 'n' (here, '~' needs to be 'dead', waiting for the next key). For the '^' key, possible combined characters are 'â', 'ê' etc.

Which keys are dead is determined by the keyboard layout and usually depends on the region's preferences. With increasing internationalization, i.e. the need to type foreign letters, more layouts offer dead keys by default.
Comment 5 Christoph Feck 2013-10-25 11:06:59 UTC
What's interesting is that Qt applications respect this setting, while GTK+ applications do not. Which behavior is wrong I cannot decide, but you could report it to the bug tracker of the respective projects.
Comment 6 Niko Rentola 2013-10-25 17:24:14 UTC
Actually both GTK+ and Qt applications respect this setting. Problem was that on Qt applications '^' works differently than other dead keys. On GTK+ applications all dead keys work same way.

Qt:
"^" = ^, space
"~" = ~, ~
"¨" = ¨, ¨
GTK+
"X" = X, X

(In reply to comment #5)
> What's interesting is that Qt applications respect this setting, while GTK+
> applications do not. Which behavior is wrong I cannot decide, but you could
> report it to the bug tracker of the respective projects.