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

1994/0317/pc/kbd.c (diff list | history)

1994/0216/sys/src/9/pc/kbd.c:236,2421994/0317/sys/src/9/pc/kbd.c:236,242 (short | long | prev | next)
1992/1017    
static void 
serialmouse(int port, char *type, int setspeed) 
1992/0904    
{ 
1992/1016    
	if(mousetype) 
1994/0317    
	if(mousetype == Mouseserial) 
1992/1017    
		error(Emouseset); 
1992/0811    
 
1992/1020    
	if(port >= 2 || port < 0) 
1994/0216/sys/src/9/pc/kbd.c:505,5221994/0317/sys/src/9/pc/kbd.c:505,521
1993/1124    
 *  set up a ps2 mouse 
 */ 
static void 
ps2mouse(void) 
1994/0317    
ps2mouse(int frominit) 
1993/1124    
{ 
	int x; 
 
	if(mousetype) 
		error(Emouseset); 
1994/0317    
	if(mousetype == MousePS2) 
		return; 
1993/1124    
 
	if(ct82c710() == 0) 
		return; 
 
	/* enable kbd/mouse xfers and interrupts */ 
	setvec(Mousevec, kbdintr, 0); 
	x = splhi(); 
	ccc &= ~Cmousedis; 
	ccc |= Cmouseint; 
1994/0216/sys/src/9/pc/kbd.c:529,5381994/0317/sys/src/9/pc/kbd.c:528,540
1993/1124    
	if(outready() < 0) 
		print("mouse init failed\n"); 
	outb(Cmd, 0xA8); 
	if(outready() < 0) 
		print("mouse init failed\n"); 
1994/0317    
	if(outready() < 0){ 
		splx(x); 
		return; 
	} 
1993/1124    
 
	/* make mouse streaming, enabled */ 
1994/0317    
	setvec(Mousevec, kbdintr, 0); 
1993/1124    
	mousecmd(0xEA); 
	mousecmd(0xF4); 
	splx(x); 
1994/0216/sys/src/9/pc/kbd.c:564,5701994/0317/sys/src/9/pc/kbd.c:566,572
1993/1124    
			break; 
		} 
	} else if(strcmp(field[0], "ps2") == 0){ 
		ps2mouse(); 
1994/0317    
		ps2mouse(0); 
1993/1124    
	} else if(strcmp(field[0], "accelerated") == 0){ 
		switch(mousetype){ 
		case MousePS2: 
1994/0216/sys/src/9/pc/kbd.c:622,6281994/0317/sys/src/9/pc/kbd.c:624,630
1993/1124    
 
	/* enable kbd xfers and interrupts */ 
	ccc &= ~Ckbddis; 
	ccc |= Csf | Ckbdint | Cscs1; 
1994/0317    
	ccc |= Csf | Ckbdint | Cscs1 | Cmousedis; 
1993/1124    
	if(outready() < 0) 
		print("kbd init failed\n"); 
	outb(Cmd, 0x60); 


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