//----------------------------------------------------------------------------- // name: kb.ck // desc: open a keyboard and listen for key-down and key-up events // // note: select between keyboards by specifying the device number; // to see a list of devices and their numbers, either... // 1) view the Device Browser window in miniAudicle (select // "Human Interface Devices" in the drop-down menu) // OR 2) from the command line: // > chuck --probe // // author: Ge Wang (https://ccrma.stanford.edu/~ge/) //----------------------------------------------------------------------------- Hid hi; HidMsg msg; // which keyboard 0 => int device; // get from command line if( me.args() ) me.arg(0) => Std.atoi => device; // open keyboard (get device number from command line) if( !hi.openKeyboard( device ) ) me.exit(); <<< "keyboard '" + hi.name() + "' ready", "" >>>; // infinite event loop while( true ) { // wait on event hi => now; // get one or more messages while( hi.recv( msg ) ) { // check for action type if( msg.isButtonDown() ) { <<< "down:", msg.which, "(code)", msg.key, "(usb key)", msg.ascii, "(ascii)" >>>; } else { //<<< "up:", msg.which, "(code)", msg.key, "(usb key)", msg.ascii, "(ascii)" >>>; } } }