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

1999/0225/pc/mouse.c (diff list | history)

1999/0224/sys/src/9/pc/mouse.c:101,1061999/0225/sys/src/9/pc/mouse.c:101,180 (short | long | prev | next)
1997/0327    
	mousetype = MousePS2; 
} 
 
1999/0225    
static int intellimouse; 
static int resolution; 
static int accelerated; 
 
static void 
setaccelerated(int x) 
{ 
	accelerated = x; 
	switch(mousetype){ 
	case MousePS2: 
		i8042auxcmd(0xE7); 
		break; 
	default: 
		mouseaccelerate(x); 
		break; 
	} 
} 
 
static void 
setlinear(void) 
{ 
	accelerated = 0; 
	switch(mousetype){ 
	case MousePS2: 
		i8042auxcmd(0xE6); 
		break; 
	default: 
		mouseaccelerate(0); 
		break; 
	} 
} 
 
static void 
setres(int n) 
{ 
	resolution = n; 
	switch(mousetype){ 
	case MousePS2: 
		i8042auxcmd(0xE8); 
		i8042auxcmd(n); 
		break; 
	} 
} 
 
static void 
setintellimouse(void) 
{ 
	intellimouse = 1; 
	switch(mousetype){ 
	case MousePS2: 
		i8042auxcmd(0xF3);	/* set sample */ 
		i8042auxcmd(0xC8); 
		i8042auxcmd(0xF3);	/* set sample */ 
		i8042auxcmd(0x64); 
		i8042auxcmd(0xF3);	/* set sample */ 
		i8042auxcmd(0x50); 
		break; 
	} 
} 
 
static void 
resetmouse(void) 
{ 
	switch(mousetype){ 
	case MousePS2: 
		i8042auxcmd(0xF6); 
		i8042auxcmd(0xEA);	/* streaming */ 
		i8042auxcmd(0xE8);	/* set resolution */ 
		i8042auxcmd(3); 
		i8042auxcmd(0xF4);	/* enabled */ 
		break; 
	} 
} 
 
1997/0327    
void 
1998/0417    
mousectl(char* field[], int n) 
1997/0327    
{ 
1999/0224/sys/src/9/pc/mouse.c:119,1621999/0225/sys/src/9/pc/mouse.c:193,219
1997/0327    
		} 
	} else if(strcmp(field[0], "ps2") == 0){ 
		ps2mouse(); 
1999/0225    
	} else if(strcmp(field[0], "ps2intellimouse") == 0){ 
		ps2mouse(); 
		setintellimouse(); 
1997/0327    
	} else if(strcmp(field[0], "accelerated") == 0){ 
		switch(mousetype){ 
		case MousePS2: 
			i8042auxcmd(0xE7); 
			break; 
		default: 
1997/0808    
			if(n == 1) 
				mouseaccelerate("1"); 
			else 
				mouseaccelerate(field[1]); 
1997/0327    
			break; 
		} 
1999/0225    
		setaccelerated(n == 1 ? 1 : atoi(field[1])); 
1997/0327    
	} else if(strcmp(field[0], "linear") == 0){ 
		switch(mousetype){ 
		case MousePS2: 
			i8042auxcmd(0xE6); 
			break; 
		default: 
			mouseaccelerate("0"); 
			break; 
		} 
1999/0225    
		setlinear(); 
1997/0327    
	} else if(strcmp(field[0], "res") == 0){ 
		if(n < 2) 
			n = 1; 
		else 
1999/0225    
		if(n >= 2) 
1997/0327    
			n = atoi(field[1]); 
		switch(mousetype){ 
		case MousePS2: 
			i8042auxcmd(0xE8); 
			i8042auxcmd(n); 
			break; 
		} 
1999/0225    
		setres(n); 
1999/0224    
	} else if(strcmp(field[0], "reset") == 0){ 
		i8042auxcmd(0xF6); 
		i8042auxcmd(0xEA);	/* streaming */ 
		i8042auxcmd(0xE8);	/* set resolution */ 
		i8042auxcmd(3); 
		i8042auxcmd(0xF4);	/* enabled */ 
1999/0225    
		resetmouse(); 
		if(accelerated) 
			setaccelerated(accelerated); 
		if(resolution) 
			setres(resolution); 
		if(intellimouse) 
			setintellimouse(); 
	} else if(strcmp(field[0], "intellimouse") == 0){ 
		setintellimouse(); 
1998/0417    
	} 
1997/0327    
	else 
		error(Ebadctl); 


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