function keydown( event ) {

    if ( _this.enabled === false ) return;

    window.removeEventListener( 'keydown', keydown );

    _prevState = _state;

    if ( _state !== STATE.NONE ) {

      return;

    } else if ( event.keyCode === _this.keys[ STATE.ROTATE ] && !_this.noRotate ) {

      _state = STATE.ROTATE;

    } else if ( event.keyCode === _this.keys[ STATE.ZOOM ] && !_this.noZoom ) {

      _state = STATE.ZOOM;

    } else if ( event.keyCode === _this.keys[ STATE.PAN ] && !_this.noPan ) {

      _state = STATE.PAN;

    }

  }
@author Eberhard Graether / http://egraether.com/
@author Mark Lundin  / http://mark-lundin.com
@author Patrick Fuller / http://patrick-fuller.com