summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2018-07-24 16:42:18 -0400
committerPliable Pixels <pliablepixels@gmail.com>2018-07-24 16:42:18 -0400
commit6bb63d25c49142db1d637624570ea2ac9a1918e2 (patch)
tree0a3ee2ec20c4d00acdc2c3d4c2e1305b94e179cd
parentc09dec1ac77704203d17a2ea00853c11648e4395 (diff)
#675 timeline keybindings
-rw-r--r--www/js/TimelineCtrl.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js
index d69cfd24..dec34504 100644
--- a/www/js/TimelineCtrl.js
+++ b/www/js/TimelineCtrl.js
@@ -277,6 +277,12 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
//-------------------------------------------------
$scope.$on('$ionicView.leave', function () {
+ if ($rootScope.platformOS == 'desktop') {
+ NVRDataModel.debug ("Removing keyboard handler");
+ window.removeEventListener('keydown', keyboardHandler, true);
+
+ }
+
NVRDataModel.debug("Timeline: Deregistering broadcast handles");
for (var i = 0; i < broadcastHandles.length; i++) {
// broadcastHandles[i]();
@@ -305,8 +311,75 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
timeline = '';
$scope.newEvents = '';
+ 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,
+ UP:38,
+ DOWN:40,
+
+ ESC: 27,
+
+ PREVDAY_A: 65,
+ NEXTDAY_D: 68,
+
+ };
+
+ $timeout (function () {
+ var keyCode = evt.keyCode;
+
+ console.log (keyCode + " PRESSED");
+
+ if (keyCode == keyCodes.UP) {
+
+ timeline.zoomIn(0.2);
+
+ }
+ else if (keyCode == keyCodes.DOWN) {
+
+ timeline.zoomIn(0.2);
+
+ }
+ else if (keyCode == keyCodes.LEFT) {
+
+ move (-0.2);
+ }
+ else if (keyCode == keyCodes.RIGHT) {
+ move (0.2);
+ }
+
+ else if (keyCode == keyCodes.ESC) {
+ timeline.fit();
+ }
+
+ else if (keyCode == keyCodes.PREVDAY_A) {
+ $scope.moveDays(-1);
+ }
+
+ else if (keyCode == keyCodes.NEXTDAY_D) {
+ $scope.moveDays(1);
+ }
+
+
+ handled = true;
+ return handled;
+
+ })
+ }
+
//-------------------------------------------
// Entire reason for existence:
// double tap doesn't reliably work