grid-uxn/in.c

47 lines
861 B
C

#include <stdlib.h>
#include <stdio.h>
#include <monome.h>
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;
}