https://bugs.kde.org/show_bug.cgi?id=468181

David <solbez...@riseup.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |solbez...@riseup.net

--- Comment #10 from David <solbez...@riseup.net> ---
*TL;DR: If deadkeys don't work, it's probably because KDE/Qt is looking for a
UTF-8 encoding but X11 is assuming your encoding is a LatinN or other native
character set. See end for fix*

This is a general observation about non-funcitoning deadkeys, and may or may
not be applicable to this particular bug report.

I used to have this problem with deadkeys all the time. My system language is
Esperanto and I use the Canadian Multilingual (CSA) keyboard. Over the years, I
have found out that when deadkeys don't work, it is usually because of
mismatched language/locale/encoding assumptions between different layers of
software. (I am using Debian with KDE)

KDE/Qt language settings assume your system is UTF-8 and define environment
variables without encodings, for example `LANG=fr_CA` instead of
`LANG=fr_CA.UTF-8` or `LANG=fr_CA.iso8859-1`. Type `locale` in Konsole to
verify.

X11, which gets the keyboard before Qt does, has different behaviours as
defined in /usr/share/X11/locale/locale.dir and other places. For Esperanto,
this file needs to be edited and re-edited every time X11 is updated.

Debian, which defines what the system locale is to be before X11 ever starts,
also has different behaviours. Debian uses `/etc/default/locale` to define the
system's default locale, but often leaves the encoding up to assumption the
same way as KDE does. It defines which locales are to be supported via
`/usr/share/i18n/SUPPORTED`. According to this file languages specified without
encoding default to native encodings like Latin1 etc. 

The Fix: Don't EVER use KDE's language settings KCM. Or, maybe just use it once
to create a template `.config/plasma-localerc`. You should directly edit
$XDG_CONFIG_HOME/plasma-localerc to make sure that it specifies UTF-8. Make
sure that `/etc/default/locale` also does not leave encoding to assumption.
This won't have much effect on KDE, but it does affect keyboard behaviour on
your virtual terminals, so keep things consistent. Also, for old-school X11
applications like XTerm and Emacs, consistency demands that
`/usr/share/X11/locale/*` also be reviewed and possibly edited for consistency
with a UTF-8 only system.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to