Bug 294949

Summary: KDE compose key doesn't work with Kwrite & Konsole
Product: [Applications] systemsettings Reporter: Philip Webb <purslow>
Component: kcm_standard_actionsAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED INTENTIONAL    
Severity: normal CC: dilfridge, johu, kde, kensington
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description Philip Webb 2012-02-27 19:49:16 UTC
Version:           unspecified (using KDE 4.8.0) 
OS:                Linux

KDE System Settings 4.8.0 has a menu for setting a compose key
& it has been set successfully in the file ~/.kde4/share/config/kxkbrc
with the generated line 'Options=compose:lctrl'.
However, this has no effect in Konsole & Kwrite: 'ctrl , c' should produce ç ,
but in fact simply leaves the characters ',c' ; I tried the other permutations
'ctrl c ,'  ', c ctrl'  'c , ctrl' without any success either.
The font was Luxi Mono, which has the character when used in Gvim.
I have set Vi-mode in Kwrite & Kate.

I tried the same setting in Mandriva 10 Spring (KDE 4.4.3) & it works there.
In my Gentoo box, I don't have all of KDE installed, only some apps I use
& the cause of the problem may be a missing package.  I tried Hotkeys,
but it made no difference.

I submitted a bug to Gentoo, believing that they may not have specified
a needed dependency, but they immediately told me to submit it upstream
& keep them informed.

Reproducible: Always

Steps to Reproduce:
1. Emerge Konsole, Kwrite (Kate) & Systemsettings 4.8.0
2. Set the compose key using Systemsettings
3. Enter an appropriate key pair in Konsole or Kwrite, eg 'ctrl , c'

Actual Results:  
The characters shown on the line are ', c'

Expected Results:  
The character should be 'ç' (c cedilla)

The KDE packages I have installed (my home-made list) are :

    120129 kde-base/analitza-4.8.0 [for kalgebra]
    090915 kde-base/automoc-0.9.88 [for kdelibs LO]
  W 120129 kde-base/dolphin-4.8.0-r1
  W 120129 kde-base/filelight-4.8.0
  W 120129 kde-base/gwenview-4.8.0
  W 120129 kde-base/kalgebra-4.8.0
  W 120129 kde-base/kalzium-4.8.0
  W 120129 kde-base/kapman-4.8.0
  W 120129 kde-base/katomic-4.8.0
  W 120129 kde-base/kate-4.8.0
    120129 kde-base/katepart-4.8.0 [for kdelibs]
  W 120129 kde-base/kcalc-4.8.0
  W 120129 kde-base/kcharselect-4.8.0
    120129 kde-base/kcmshell-4.8.0 [for kcm-gtk-config]
    120129 kde-base/kde-env-4.8.0 [for kdelibs]
    120129 kde-base/kdelibs-4.8.0 [ 17 min ]
    120129 kde-base/kdesu-4.8.0 [for kdelibs]
  W 120129 kde-base/keditbookmarks-4.8.0
    120129 kde-base/kfind-4.8.0 [for konqueror dolphin]
    120129 kde-base/kfmclient-4.8.0 [for konqueror]
    120129 kde-base/khelpcenter-4.8.0 [for kdelibs]
  W 120129 kde-base/kig-4.8.0
  W 120129 kde-base/kmahjongg-4.8.0
  W 120129 kde-base/kmplot-4.8.0
    120129 kde-base/knotify-4.8.0 [for kmplot]
  W 120129 kde-base/kolf-4.8.0
  W 120129 kde-base/kolourpaint-4.8.0
  W 120129 kde-base/konqueror-4.8.0
  W 120129 kde-base/konsole-4.8.0
  W 120129 kde-base/kruler-4.8.0
    120129 kde-base/ksaneplugin-4.8.0 [for kolourpaint]
  W 120129 kde-base/kshisen-4.8.0
  W 120129 kde-base/ksnapshot-4.8.0
  W 120129 kde-base/kstars-4.8.0 [USE]
  W 120129 kde-base/ksysguard-4.8.0
  W 120129 kde-base/kwordquiz-4.8.0
  W 120129 kde-base/kwrite-4.8.0
    120129 kde-base/libkdeedu-4.8.0 [for kalgebra kalzium]
    120129 kde-base/libkdegames-4.8.0 [for games]
    120129 kde-base/libkmahjongg-4.8.0 [for kmahjongg]
    120129 kde-base/libkonq-4.8.0 [for konqueror dolphin]
    120129 kde-base/libksane-4.8.0 [for ksaneplugin]
    120129 kde-base/libkworkspace-4.8.0 [for systemsettings]
  W 120129 kde-base/marble-4.8.0
  W 120129 kde-base/okular-4.8.0
    120129 kde-base/oxygen-icons-4.8.0 [for kdelibs]
    120129 kde-base/pykde4-4.8.0 [for marble]
    120129 kde-base/svgpart-4.8.0 [for konqueror]
  W 120129 kde-base/systemsettings-4.8.0
    120113 kde-misc/kcm-gtk-config-1.7 [for systemsettings]
  W 120129 kde-misc/krename-4.0.9 [~]
  W 110703 kde-misc/krusader-2.4.0_beta1 [~]
  W 120129 kde-misc/kwebkitpart-1.2.0
Comment 1 Philip Webb 2012-03-19 23:54:25 UTC
I have updated to 4.8.1 (all the packages listed below) & the problem remains.
Comment 2 Jekyll Wu 2012-03-31 11:46:25 UTC
Works for me when using KDE SC 4.8.1 on ArchLinux and Gentoo
Comment 3 Philip Webb 2012-04-01 00:56:00 UTC
(In reply to comment #2)
> Works for me when using KDE SC 4.8.1 on ArchLinux and Gentoo

Can you please list the KDE packages which you have installed in Gentoo, but which are absent from my list of installed passages in my first report ?  Also, what are your USE flags in Gentoo ?
I don't have all of KDE installed & don't believe that that should be necessary in order to get the compose-key to work.
Comment 4 Philip Webb 2012-04-02 06:14:35 UTC
(In reply to comment #3)
> (In reply to comment #2)
> Can you please list the KDE packages which you have installed in Gentoo, but
> which are absent from my list of installed passages in my first report ? 

Sorry!  That should be 'packages' in both places, not 'passages'.
Your brain sees what it expects to see, not what your eyes see ...
Comment 5 Philip Webb 2012-04-09 19:19:55 UTC
I have installed kdebase-meta-4.8.2 ( 70  pkgs).  There is no change in behaviour with Fluxbox :
the compose key doesn't work.  However, when I start the KDE desktop via 'startkde',
the compose key does work in Konsole & in Kwrite (Vim mode).  This suggests that some daemon or service needs to be running in order for the compose key to be activated & that the needed service is started by 'startkde', but not by Fluxbox, even with the KDE4 libs opened.  Can anyone suggest what the needed daemon or service might be & whether I can add it to ~/.xinitrc , which I use with 'startx' to start Fluxbox ?
Comment 6 Philip Webb 2012-04-10 21:09:56 UTC
Following my previous report, I started the KDE desktop & used 'htop' to list running processes.
The KDE processes were : kaccess# kuiserver# plasma-desktop knotify4# kactivitymanagerd# kded4 ksmserver kwin klauncher* dbus-daemon* dbus-launch*.  I then closed KDE & restarted Fluxbox & checked again with 'htop', which showed the last 3 (marked *) running.  From a terminal (Konsole), I tried successively starting the other processes in the list : those marked # started without incident, but the compose key still had no effect in Kwrite ;  kded4 said it was already running ; kwin said a window-manager was already running & did not start ; ksmserver & plasma-desktop started a KDE panel & disrupted Fluxbox, at which I dropped out of X & rebooted.

The conclusion seems to be that the compose key works only if the KDE desktop is running.
That looks like a serious bug, as KDE apps like Kwrite (Kate) & Konsole are supposed to work properly with other desktop environments or window managers, which is why it's now called "KDE-SC" = "KDE software collection".
Comment 7 David Edmundson 2015-02-07 14:14:26 UTC
> Can anyone suggest what the needed daemon or service

the keyboard module in kded, it's changing your layout and what your compose key is/does.

you can add 
$ qdbus org.kde.kded /kded org.kde.kded.loadModule keyboard

to your startup scripts

it will only load automatically if your session is KDE.

We can't make it run all the time, it changes the environment which we really shouldn't be doing on other desktops as it will cause massive conflicts with desktops that do things properly (i.e gnome).