mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-05 12:18:09 +02:00
mi: force the paired kbd device before CopyKeyClass. (#19574)
Some multi-media keyboards send the key events for multimedia keys through the device file used by the mouse. Sending a key event through the VCP however will fail. The VCP doesn't have a key class so the server crashes or (with an appropriate fix) the event is simply swallowed. Thus, for key events if the master does not have a key class, get the device paired with the master (i.e. the VCK) before processing the event any further. X.Org Bug 19574 <http://bugs.freedesktop.org/show_bug.cgi?id=19574> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
a9dd41de7e
commit
7fdaca6446
1 changed files with 4 additions and 0 deletions
|
|
@ -451,7 +451,11 @@ mieqProcessInputEvents(void)
|
|||
is transferred. */
|
||||
if (event->u.u.type == DeviceKeyPress ||
|
||||
event->u.u.type == DeviceKeyRelease)
|
||||
{
|
||||
if (!master->key)
|
||||
master = GetPairedDevice(master);
|
||||
CopyKeyClass(dev, master);
|
||||
}
|
||||
|
||||
CopyGetMasterEvent(master, dev, event, masterEvents, nevents);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue