// // KeyboardInput // class KeyboardInput extends Event { Hid keyboard; HidMsg keyboardMsg; 0 => int defaultKeyboard; 0 => int DEBUG; -1 => int downCode => int downKey => int downAscii => int upCode => int upKey => int upAscii; fun void listen( int k ) { k => defaultKeyboard; listen(); } fun void listen() { if( !keyboard.openKeyboard( defaultKeyboard ) ) me.exit(); <<< "keyboard '" + keyboard.name() + "' ready", "" >>>; while( true ) { keyboard => now; -1 => downCode => downKey => downAscii => upCode => upKey => upAscii; while( keyboard.recv( keyboardMsg ) ) { if( keyboardMsg.isButtonDown() ) { if(DEBUG) <<< "down:", keyboardMsg.which, "(code)", keyboardMsg.key, "(usb key)", keyboardMsg.ascii, "(ascii)" >>>; keyboardMsg.which => downCode; keyboardMsg.key => downKey; keyboardMsg.ascii => downAscii; } else { if(DEBUG) <<< "up:", keyboardMsg.which, "(code)", keyboardMsg.key, "(usb key)", keyboardMsg.ascii, "(ascii)" >>>; keyboardMsg.which => upCode; keyboardMsg.key => upKey; keyboardMsg.ascii => upAscii; } this.broadcast(); me.yield(); } } } } // KeyboardInput ki; // spork ~ ki.listen(); // // while(true) // { // ki => now; // <<< ki.downCode, ki.downKey, ki.downAscii, ki.upCode, ki.upKey, ki.upAscii >>>; // me.yield(); // }