padOsd: Ensure to pick pad devices only
If the underlying X11 input driver creates multiple devices from a single device node, we may end up picking up the wrong device. So, instead of picking the first device based on node and bailing out if it's not a pad, pick the first pad that has that device node, and bail out if there is none. https://gitlab.gnome.org/GNOME/gnome-shell/issues/10 Closes: #10
This commit is contained in:
parent
6e74f987ec
commit
9ad7f59cdb
@ -977,12 +977,12 @@ var PadOsdService = new Lang.Class({
|
||||
let padDevice = null;
|
||||
|
||||
devices.forEach(Lang.bind(this, function(device) {
|
||||
if (deviceNode == device.get_device_node())
|
||||
if (deviceNode == device.get_device_node() &&
|
||||
padDevice.get_device_type() == Clutter.InputDeviceType.PAD_DEVICE)
|
||||
padDevice = device;
|
||||
}));
|
||||
|
||||
if (padDevice == null ||
|
||||
padDevice.get_device_type() != Clutter.InputDeviceType.PAD_DEVICE) {
|
||||
if (padDevice == null) {
|
||||
invocation.return_error_literal(Gio.IOErrorEnum,
|
||||
Gio.IOErrorEnum.CANCELLED,
|
||||
"Invalid params");
|
||||
|
Loading…
Reference in New Issue
Block a user