// Globals
var angular = angular;
var nOrg = nOrg;
angular.module('nOrg', ['ui.bootstrap', 'ui.keypress'])

  .controller('NOrgCtrl', function NOrgCtrl($scope, $http, $log) {
    $scope.controlName = 'NOrgCtrl';

    $scope.keydown = {
      'tab': 'node.toggle($event)',
      72: 'node.toggleHeaders($event)', // h

      'down': 'node.cursorDown($event)',
      'up': 'node.cursorUp($event)',
      'right': 'node.cursorRight($event)',
      'left': 'node.cursorLeft($event)'
    };
    $scope.keydown_aliases = {
      74: 'down',               // j
      75: 'up',                 // k
      87: 'up',                 // w
      83: 'down',               // s
      65: 'left',               // a
      68: 'right'               // d
    };
    for (var alias in $scope.keydown_aliases) {
      $scope.keydown[alias] = $scope.keydown[$scope.keydown_aliases[alias]];
    }

    $http.get('app/nodes.json').success(function loadNode(node) {
      // Load the initial nodes JSON
      $scope.node = nOrg.newRoot(node);
    });
  })

  .directive('norgCursor', function norgCursor() {
    return function (scope, element, attrs) {
      attrs.$observe('norgCursor', function (newValue) {
        if (newValue === 'true') {
          element[0].focus();
        }
      });
    };
  });

//NOrgCtrl.$inject = ['$scope', '$http'];

@@ -275,10 +275,12 @@
     
+'
 72
+'
 : 'n
@@ -324,16 +324,22 @@
    'down
+ 74 83
 ': 'node
@@ -351,32 +351,40 @@
 orDown($event)',
+ // j, s
 %0A      'up': 'no
@@ -377,16 +377,22 @@
      'up
+ 75 87
 ': 'node
@@ -402,32 +402,44 @@
 rsorUp($event)',
+     // k, w
 %0A      'right': 
@@ -435,16 +435,19 @@
   'right
+ 68
 ': 'node
@@ -460,32 +460,38 @@
 rRight($event)',
+  // d
 %0A      'left': '
@@ -486,16 +486,19 @@
    'left
+ 65
 ': 'node
@@ -521,406 +521,24 @@
 nt)'
-%0A    %7D;%0A    $scope.keydown_aliases = %7B%0A      74: 'down',               // j%0A      75: 'up',                 // k%0A      87: 'up',                 // w%0A      83: 'down',               // s%0A      65: 'left',               // a%0A      68: 'right'               // d%0A    %7D;%0A    for (var alias in $scope.keydown_aliases) %7B%0A      $scope.keydown%5Balias%5D = $scope.keydown%5B$scope.keydown_aliases%5Balias%5D%5D;%0A    %7D
+,    // a%0A    %7D;
 %0A%0A  

Use angular-ui keypress handling for aliases