#include #include #include Biobuf *tablet; int mouseout; int main() { int curx, cury; curx = cury = 0; mouseout = open("/dev/mousein", OWRITE); if(mouseout < 0) sysfatal("%r"); tablet = Bopen("/dev/tablet", OREAD); if(tablet == nil) sysfatal("%r"); while(1) { char *line, *p; int x, y, b; line = Brdline(tablet, 10); p = line; if(*p++ != 'm') continue; if(*p++ != ' ') continue; x = strtol(p, &p, 10); if(*p++ != ' ') continue; y = strtol(p, &p, 10); if(*p++ != ' ') continue; b = strtol(p, &p, 10); if(*p++ != ' ') continue; fprint(mouseout, "m %d %d %d\n", x - curx, y - cury, b); curx = x; cury = y; } }