plan 9 kernel history: overview | file list | diff list

2000/1024/bitsy/devpenmouse.c (diff list | history)

2000/1021/sys/src/9/bitsy/devpenmouse.c:90,1002000/1024/sys/src/9/bitsy/devpenmouse.c:90,101 (short | long | prev | next)
2000/1021    
pentrackxy(int x, int y) { 
	if (x == -1) { 
		/* pen up. associate with button 1, 2, 3 up */ 
		if (mouse.buttons & 0x7) 
			mouse.buttons &= ~0x7; 
2000/1024    
		mouse.buttons &= ~0x7; 
2000/1021    
	} else { 
		x = (x<<16)/calibration.scalex + calibration.transx; 
		y = (y<<16)/calibration.scaley + calibration.transy; 
2000/1024    
		if ((mouse.buttons & 0x7) == 0) 
			mouse.buttons |= 0x1; 
2000/1021    
	} 
	penmousetrack(mouse.buttons, x, y); 
} 
2000/1021/sys/src/9/bitsy/devpenmouse.c:204,2102000/1024/sys/src/9/bitsy/devpenmouse.c:205,210
2000/1021    
	} 
} 
 
                 
static long 
penmouseread(Chan *c, void *va, long n, vlong) 
{ 
2000/1021/sys/src/9/bitsy/devpenmouse.c:211,2172000/1024/sys/src/9/bitsy/devpenmouse.c:211,216
2000/1021    
	char buf[4*12+1]; 
	static int map[8] = {0, 4, 2, 6, 1, 5, 3, 7 }; 
	Mousestate m; 
	int b; 
 
	switch(c->qid.path){ 
	case CHDIR: 
2000/1021/sys/src/9/bitsy/devpenmouse.c:239,2502000/1024/sys/src/9/bitsy/devpenmouse.c:238,246
2000/1021    
			m = mouse.Mousestate; 
		} 
 
		b = buttonmap[m.buttons&7]; 
		/* put buttons 4 and 5 back in */ 
		b |= m.buttons & (3<<3); 
		sprint(buf, "m%11d %11d %11d %11lud", 
			m.xy.x, m.xy.y, 
			b, 
2000/1024    
			m.buttons, 
2000/1021    
			m.msec); 
		mouse.lastcounter = m.counter; 
		if(n > 1+4*12) 
2000/1021/sys/src/9/bitsy/devpenmouse.c:303,3092000/1024/sys/src/9/bitsy/devpenmouse.c:299,305
2000/1021    
{ 
	char *p; 
	Point pt; 
	char buf[64], *field[3]; 
2000/1024    
	char buf[64], *field[5]; 
2000/1021    
	int nf, b; 
 
	p = va; 
2000/1021/sys/src/9/bitsy/devpenmouse.c:319,3252000/1024/sys/src/9/bitsy/devpenmouse.c:315,321
2000/1021    
			buf[n-1] = 0; 
		else 
			buf[n] = 0; 
		nf = getfields(buf, field, 3, 1, " "); 
2000/1024    
		nf = getfields(buf, field, 5, 1, " "); 
2000/1021    
		if(strcmp(field[0], "swap") == 0){ 
			if(mouseswap) 
				setbuttonmap("123"); 
2000/1021/sys/src/9/bitsy/devpenmouse.c:338,3442000/1024/sys/src/9/bitsy/devpenmouse.c:334,341
2000/1021    
				calibration.scaley = strtol(field[2], nil, 0); 
				calibration.transx = strtol(field[3], nil, 0); 
				calibration.transy = strtol(field[4], nil, 0); 
			} 
2000/1024    
			} else 
				print("calibrate %d fields\n", nf); 
2000/1021    
		} 
		return n; 
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)