diff --git a/guacamole/src/main/frontend/src/app/client/directives/guacClient.js b/guacamole/src/main/frontend/src/app/client/directives/guacClient.js index fb88f99f5e..4ecd160dd8 100644 --- a/guacamole/src/main/frontend/src/app/client/directives/guacClient.js +++ b/guacamole/src/main/frontend/src/app/client/directives/guacClient.js @@ -54,6 +54,7 @@ angular.module('client').directive('guacClient', [function guacClient() { const ManagedClient = $injector.get('ManagedClient'); // Required services + const $rootScope = $injector.get('$rootScope'); const $window = $injector.get('$window'); /** @@ -220,6 +221,9 @@ angular.module('client').directive('guacClient', [function guacClient() { display.showCursor(!localCursor); client.sendMouseState(event.state, true); + // Broadcast the mouse event + $rootScope.$broadcast('guacClientMouseEvent', event); + }; /** @@ -248,6 +252,9 @@ angular.module('client').directive('guacClient', [function guacClient() { scrollToMouse(event.state); client.sendMouseState(event.state, true); + // Broadcast the mouse event + $rootScope.$broadcast('guacClientMouseEvent', event); + }; /** @@ -269,6 +276,9 @@ angular.module('client').directive('guacClient', [function guacClient() { display.showCursor(false); client.sendTouchState(event.state, true); + // Broadcast the touch event + $rootScope.$broadcast('guacClientTouchEvent', event); + }; // Attach any given managed client