FS#13188 - [xf86-input-keyboard] layout switching "broken" after packages update

Attached to Project: Arch Linux
Opened by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 14:27 GMT
Last edited by Jan de Groot (JGC) - Tuesday, 30 March 2010, 07:02 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Medium
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 34
Private No

Details

Description: Keyboard layout switching is "broken" and both major DEs cannot recognise that the layout has changed.
That means, that if someone has entered a specific key to change layout, the country flag in the notification area doesn't change. Both in KDE 4.2 and GNOME.

I tried to force keyboard layout in Xorg.conf, but that didn't help. Nor in
/etc/hal/fdi/policy/10-keymap.fdi


Additional info:
* package version(s)

My updates today are included in the .txt file I have attached.
Μy 10-keymap.fdi file is also included.

Steps to reproduce:

1)Fully update your system
2)Force switching options (with ctrl+alt, alt+shift, ctrl+shift etc) in your DE or Xorg.conf or HAL fdi.
3)Restart HAL and Xorg (or reboot)
4)Try to switch the layout with the keyboard shortcuts you defined for the switching. For example in KDE4, the flag won't change.
This task depends upon

Closed by  Jan de Groot (JGC)
Tuesday, 30 March 2010, 07:02 GMT
Reason for closing:  Fixed
Additional comments about closing:  2010-03-30: A task closure has been requested. Reason for request: It's been fixed, so no reason to be open.
Comment by Jan de Groot (JGC) - Tuesday, 10 February 2009, 14:42 GMT
Can you try to isolate this issue to xkeyboard-config or xf86-input-evdev?
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 17:09 GMT
You mean that I should try to do downgrade one of those or something else ? Good evening.
Comment by Jan de Groot (JGC) - Tuesday, 10 February 2009, 17:11 GMT
These two packages are the main causes of issues with keyboard settings. Please try downgrading one of them at a time.
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 17:30 GMT
Downgraded with ABS (I can't find the previous packages in my cache or a repository):

[flamelab@flamepc ~]$ pacman -Q | grep evdev && pacman -Q | grep xkeyboard
xf86-input-evdev 2.1.0-1
xkeyboard-config 1.4-2

The problem is still there :/ (the flag doesn't change) (KDE4. Can't check for GNOME now)
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 17:31 GMT
I never had that problem till today. I haven't installed anything else since the update.
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 17:34 GMT
Some screenshots ...
Comment by Dimosthenis Stogiannidis (dimstog) - Tuesday, 10 February 2009, 17:56 GMT
Encountered exactly the same problem after fully upgrading today.

I was using the "AutoAddDevices" "False" Option in my xorg.conf. I removed it and commented all "Input Device" for mouse and keyboard and fdi policy to try to circumvent the problem using the hotplugging feature, but to no avail.

Although I am able to switch layouts and the keyboard/mouse functions correctly, the flag on the "Keyboard Layout Switcher" will not recognize the change in KDE and the respective applet in Gnome will not either. In either DE the Switching Policy I set is ingored and "Global" is used.
Comment by Jan de Groot (JGC) - Tuesday, 10 February 2009, 17:56 GMT
This might have to do with the new version of libxi and its dependencies then.
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 18:02 GMT
You mean libx11 ?
Comment by kostas (cordoban) - Tuesday, 10 February 2009, 18:16 GMT
i have the same problem
pacman -Q | grep evdev && pacman -Q | grep xkeyboard
xf86-input-evdev 2.1.2-1
xkeyboard-config 1.5-1
Comment by Vojtěch Gondžala (vogo) - Tuesday, 10 February 2009, 19:38 GMT
problem is caused by (or one of) packages: inputproto-1.5.0-1 libxext-1.0.5-1 libxi-1.2.0-1 xextproto-7.0.5-1, after downgrade is all OK
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 20:03 GMT
Problem solved. I built all of these packages to their previous versions and everything is OK :p

If you have to build them, if you can't find the packages somewhere, build in this order:

libx11 (if you don't already have it installed, I have the latest one) --> inputproto --> xextproto --> libxext --> libxi to their previous versions.
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 20:04 GMT
And then freeze them in pacman.conf, with IgnorePkg.
Comment by Panos Filip (Flamelab) - Tuesday, 10 February 2009, 20:06 GMT
Ι'd like to request a patch, a rollback or something so that all the other users won't face this problem too.
Comment by (N/A) (wantilles) - Tuesday, 10 February 2009, 21:24 GMT
I encountered the exact same behavior with dimstog.
Comment by Jan de Groot (JGC) - Tuesday, 10 February 2009, 23:33 GMT
Can someone please isolate this problem to a single package instead of the whole libX* stack I updated yesterday?
Comment by Dimosthenis Stogiannidis (dimstog) - Wednesday, 11 February 2009, 09:10 GMT
I think the problem lies with libxi.

I am not sure the method I used to find it is correct, so here is what I did: I downgraded all five packages (inputproto libx11 libxext libxi xextproto) to previous version. I then started upgrading one by one in the following order, logging out and back in KDE after each upgrade and checking if switching layouts triggered the flag change and if the switching policy was correct:
1. inputproto
2. xexproto
3. libx11
4. libext
5. and finally, libxi.

Only after logging back in after upgrading libxi did I encounter the problem of the flag not responding to layout switch and the switching policy not working.
Comment by Jan de Groot (JGC) - Wednesday, 11 February 2009, 09:21 GMT
ok, thanks for isolating this bug to libxi. I'll check if this is some side-effect of having input properties in libxi while X hasn't, or if it's just a bug in libxi itself. Either we will see this package reverted to the previous version, or patched with a fix for this bug.
Comment by Borislav Borisov (bobolin) - Saturday, 14 February 2009, 23:13 GMT
Downgrading libxi package not work for me. I'm very disappointed. My native language is not english and for me is truly very important this bug to be fixed or may be just may try switch to other distro.
Comment by Artiom Molchanov (artiom) - Sunday, 15 February 2009, 20:34 GMT
Very important issue in my opinion and very annoying.
AutoAddDevices true - switching doesn't work at all
AutoAddDevices false - switching works, but gnome applet doesn't show it.
Comment by Alexey (Llama) - Monday, 16 February 2009, 19:24 GMT
Confirmed: downgrading libxi to 1.1.4 does the trick
Comment by Vitaliy Berdinskikh (skipper13) - Wednesday, 18 February 2009, 07:04 GMT
Downgrade libxi don't work for me.

After package's been downgraded I have:
* Don't work the 'per application' feature: when I switch between applications the keyboard layout switches to default value.
* Flag' isn't changed if I change the keyboard layout.

Comment by Panos Filip (Flamelab) - Wednesday, 18 February 2009, 17:54 GMT
@skipper13: I downgraded all of the packages above and then everything seems OK.
Comment by Artiom Molchanov (artiom) - Thursday, 19 February 2009, 14:23 GMT
Confirmed: downgrading libxi to 1.1.4 does the trick
Comment by adam (adamruss) - Thursday, 19 February 2009, 14:38 GMT
downgrading only libxi didnt do it for me, and it is not that important for me so i will downgrade ALL these packages, layout switching still works, just the applet wont change (and no layout switching in GDM)
Comment by Panos Filip (Flamelab) - Thursday, 19 February 2009, 20:50 GMT
@adam: Hmm, that's the main problem. The layout switching, after this upgrade, should also notify the DE to change the flag.
Comment by adam (adamruss) - Thursday, 19 February 2009, 21:37 GMT
layout switching always worked for me with alt+shift, also with libxi-1.2.0, it's configured on gnome and in xorg,conf. my problem is the gnome applet is not changing, and i cant know on which lang i am on.
Comment by Vitaliy Berdinskikh (skipper13) - Thursday, 19 February 2009, 21:42 GMT
May be it's D-Bus problem also. I have the trouble with "switch off" button when I shutdown my computer. If I press this button I log out, computer doesn't switch off.
Comment by Vitaliy Berdinskikh (skipper13) - Thursday, 19 February 2009, 22:48 GMT
I've configured the hal policy and have removed the keyboard applet - layout switch work.
Comment by Artyom (urandom) - Friday, 20 February 2009, 23:37 GMT
Same issue with freezed layout switcher in XFCE. For me all ok, after building and installing this packages: inputproto-1.4.4, xextproto-7.0.4, libxext-1.0.4, libxi-1.1.4.
Comment by eddie dunn (AbtZ) - Sunday, 22 February 2009, 22:37 GMT
Downgrading libxi solved the issue, but the keyboard switching applet in Gnome does not correctly display the current layout.
Comment by ajaxas (ajaxas) - Monday, 23 February 2009, 06:45 GMT
I confirm. After downgrading libxi to 1.1.4 and restarting my PC I got keyboard indicator in GNOME working properly.
With no evdev, hal etc. used - plain xorg.conf.
Comment by Panos Filip (Flamelab) - Saturday, 28 February 2009, 15:53 GMT
Still no patch or something for libxi ?
Sidux (so Debian Sid I suppose) has the same problem: http://sidux.com/Article491.html
Comment by Panos Filip (Flamelab) - Saturday, 28 February 2009, 20:45 GMT Comment by ajaxas (ajaxas) - Sunday, 01 March 2009, 04:35 GMT Comment by Jan de Groot (JGC) - Sunday, 01 March 2009, 05:55 GMT
That's because you're pointing to an older revision. 1.2.1 will be in testing btw, it should work fine with server-1.6.
Comment by Panos Filip (Flamelab) - Sunday, 01 March 2009, 09:58 GMT
I confirm. I have installed Xorg 1.6.0 (I made a package myself, with revised inputproto) and the latest libXi in xorg.freedesktop.org, and it is OK.

Xorg 1.6.0 PKGBUILD needs only minor changes in order to make it.
Comment by Alexey (Llama) - Sunday, 01 March 2009, 16:08 GMT
Upgrade to libxi-1.1.4-2 still breaks things, at least on i686. Had to fall back on libxi 1.1.4-1
Comment by (N/A) (wantilles) - Monday, 02 March 2009, 09:29 GMT
The same behavior here.
Comment by (N/A) (wantilles) - Monday, 02 March 2009, 09:47 GMT
However with the libxi-1.1.4 package built by Flamelab on February 10 (you can find his comment in here) everything works OK.

Maybe the problem does not lie in libxi - or only in libxi - per se, but it also has to do with which version of its dependencies libxi was built upon.

I think Flamelab had built the package with some older versions of other libraries.
Comment by Jan de Groot (JGC) - Monday, 02 March 2009, 09:48 GMT
I think the issue is related to the fact that inputproto was updated to 1.5 also. libXi built against this version of inputproto breaks with older servers it seems.
Comment by Papadopoulos, Mihail (scarecrow) - Tuesday, 03 March 2009, 14:26 GMT
Using libXi from /testing fixed this issue for me (I had this with XFCE 4.6 keyboard layouts).
Since then I've upgraded my whole xorg to 1.6.0 from /testing, but upgrading libXi alone was enough to fix it.
After upgrading I've got weird problems with slim though, but this is the subject of another ticket... :P
Comment by Alexey (Llama) - Monday, 16 March 2009, 12:33 GMT
Upgrade to libxi 1.2.1-1 still breaks things...
Comment by Sergej Pupykin (sergej) - Tuesday, 24 March 2009, 11:03 GMT
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "geniuscomfy2"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XKbOptions" "altwin:super_win,altwin:meta_alt,grp:menu_toggle,grp_led:scroll,ctrl:swapcaps,compose:ralt"
EndSection

works fine for me (I use ion3+xkbion.lua and kde4+xxkb).
Hal stuff and auto add/enable devices disabled in xorg.conf.
Comment by Panos Filip (Flamelab) - Tuesday, 24 March 2009, 11:18 GMT
Xorg 1.6 or 1.5 ??

Because with 1.6, everything is OK.

After Xorg 1.6 is moved to [extra], this bug report shall be closed :)
Comment by Sergej Pupykin (sergej) - Tuesday, 24 March 2009, 11:32 GMT
$ pacman -Q xorg-server
xorg-server 1.5.3-4

I do not use testing
Comment by Alexey (Llama) - Saturday, 28 March 2009, 09:47 GMT
Maybe it's time they moved Xorg 1.6 to [extra], then? gtk2 requires libxi upgrade, so the upgrade process gets virtually blocked.
Comment by Jan de Groot (JGC) - Sunday, 05 April 2009, 13:32 GMT
Is this fixed with xorg-server 1.5.3-5 from extra?
Comment by (N/A) (wantilles) - Sunday, 05 April 2009, 13:37 GMT
This bug reappeared today, with today's updates.

I was running xorg 1.6.0 from testing.

Even after opening again testing for a brief moment just to get the newer testing xorg, the bug still persists.
Comment by Alexey (Llama) - Sunday, 05 April 2009, 14:08 GMT
Some packages have a way of sneaking back from extra, unless you declare them IgnorePkg in /etc/pacman.conf
Look here: http://bbs.archlinux.org/viewtopic.php?id=68772
Comment by (N/A) (wantilles) - Sunday, 05 April 2009, 14:58 GMT
It appears you are right.

False alarm.

You have to be extra careful to answer "No" to pacman, for all the packages in extra or core, that also exist in testing.
Comment by (N/A) (wantilles) - Sunday, 05 April 2009, 18:05 GMT
Actually it is not a false alarm.

It comes and goes.

@ JGC

And no it is not fixed with xorg-server 1.5.3-5 from extra.

It persists.
Comment by CT (ctHx) - Monday, 06 April 2009, 23:25 GMT
xorg-server 1.5.3-5
layouts works now properly(kde, x86_64)
Comment by Borislav Borisov (bobolin) - Tuesday, 07 April 2009, 06:54 GMT
I comfirm - with xorg-server 1.5.3-5 layouts works proper for me already (Gnome 2.26)
Comment by Artiom Molchanov (artiom) - Tuesday, 07 April 2009, 07:01 GMT
Works for me also after the last update (Gnome 2.26, i686)
Comment by Vadim Tses'ko (incubos) - Tuesday, 08 September 2009, 22:36 GMT
The problem seems to reappear. I am using x86_64 latest packages.

Keyboard layout switching works in console, in gdm, but DOES NOT work in X11 session (I'm using wmii) after whole system update a week ago.

What additional info is needed?
Comment by Vadim Tses'ko (incubos) - Wednesday, 09 September 2009, 09:10 GMT
The problem may be connected with gdm. Without gdm (when I start X using startx) keyboard layout switching works. Apart from that it works in gdm (I can switch to russian layout and enter login in russian), but after login it doesn't work in X.
Comment by (N/A) (wantilles) - Wednesday, 09 September 2009, 15:25 GMT
I have been having this same problems for months, although I had been repeatedly dismissed and ignored in this bug discussion.

One to fix the behavior after login (I have autologin) is to change something - anything - in the Gnome Control Panel regarding the keyboard.

So I made this a script and I have to run it each time after the desktop (after autologin) appears.

#!/bin/bash

gconftool-2 --set -t bool /desktop/gnome/accessibility/keyboard/enable true
gconftool-2 --set -t bool /desktop/gnome/accessibility/keyboard/enable false

As you can see it really does nothing as it issues a change and then reverts it.

Just enough for the Gnome keyboard indicator to start working again.
Comment by Vadim Tses'ko (incubos) - Wednesday, 09 September 2009, 16:07 GMT
wantilles, thank you for your answer! I'll check your workaround later. The fun is that I don't use gnome, I use wmii. :)
Comment by (N/A) (wantilles) - Wednesday, 09 September 2009, 17:49 GMT
Note the following:

Layout switching does work from the start.

Only the indicator does not show it.
Comment by Panos Filip (Flamelab) - Thursday, 10 September 2009, 12:50 GMT
I have passed the keyboard layout to HAL (evdev) using the fdi file, and I'm no longer dependant on Xorg's behaviour.
Comment by (N/A) (wantilles) - Thursday, 10 September 2009, 14:19 GMT
There is no way to be sure whether it's Xorg's or Gnome's fault.

Nevertheless, I need the Gnome Keyboard Layout Indicator to be fully functional and aware of the keyboard's active layout at all times.

How do I accomplish this?
Comment by Vadim Tses'ko (incubos) - Thursday, 10 September 2009, 16:25 GMT
I also use fdi keyboard layout configuration, but the problem remains. And it used to work a few weeks ago!
Comment by Roman Kyrylych (Romashka) - Wednesday, 16 September 2009, 08:12 GMT
I have no problems with keyboard layout changing in Gnome.
I do not have any keyboard configuration in xorg.conf and have not modified the .fdi file.
Just choosing keyboard layout via Gnome settings works fine.
And it works with gdm.
Ctrl+Shift is used for layout changing.
Two layouts are configured: English (default) and Ukrainian (extended version).

Anyway new Xorg and Gnome are going to be released soon, so let's hope that there won't be bugs with any configuration.
Comment by (N/A) (wantilles) - Tuesday, 22 September 2009, 17:41 GMT
Then could you post here please your keyboard section from xorg.conf?
Comment by Leonid Isaev (lisaev) - Friday, 08 January 2010, 03:21 GMT
Happy New Year everyone.

What is the status of this bug?
I have just made my US-RU layout switch working through HAL... please see the attached fdi and xorg.conf files.
Note: after changing the fdi file both HAL and X should be restarted.
Comment by Leonid Isaev (lisaev) - Friday, 08 January 2010, 03:22 GMT
Sorry, here are the files
Comment by Vadim Tses'ko (incubos) - Friday, 08 January 2010, 13:59 GMT
I have working US-RU layout switching under slim & wmii.
Comment by Leonid Isaev (lisaev) - Friday, 08 January 2010, 15:07 GMT
Oh, I forgot to mention, I use the last HAL and X, and XFCE

Loading...