title: Angular does not get javascript onscreen keyboard input
body: <p>i'm working on a page that should have an input field and an onscreen keyboard, implemented in js. I used this keyboard: <a href="http://jabtunes.com/notation/keyboardcanvasexamples.html" rel="nofollow">http://jabtunes.com/notation/keyboardcanvasexamples.html</a></p>
  
  <p>The input field gets the input just fine, the problem is that the angular filters depending on this input field don't work. There is a similar problem i found described in this plunker with no solution:
  <a href="http://plnkr.co/edit/FnrZTAwisYub5Vukaw2l?p=preview" rel="nofollow">http://plnkr.co/edit/FnrZTAwisYub5Vukaw2l?p=preview</a></p>
  
  <p>html:</p>
  
  <pre><code>&lt;html ng-app="plunker"&gt;
    &lt;head&gt;
    &lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"&gt;&lt;/script&gt;
      &lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js"&gt;&lt;/script&gt;
      &lt;script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.6.0.js"&gt;&lt;/script&gt;
      &lt;script src="example.js"&gt;&lt;/script&gt;
      &lt;script src="jKeyboard.js"&gt;&lt;/script&gt;
      &lt;link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"&gt;
    &lt;/head&gt;
    &lt;body&gt;
  
  &lt;div class='container-fluid' ng-controller="TypeaheadCtrl"&gt;
      &lt;pre&gt;Model: {{selected| json}}&lt;/pre&gt;
      &lt;input type="text" ng-model="selected" id="testInput" typeahead="state.name for state in states | filter:$viewValue | limitTo:8"&gt;
  &lt;/div&gt;
      &lt;button id="btn"&gt;E&lt;/button&gt;
    &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>js:</p>
  
  <pre><code>angular.module('plunker', ['ui.bootstrap']);
  function TypeaheadCtrl($scope) {
  
    $scope.selected = undefined;
  
  $scope.WatchPrintList = function () {
          $scope.selected= {};
          $scope.$watch('#testInput', function(newVal, oldVal) {
              $scope.selected = newVal;
          }, true);
      }
  
    $scope.states = [
  {"name":"Alabama","alpha-2":"AL"},
  {"name":"Alaska","alpha-2":"AK"},
  //etc etc
  ];
  }
  </code></pre>
  
  <p>When typing with the onscreen keyboard, no filters respond, but typing with the real keyboard they get updated and the data is filtered accordingly. Why?</p>
  
  <p>Thx for your help!</p>