xref: /csrg-svn/sys/news3400/iop/kbreg.h (revision 63308)
153887Smckusick /*
2*63308Sbostic  * Copyright (c) 1992, 1993
3*63308Sbostic  *	The Regents of the University of California.  All rights reserved.
453887Smckusick  *
553887Smckusick  * This code is derived from software contributed to Berkeley by
653887Smckusick  * Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc.
753887Smckusick  *
853887Smckusick  * %sccs.include.redist.c%
953887Smckusick  *
1053887Smckusick  * from: $Hdr: kbreg.h,v 4.300 91/06/09 06:42:47 root Rel41 $ SONY
1153887Smckusick  *
12*63308Sbostic  *	@(#)kbreg.h	8.1 (Berkeley) 06/11/93
1353887Smckusick  */
1453887Smckusick 
1553887Smckusick #ifndef __KEYBOARD__
1653887Smckusick #define __KEYBOARD__ 1
1753887Smckusick 
1853887Smckusick #define	key_any(x)	((x) != -1)
1953887Smckusick #define	key_down(x)	(((x) & 0x80) == 0)
2053887Smckusick #define	key_up(x)	((x) & 0x80)
2153887Smckusick 
2253887Smckusick typedef	struct key_string {
2353887Smckusick 	int	key_length;
2453887Smckusick 	char	*key_string;
2553887Smckusick } Key_string;
2653887Smckusick 
2753887Smckusick typedef struct pfk_table {
2853887Smckusick 	int		pfk_addr;
2953887Smckusick 	Key_string	pfk_normal;
3053887Smckusick 	Key_string	pfk_shift;
3153887Smckusick } Pfk_table;
3253887Smckusick 
3353887Smckusick typedef	struct pfk_string {
3453887Smckusick 	int		pfk_num;
3553887Smckusick 	int		pfk_shift;
3653887Smckusick 	Key_string	pfk_string;
3753887Smckusick } Pfk_string;
3853887Smckusick 
3953887Smckusick #define	KBDPRI		28
4053887Smckusick 
4153887Smckusick #define	KIOCSETS	0		/* set pfk string	*/
4253887Smckusick #define	KIOCBELL	1		/* ring bell		*/
4353887Smckusick #define	KIOCBACK	2		/* push back string	*/
4453887Smckusick #define	KIOCREPT	3		/* auto repeat on	*/
4553887Smckusick #define	KIOCNRPT	4		/* auto repeat off	*/
4653887Smckusick #define	KIOCGETS	5		/* get pfk string	*/
4753887Smckusick #define	KIOCRAW		6		/* get raw key data	*/
4853887Smckusick #define	KIOCSETE	7
4953887Smckusick #define	KIOCFLUSH	8
5053887Smckusick #define	KIOCNREAD	FIONREAD	/* return input char's	*/
5153887Smckusick #define	KIOCSETLOCK	10		/* set lock type	*/
5253887Smckusick #define	KIOCSETTBL	11		/* set key_table	*/
5353887Smckusick #define	KIOCGETCNUM	12		/* get country number	*/
5453887Smckusick #define	KIOCSETCNUM	13		/* set country number	*/
5553887Smckusick #define	KIOCDEFTBL	14		/* default key_table 	*/
5653887Smckusick #define	KIOCCHTBL	15		/* change key_table 	*/
5753887Smckusick #define	KIOCOYATBL	16		/* oya_key_table	*/
5853887Smckusick #define	KIOCGETSTAT	17		/* get keyboard status	*/
5953887Smckusick #define	KIOCSETSTAT	18		/* set keyboard status	*/
6053887Smckusick 
6153887Smckusick #define	OFF		0x80
6253887Smckusick 
6353887Smckusick extern int N_Pfk;
6453887Smckusick #define	N_PFK		N_Pfk
6553887Smckusick 
6653887Smckusick #define	N_KEY		93
6753887Smckusick 
6853887Smckusick /*
6958627Sutashiro  * Programmable function key
7053887Smckusick  */
7153887Smckusick #define	F1		1
7253887Smckusick #define	F2		2
7353887Smckusick #define	F3		3
7453887Smckusick #define	F4		4
7553887Smckusick #define	F5		5
7653887Smckusick #define	F6		6
7753887Smckusick #define	F7		7
7853887Smckusick #define	F8		8
7953887Smckusick #define	F9		9
8053887Smckusick #define	F10		10
8153887Smckusick 
8253887Smckusick #define	PF1		11
8353887Smckusick #define	PF2		12
8453887Smckusick #define	PF3		13
8553887Smckusick #define	PF4		14
8653887Smckusick #define	PF5		15
8753887Smckusick #define	PF6		16
8853887Smckusick #define	PF7		17
8953887Smckusick #define	PF8		18
9053887Smckusick #define	PF9		19
9153887Smckusick #define	PF10		20
9253887Smckusick #define	PF11		21
9353887Smckusick #define	PF12		22
9453887Smckusick 
9553887Smckusick #define	NCNV		23
9653887Smckusick #define	CONV		24
9753887Smckusick #define	ENTER		25
9853887Smckusick 
9953887Smckusick #define	N0		26
10053887Smckusick #define	N1		27
10153887Smckusick #define	N2		28
10253887Smckusick #define	N3		29
10353887Smckusick #define	N4		30
10453887Smckusick #define	N5		31
10553887Smckusick #define	N6		32
10653887Smckusick #define	N7		33
10753887Smckusick #define	N8		34
10853887Smckusick #define	N9		35
10953887Smckusick 
11053887Smckusick #define	PERIOD		36
11153887Smckusick #define	MINUS		37
11253887Smckusick #define	PLUS		38
11353887Smckusick #define	COMMA		39
11453887Smckusick #define	NENTER		40
11553887Smckusick #define	UP		41
11653887Smckusick #define	DOWN		42
11753887Smckusick #define	RIGHT		43
11853887Smckusick #define	LEFT		44
11953887Smckusick 
12053887Smckusick #endif /* !__KEYBOARD__ */
121