[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#257984: kdebase-bin: (KDE bug 84606) kxkb group switching using just the Right Win doesn't work (+ugly workaround HOWTO)

Package: kdebase-bin
Version: 4:3.2.2-1
Severity: normal
Tags: l10n, upstream

I'm posting this here as per the debian-kde FAQ, following my upstream
bug report, available at http://bugs.kde.org/show_bug.cgi?id=84606
I hope it's worthy for some other Debian user that wants a workaround
to this problem.

I am using several layouts on my computer, and manage the switching only
via the KDE layer - because I really like the sticky switching and the
flag it provides.

Because I am used to mapping the rwin key to cause the group toggle from
the way it is set up on the Linux console (where I switch using the
console-cyrillic Debian package), I wanted to set up the same thing over
in KDE.

In my XF86config, I *do not* do any fancy layout mgmt:
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc104"
        Option          "XkbLayout"     "us"

The natural way (using the path of the least resistance through the KDE
GUI) didn't work, but I nevertheless achieved the desired result using
an ugly hack.  Detailed description of both follows.

In layouts, select several layouts (> 1). (I tested with 2-5 different
layouts out of the set of US, US intl w/dead keys, Hebrew, Russian,
Spanish, French, Italian and German.) I also enabled the sticky
switching. These things are common to both the working and the
non-working solution.

Now the intuitive thing that doesn't work: on the xkb options tab,
select "enable xkb options", "reset old options", then, in the "group
switching" subtree, select "Right Win-key changes group".  Apply the
things, and try the Right Win-key. It doesn't work, but this is probably
just an instance of http://bugs.kde.org/show_bug.cgi?id=59442

So kill KDE and restart, and verify the options are there in the kxkb.
Right Windows key still doesn't do it. Ouch.

Now the ugly workaround comes.
Disable back the "group switching" subtree selection, and in the "Third
level choosers" subtree set the Right Win-key to choose the third level.
Now, apply the changes. Go to the keyboard shortcuts via your control
panel (`kcmshell keys' from the command line). There, in the Global
Shortcuts tab, add to the "Keyboard/Switch to next keyboard layout"
shortcut a custom shortcut - and press the rwin key recording it. You
should see ISO_Level3_Shift now as the alternative combination. Apply
the changes.

That's not all. Unfortunately, until you log out and log back in (maybe
it's possible to just restart smth inside KDE, but I didn't investigate
this), at least on my machine, with the default modifiers scheme,
pressing rwin raises the application menu.  When you log back in, you
finally get what you wanted - right win changes the group, you can
verify it with the flag icon in the tray, and it actually changes the
keyboard layout.

Without the level3 thing, this won't work because then rwin will just
stay a modifier key, and currently the shortcut recording doesn't allow
for modifiers-only shortcuts.

Overall, the internationalization UI is very counterintuitive right now.
It's a pity that there is no way to learn about the group switching
shortcut from within kxkb, and vice versa, about kxkb when configuring
the keyboard shortcuts.  Here, however, I am unable to provide
constructive critics because I'm pretty dumb in the UI design.

The bug is consistent, and doesn't depend on which language and primary
locale (I didn't try UTF-8-based locales, though) the local user uses.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.25-1-686
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R

Versions of packages kdebase-bin depends on:
ii  kdelibs4                  4:3.2.2-2      KDE core libraries
ii  libart-2.0-2              2.3.16-5       Library of functions for 2D graphi
ii  libc6                     2.3.2.ds1-13   GNU C Library: Shared libraries an
ii  libfam0c102               2.7.0-5        client library to control the FAM 
ii  libgcc1                   1:3.3.4-1      GCC support library
ii  libice6                   4.3.0.dfsg.1-4 Inter-Client Exchange library
ii  libpam-runtime            0.76-21        Runtime support for the PAM librar
ii  libpam0g                  0.76-21        Pluggable Authentication Modules l
ii  libpng12-0            PNG library - runtime
ii  libqt3c102-mt             3:3.2.3-2      Qt GUI Library (Threaded runtime v
ii  libsm6                    4.3.0.dfsg.1-4 X Window System Session Management
ii  libstdc++5                1:3.3.4-1      The GNU Standard C++ Library v3
ii  libx11-6                  4.3.0.dfsg.1-4 X Window System protocol client li
ii  libxext6                  4.3.0.dfsg.1-4 X Window System miscellaneous exte
ii  libxrender1               0.8.3-7        X Rendering Extension client libra
ii  libxtst6                  4.3.0.dfsg.1-4 X Window System event recording an
ii  xlibs                     4.3.0.dfsg.1-4 X Window System client libraries m
ii  zlib1g                    1:    compression library - runtime

-- no debconf information

Reply to: