diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 40fae87c2..78773d931 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) { @@ -404,7 +410,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 f7b8897e8..64df5fe54 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -190,10 +190,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; },