From 63bae0cb77b01e762d80eb4a7af6ad47e68a1994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5var=20Aamb=C3=B8=20Fosstveit?= Date: Tue, 13 Nov 2018 16:07:31 +0100 Subject: [PATCH] Added support for keyboard shortcuts --- app/lib/RoomClient.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/lib/RoomClient.js b/app/lib/RoomClient.js index 9536e74..78e7504 100644 --- a/app/lib/RoomClient.js +++ b/app/lib/RoomClient.js @@ -115,6 +115,8 @@ export default class RoomClient this._screenSharingProducer = null; + this._startKeyListener(); + this._join({ displayName, device }); } @@ -137,6 +139,33 @@ export default class RoomClient this._dispatch(stateActions.setRoomState('closed')); } + _startKeyListener() + { + // Add keypress event listner on document + document.addEventListener('keypress', (event) => + { + const key = String.fromCharCode(event.keyCode); + + const source = event.target; + + const exclude = [ 'input', 'textarea' ]; + + if (exclude.indexOf(source.tagName.toLowerCase()) === -1) + { + logger.debug('keyPress() [key:"%s"]', key); + + switch (key) + { + case 'a': // Activate advanced mode + { + this._dispatch(stateActions.toggleAdvancedMode()); + this.notify('Toggled advanced mode.'); + } + } + } + }); + } + login() { const url = `/login?roomId=${this._room.roomId}&peerName=${this._peerName}`;