keyboard: Handle symbolic OSK key codes as explicitly invalid
`key` is an empty string in this case, causing `charCodeAt(0)` to return `NaN`, which when passed to `Clutter.unicode_to_keysym` now generates an error in gjs >= 1.67.3: ``` JS ERROR: Error: Argument wc: value is out of range for uint32 ``` And the symbolic keys like Backspace, Enter and Caps Lock would have their presses ignored. Just skip the call to `charCodeAt` that will fail and allow `Clutter.unicode_to_keysym` to return its usual error flag. Fixes: https://bugs.launchpad.net/bugs/1918738 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1758>
This commit is contained in:
parent
c5b18ee66a
commit
1f0e4b58ab
@ -327,7 +327,7 @@ var Key = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getKeyval(key) {
|
_getKeyval(key) {
|
||||||
let unicode = key.charCodeAt(0);
|
let unicode = key.length ? key.charCodeAt(0) : undefined;
|
||||||
return Clutter.unicode_to_keysym(unicode);
|
return Clutter.unicode_to_keysym(unicode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user