diff --git a/js/ui/altTab.js b/js/ui/altTab.js index e318375a2..ed9572a4b 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -167,6 +167,8 @@ const AppSwitcherPopup = new Lang.Class({ this._select(this._selectedIndex, this._nextWindow()); else if (keysym == Clutter.Up) this._select(this._selectedIndex, null, true); + else + return Clutter.EVENT_PROPAGATE; } else { if (keysym == Clutter.Left) this._select(this._previous()); @@ -174,7 +176,11 @@ const AppSwitcherPopup = new Lang.Class({ this._select(this._next()); else if (keysym == Clutter.Down) this._select(this._selectedIndex, 0); + else + return Clutter.EVENT_PROPAGATE; } + + return Clutter.EVENT_STOP; }, _scrollHandler: function(direction) { @@ -403,7 +409,11 @@ const WindowSwitcherPopup = new Lang.Class({ this._select(this._previous()); else if (keysym == Clutter.Right) this._select(this._next()); + else + return Clutter.EVENT_PROPAGATE; } + + return Clutter.EVENT_STOP; }, _finish: function() { diff --git a/js/ui/ctrlAltTab.js b/js/ui/ctrlAltTab.js index e52290905..199119707 100644 --- a/js/ui/ctrlAltTab.js +++ b/js/ui/ctrlAltTab.js @@ -165,6 +165,10 @@ const CtrlAltTabPopup = new Lang.Class({ this._select(this._previous()); else if (keysym == Clutter.Right) this._select(this._next()); + else + return Clutter.EVENT_PROPAGATE; + + return Clutter.EVENT_STOP; }, _finish : function(time) { diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index 8d6242da2..0df05027c 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -292,6 +292,10 @@ const InputSourcePopup = new Lang.Class({ this._select(this._previous()); else if (keysym == Clutter.Right) this._select(this._next()); + else + return Clutter.EVENT_PROPAGATE; + + return Clutter.EVENT_STOP; }, _finish : function() { diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index 176bc6aba..2f8eb18d2 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -189,10 +189,11 @@ const SwitcherPopup = new Lang.Class({ this._disableHover(); + if (this._keyPressHandler(keysym, backwards, action) != Clutter.EVENT_PROPAGATE) + return Clutter.EVENT_STOP; + if (keysym == Clutter.Escape) this.destroy(); - else - this._keyPressHandler(keysym, backwards, action); return Clutter.EVENT_STOP; },