Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 503458 - x11-base/xorg-server fail to set keyboard layout on combo-keyboards
Summary: x11-base/xorg-server fail to set keyboard layout on combo-keyboards
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2014-03-04 22:01 UTC by Matti Nykyri
Modified: 2017-01-26 06:40 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch xorg-server event to support combo-keyboards (xorg-server-combo-keyboard.patch,2.07 KB, patch)
2014-03-04 22:03 UTC, Matti Nykyri
Details | Diff
Ebuild for the patch (xorg-server-1.15.0-r1.ebuild,7.11 KB, text/plain)
2014-03-04 22:07 UTC, Matti Nykyri
Details
Ebuild for the patch (xorg-server-1.14.3-r3.ebuild,7.04 KB, text/plain)
2014-03-04 22:07 UTC, Matti Nykyri
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matti Nykyri 2014-03-04 22:01:24 UTC
x11-base/xorg-server fails to set keyboard layout of keyboard-touchpad-combos. The problem lies with the difference between kernel and xorg to interpret these devices. The bug surfaced with linux 3.2, possibly with kernel commit 534a7b8e1.
It changes the way Logitech Unifying devices are treated. Those are wireless Keyboards, Mouses and also Keyboard+Touchpad combo that share a common USB to radio dongle (a so called "Unifying Receiver").

Since that time wireless keyboards paired to a Logitech Unifying USB Receiver is attached to the "Virtual core pointer" and not to the "Virtual core keyboard" as shown in the description of bug #46008 (https://bugs.freedesktop.org/show_bug.cgi?id=46008). That's because the kernel HID driver now reports all kinds of relatives axes and buttons for those keyboards that may not physically exist. So this affects all Keyboard-touchpad-combos wich the kernel and configures
as a single "Virtual core pointer" event-device (as is with hid-logitech-dj).

See bug #49950 (https://bugs.freedesktop.org/show_bug.cgi?id=49950)

The problem is that Xorg sets the correct keyboard layout with its event system only at a time a key is pressed on the keyboard. When keyboard is seen as Virtual core pointer these events do not get generated. If another Virtual core keyboard is attached to the machine even a single key press is sufficient to set the correct layout which after the combo-keyboard will also use that layout.

People are struggling to set the correct layout in xorg.conf.d/10-evdev.conf not realizing they have found a true bug in xorg. (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/995715)

This is an upstream bug and should be fixed in xorg-server. In the mean time here is a patch from bug #49950 to fix the issue. Tested on 1.14.3 and 1.15.0 amd64 gentoo linux. And also ebuilds.
Comment 1 Matti Nykyri 2014-03-04 22:03:47 UTC
Created attachment 371746 [details, diff]
Patch xorg-server event to support combo-keyboards

Tested on x11-base/xorg-server-1.14.3 & 1.15.0

Changes xorg-servers event system to send events for slave-keyboards.
Comment 2 Matti Nykyri 2014-03-04 22:07:22 UTC
Created attachment 371748 [details]
Ebuild for the patch

x11-base/xorg-server-1.15.0
Comment 3 Matti Nykyri 2014-03-04 22:07:47 UTC
Created attachment 371750 [details]
Ebuild for the patch

x11-base/xorg-server-1.14.3
Comment 4 Matt Turner gentoo-dev 2017-01-26 06:40:19 UTC
The upstream bug result is

libinput: fixed
evdev: wontfix

Switch to libinput, it's the new default.