keyboard: Make items in language menu unfocusable
The menu grabs the key focus when opened, which takes focus away from whichever actor triggered the keyboard. And as the menu doesn't have any text entries, the keyboard is popped down as a result. Prevent this by making the menu items unfocusable, so the keyboard focus just stays where it is. Considering that the menu is part of the on-screen keyboard itself, not being keyboard-navigatable isn't a big deal here. https://gitlab.gnome.org/GNOME/gnome-shell/issues/171
This commit is contained in:
parent
24a26e025b
commit
7dd326f090
@ -189,16 +189,20 @@ var LanguageSelectionPopup = class extends PopupMenu.PopupMenu {
|
|||||||
let inputSourceManager = InputSourceManager.getInputSourceManager();
|
let inputSourceManager = InputSourceManager.getInputSourceManager();
|
||||||
let inputSources = inputSourceManager.inputSources;
|
let inputSources = inputSourceManager.inputSources;
|
||||||
|
|
||||||
|
let item;
|
||||||
for (let i in inputSources) {
|
for (let i in inputSources) {
|
||||||
let is = inputSources[i];
|
let is = inputSources[i];
|
||||||
|
|
||||||
this.addAction(is.displayName, () => {
|
item = this.addAction(is.displayName, () => {
|
||||||
inputSourceManager.activateInputSource(is, true);
|
inputSourceManager.activateInputSource(is, true);
|
||||||
});
|
});
|
||||||
|
item.actor.can_focus = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||||
this.addSettingsAction(_("Region & Language Settings"), 'gnome-region-panel.desktop');
|
item = this.addSettingsAction(_("Region & Language Settings"), 'gnome-region-panel.desktop');
|
||||||
|
item.actor.can_focus = false;
|
||||||
|
|
||||||
this._capturedEventId = 0;
|
this._capturedEventId = 0;
|
||||||
|
|
||||||
this._unmapId = actor.connect('notify::mapped', () => {
|
this._unmapId = actor.connect('notify::mapped', () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user