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
@ -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…
Reference in New Issue
Block a user