diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 36d7f845e..34986f733 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -106,6 +106,7 @@ const PopupBaseMenuItem = new Lang.Class({ if (this._activatable) { this.actor.connect('button-release-event', Lang.bind(this, this._onButtonReleaseEvent)); + this.actor.connect('touch-event', Lang.bind(this, this._onTouchEvent)); this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent)); } if (params.reactive && params.hover) @@ -132,6 +133,14 @@ const PopupBaseMenuItem = new Lang.Class({ return Clutter.EVENT_STOP; }, + _onTouchEvent: function (actor, event) { + if (event.type() == Clutter.EventType.TOUCH_END) { + this.activate(event); + return Clutter.EVENT_STOP; + } + return Clutter.EVENT_PROPAGATE; + }, + _onKeyPressEvent: function (actor, event) { let symbol = event.get_key_symbol();