diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index b534a7b02..4cb7f249d 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -57,11 +57,14 @@ var ScreenShield = class { }); Main.ctrlAltTabManager.addGroup(this._lockScreenGroup, _("Lock"), 'changes-prevent-symbolic'); - this._lockDialogGroup = new St.Widget({ x_expand: true, - y_expand: true, - reactive: true, - pivot_point: new Graphene.Point({ x: 0.5, y: 0.5 }), - name: 'lockDialogGroup' }); + this._lockDialogGroup = new St.Widget({ + x_expand: true, + y_expand: true, + reactive: true, + can_focus: true, + pivot_point: new Graphene.Point({ x: 0.5, y: 0.5 }), + name: 'lockDialogGroup', + }); this.actor.add_actor(this._lockScreenGroup); this.actor.add_actor(this._lockDialogGroup); @@ -173,7 +176,7 @@ var ScreenShield = class { // LoginDialog.cancel() will grab the key focus // on its own, so ensure it stays on lock screen // instead - this._lockScreenGroup.grab_key_focus(); + this._dialog.grab_key_focus(); } } @@ -434,7 +437,7 @@ var ScreenShield = class { this._lockScreenShown({ fadeToBlack, animateFade: false }); } - this._lockScreenGroup.grab_key_focus(); + this._dialog.grab_key_focus(); } _lockScreenShown(params) { diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js index 9b8cfd935..55dfa2cc4 100644 --- a/js/ui/unlockDialog.js +++ b/js/ui/unlockDialog.js @@ -418,6 +418,7 @@ var UnlockDialog = GObject.registerClass({ accessible_role: Atk.Role.WINDOW, style_class: 'login-dialog', visible: false, + can_focus: true, reactive: true, });