nl_tokens: [ Mouse description ]
pl_tokens: function Mouse ( device ) { var self = this ; Keyboard . apply ( this , arguments ) ; this . on ( 'data' , function ( ev , data ) { if ( InputEvent . EVENT_TYPES . EV_REL == ev . type ) { // @docs: https://www.kernel.org/doc/Documentation/input/joystick-api.txt switch ( ev . code || ev . number ) { // joystick define ev.number means axis/button number case AXES . REL_X : case AXES . REL_Y : case AXES . REL_Z : case AXES . REL_RX : case AXES . REL_RY : case AXES . REL_RZ : this . emit ( 'move' , ev ) ; <mask> ; case AXES . REL_WHEEL : case AXES . REL_HWHEEL : this . emit ( 'wheel' , ev ) ; break ; default : break ; } } // mice device if ( data . length == 3 ) { // http://stackoverflow.com/questions/15882665/how-to-read-out-scroll-wheel-info-from-dev-input-mice if ( ev . t == 8 ) this . emit ( ( ev . x == 0 && ev . y == 0 ) ? 'reset' : 'move' , ev ) ; if ( ev . t & EV_MOUSE . BTN_LEFT || ev . t & EV_MOUSE . BTN_RIGHT || ev . t & EV_MOUSE . BTN_MIDDLE ) this . emit ( 'keypress' , ev ) ; } } ) ; }