#include #include #include void handle_press(const monome_event_t *e, void *data) { unsigned int x, y; x = e->grid.x; y = e->grid.y; putc(0x01, stdout); putc(x, stdout); putc(y, stdout); } void handle_release(const monome_event_t *e, void *data) { unsigned int x, y; x = e->grid.x; y = e->grid.y; putc(0x00, stdout); putc(x, stdout); putc(y, stdout); } int main(int argc, char *argv[]) { if(argc != 2) { fprintf(stderr, "Please provide a serial port.\n"); } setbuf(stdout, NULL); monome_t *monome; if( !(monome = monome_open(argv[1], "8000")) ) return -1; monome_led_all(monome, 0); monome_register_handler(monome, MONOME_BUTTON_DOWN, handle_press, NULL); monome_register_handler(monome, MONOME_BUTTON_UP, handle_release, NULL); monome_event_loop(monome); monome_close(monome); return 0; }