47 lines
861 B
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;
|
|
}
|