From e20cf11bf3d3c5d463eb20f566c46557ed6e065f Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Tue, 24 Jul 2018 16:21:33 -0400 Subject: #675 initial event keybindings --- www/js/EventModalCtrl.js | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'www/js') diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index 8ad4b81d..9e8c8a1a 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -86,6 +86,54 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro NVRDataModel.debug("Setting playback to " + $scope.streamMode); + if ($rootScope.platformOS == 'desktop') { + window.addEventListener('keydown', keyboardHandler, true); + + } + + // Keyboard handler for desktop versions + function keyboardHandler(evt) { + + var handled = false; + var keyCodes = { + + //events + LEFT: 37, + RIGHT: 39, + + ESC: 27, + FITFILL_F: 70 + + }; + + $timeout (function () { + var keyCode = evt.keyCode; + + console.log (keyCode + " PRESSED"); + + if (keyCode == keyCodes.ESC) { + + $scope.closeModal(); + + } + else if (keyCode == keyCodes.LEFT) { + + $scope.jumpToEvent($scope.prevId, -1); + } + else if (keyCode == keyCodes.RIGHT) { + $scope.jumpToEvent($scope.nextId, 1); + } + else if (keyCode == keyCodes.FITFILL_F) { + $scope.scaleImage(); + } + + handled = true; + return handled; + + }) + } + + //-------------------------------------------------------------------------------------- // Handles bandwidth change, if required @@ -128,6 +176,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }); broadcastHandles.push(as); + + //------------------------------------------------------- // tap to pause //------------------------------------------------------ @@ -1119,6 +1169,13 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro }; $scope.$on('modal.removed', function (e, m) { + + if ($rootScope.platformOS == 'desktop') { + NVRDataModel.debug ("Removing keyboard handler"); + window.removeEventListener('keydown', keyboardHandler, true); + + } + NVRDataModel.debug("Deregistering broadcast handles"); for (var i = 0; i < broadcastHandles.length; i++) { // broadcastHandles[i](); -- cgit v1.2.3