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

1991/0911/pc/kbd.c (diff list | history)

1991/0906/sys/src/9/pc/kbd.c:35,401991/0911/sys/src/9/pc/kbd.c:35,41 (short | long | prev | next)
1991/0703    
	Latin=	Spec|0x63, 
	Caps=	Spec|0x64, 
	Num=	Spec|0x65, 
1991/0911    
	Middle=	Spec|0x66, 
1991/0703    
	No=	Spec|0x7F,	/* no mapping */ 
 
1991/0731    
	Home=	KF|13, 
1991/0906/sys/src/9/pc/kbd.c:59,651991/0911/sys/src/9/pc/kbd.c:60,66
1991/0703    
[0x20]	'd',	'f',	'g',	'h',	'j',	'k',	'l',	';', 
[0x28]	'\'',	'`',	Shift,	'\\',	'z',	'x',	'c',	'v', 
[0x30]	'b',	'n',	'm',	',',	'.',	'/',	Shift,	No, 
1991/0731    
[0x38]	Latin,	' ',	Caps,	KF|1,	KF|2,	KF|3,	KF|4,	KF|5, 
1991/0911    
[0x38]	Latin,	' ',	Ctrl,	KF|1,	KF|2,	KF|3,	KF|4,	KF|5, 
1991/0731    
[0x40]	KF|6,	KF|7,	KF|8,	KF|9,	KF|10,	Num,	KF|12,	Home, 
1991/0703    
[0x48]	No,	No,	No,	No,	No,	No,	No,	No, 
1991/0731    
[0x50]	No,	No,	No,	No,	No,	No,	No,	KF|11, 
1991/0906/sys/src/9/pc/kbd.c:75,811991/0911/sys/src/9/pc/kbd.c:76,82
1991/0703    
[0x20]	'D',	'F',	'G',	'H',	'J',	'K',	'L',	':', 
[0x28]	'"',	'~',	Shift,	'|',	'Z',	'X',	'C',	'V', 
[0x30]	'B',	'N',	'M',	'<',	'>',	'?',	Shift,	No, 
1991/0731    
[0x38]	Latin,	' ',	Caps,	KF|1,	KF|2,	KF|3,	KF|4,	KF|5, 
1991/0911    
[0x38]	Latin,	' ',	Ctrl,	KF|1,	KF|2,	KF|3,	KF|4,	KF|5, 
1991/0731    
[0x40]	KF|6,	KF|7,	KF|8,	KF|9,	KF|10,	Num,	KF|12,	Home, 
1991/0703    
[0x48]	No,	No,	No,	No,	No,	No,	No,	No, 
1991/0731    
[0x50]	No,	No,	No,	No,	No,	No,	No,	KF|11, 
1991/0906/sys/src/9/pc/kbd.c:231,2361991/0911/sys/src/9/pc/kbd.c:232,240
1991/0905    
 */ 
1991/0703    
KIOQ	kbdq; 
1991/0905    
 
1991/0911    
static int mousebuttons; 
static int middlebutton; 
 
1991/0905    
/* 
 *  predeclared 
 */ 
1991/0906/sys/src/9/pc/kbd.c:367,3731991/0911/sys/src/9/pc/kbd.c:371,378
1991/0731    
		if(msg[0] & 0x20) 
			msg[2] |= 0xFF00; 
 
		mouse.newbuttons = b[msg[0]&7]; 
1991/0911    
		mousebuttons = b[msg[0]&7]; 
		mouse.newbuttons = mousebuttons | middlebutton; 
1991/0731    
		mouse.dx = msg[1]; 
		mouse.dy = -msg[2]; 
		mouse.track = 1; 
1991/0906/sys/src/9/pc/kbd.c:377,3821991/0911/sys/src/9/pc/kbd.c:382,402
1991/0703    
} 
 
/* 
1991/0911    
 *  Ctrl key used as middle button pressed 
 */ 
static void 
middle(int newval) 
{ 
	middlebutton = newval; 
	mouse.newbuttons = mousebuttons | middlebutton; 
	mouse.dx = 0; 
	mouse.dy = 0; 
	mouse.track = 1; 
	spllo();		/* mouse tracking kills uart0 */ 
	mouseclock(); 
} 
 
/* 
1991/0703    
 *  keyboard interrupt 
 */ 
1991/0731    
int 
1991/0906/sys/src/9/pc/kbd.c:458,4631991/0911/sys/src/9/pc/kbd.c:478,486
1991/0703    
		case Ctrl: 
			ctl = 0; 
			break; 
1991/0911    
		case Middle: 
			middle(0); 
			break; 
1991/0703    
		} 
1991/0731    
		return 0; 
1991/0703    
	} 
1991/0906/sys/src/9/pc/kbd.c:501,5061991/0911/sys/src/9/pc/kbd.c:524,532
1991/0731    
			return 0; 
1991/0703    
		case Ctrl: 
			ctl = 1; 
1991/0911    
			return 0; 
		case Middle: 
			middle(2); 
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)