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

1992/0811/pc/kbd.c (diff list | history)

1992/0806/sys/src/9/pc/kbd.c:105,1111992/0811/sys/src/9/pc/kbd.c:105,111 (short | long | prev | next)
1991/0703    
KIOQ	kbdq; 
1991/0905    
 
1991/0911    
static int mousebuttons; 
static int middlebutton; 
1992/0811    
static int keybuttons; 
1991/0911    
 
1991/0905    
/* 
 *  predeclared 
1992/0806/sys/src/9/pc/kbd.c:212,2171992/0811/sys/src/9/pc/kbd.c:212,220
1991/1210    
		if(mousecmd(0xEA) < 0 
		|| mousecmd(0xF4) < 0) 
			print("can't initialize mouse\n"); 
1992/0811    
 
		/* turn on mouse acceleration */ 
		mousecmd(0xE7); 
1991/1210    
		break; 
	case At: 
		/* enable kbd xfers and interrupts */ 
1992/0806/sys/src/9/pc/kbd.c:257,2631992/0811/sys/src/9/pc/kbd.c:260,266
1991/0731    
			msg[2] |= 0xFF00; 
 
1991/0911    
		mousebuttons = b[msg[0]&7]; 
		mouse.newbuttons = mousebuttons | middlebutton; 
1992/0811    
		mouse.newbuttons = mousebuttons | keybuttons; 
1991/0731    
		mouse.dx = msg[1]; 
		mouse.dy = -msg[2]; 
		mouse.track = 1; 
1992/0806/sys/src/9/pc/kbd.c:270,2791992/0811/sys/src/9/pc/kbd.c:273,282
1991/0911    
 *  Ctrl key used as middle button pressed 
 */ 
static void 
middle(int newval) 
1992/0811    
mbon(int val) 
1991/0911    
{ 
	middlebutton = newval; 
	mouse.newbuttons = mousebuttons | middlebutton; 
1992/0811    
	keybuttons |= val; 
	mouse.newbuttons = mousebuttons | keybuttons; 
1991/0911    
	mouse.dx = 0; 
	mouse.dy = 0; 
	mouse.track = 1; 
1992/0806/sys/src/9/pc/kbd.c:280,2851992/0811/sys/src/9/pc/kbd.c:283,299
1991/0911    
	spllo();		/* mouse tracking kills uart0 */ 
	mouseclock(); 
} 
1992/0811    
static void 
mboff(int val) 
{ 
	keybuttons &= ~val; 
	mouse.newbuttons = mousebuttons | keybuttons; 
	mouse.dx = 0; 
	mouse.dy = 0; 
	mouse.track = 1; 
	spllo();		/* mouse tracking kills uart0 */ 
	mouseclock(); 
} 
1991/0911    
 
/* 
1991/0703    
 *  keyboard interrupt 
1992/0806/sys/src/9/pc/kbd.c:360,3681992/0811/sys/src/9/pc/kbd.c:374,388
1991/0703    
		case Ctrl: 
			ctl = 0; 
			break; 
1991/0911    
		case Middle: 
			middle(0); 
1992/0811    
		case KF|1: 
			mboff(4); 
1991/0911    
			break; 
1992/0811    
		case KF|2: 
			mboff(2); 
			break; 
		case KF|3: 
			mboff(1); 
			break; 
1991/0703    
		} 
1991/0731    
		return 0; 
1991/0703    
	} 
1992/0806/sys/src/9/pc/kbd.c:424,4311992/0811/sys/src/9/pc/kbd.c:444,457
1991/0703    
		case Ctrl: 
			ctl = 1; 
1991/0911    
			return 0; 
		case Middle: 
			middle(2); 
1992/0811    
		case KF|1: 
			mbon(4); 
			return 0; 
		case KF|2: 
			mbon(2); 
			return 0; 
		case KF|3: 
			mbon(1); 
1991/0731    
			return 0; 
1991/0703    
		} 
	} 


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