summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/js/EventModalCtrl.js57
1 files changed, 57 insertions, 0 deletions
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]();