xref: /original-bsd/sys/news3400/iop/kbreg.h (revision 3705696b)
1 /*
2  * Copyright (c) 1992, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc.
7  *
8  * %sccs.include.redist.c%
9  *
10  * from: $Hdr: kbreg.h,v 4.300 91/06/09 06:42:47 root Rel41 $ SONY
11  *
12  *	@(#)kbreg.h	8.1 (Berkeley) 06/11/93
13  */
14 
15 #ifndef __KEYBOARD__
16 #define __KEYBOARD__ 1
17 
18 #define	key_any(x)	((x) != -1)
19 #define	key_down(x)	(((x) & 0x80) == 0)
20 #define	key_up(x)	((x) & 0x80)
21 
22 typedef	struct key_string {
23 	int	key_length;
24 	char	*key_string;
25 } Key_string;
26 
27 typedef struct pfk_table {
28 	int		pfk_addr;
29 	Key_string	pfk_normal;
30 	Key_string	pfk_shift;
31 } Pfk_table;
32 
33 typedef	struct pfk_string {
34 	int		pfk_num;
35 	int		pfk_shift;
36 	Key_string	pfk_string;
37 } Pfk_string;
38 
39 #define	KBDPRI		28
40 
41 #define	KIOCSETS	0		/* set pfk string	*/
42 #define	KIOCBELL	1		/* ring bell		*/
43 #define	KIOCBACK	2		/* push back string	*/
44 #define	KIOCREPT	3		/* auto repeat on	*/
45 #define	KIOCNRPT	4		/* auto repeat off	*/
46 #define	KIOCGETS	5		/* get pfk string	*/
47 #define	KIOCRAW		6		/* get raw key data	*/
48 #define	KIOCSETE	7
49 #define	KIOCFLUSH	8
50 #define	KIOCNREAD	FIONREAD	/* return input char's	*/
51 #define	KIOCSETLOCK	10		/* set lock type	*/
52 #define	KIOCSETTBL	11		/* set key_table	*/
53 #define	KIOCGETCNUM	12		/* get country number	*/
54 #define	KIOCSETCNUM	13		/* set country number	*/
55 #define	KIOCDEFTBL	14		/* default key_table 	*/
56 #define	KIOCCHTBL	15		/* change key_table 	*/
57 #define	KIOCOYATBL	16		/* oya_key_table	*/
58 #define	KIOCGETSTAT	17		/* get keyboard status	*/
59 #define	KIOCSETSTAT	18		/* set keyboard status	*/
60 
61 #define	OFF		0x80
62 
63 extern int N_Pfk;
64 #define	N_PFK		N_Pfk
65 
66 #define	N_KEY		93
67 
68 /*
69  * Programmable function key
70  */
71 #define	F1		1
72 #define	F2		2
73 #define	F3		3
74 #define	F4		4
75 #define	F5		5
76 #define	F6		6
77 #define	F7		7
78 #define	F8		8
79 #define	F9		9
80 #define	F10		10
81 
82 #define	PF1		11
83 #define	PF2		12
84 #define	PF3		13
85 #define	PF4		14
86 #define	PF5		15
87 #define	PF6		16
88 #define	PF7		17
89 #define	PF8		18
90 #define	PF9		19
91 #define	PF10		20
92 #define	PF11		21
93 #define	PF12		22
94 
95 #define	NCNV		23
96 #define	CONV		24
97 #define	ENTER		25
98 
99 #define	N0		26
100 #define	N1		27
101 #define	N2		28
102 #define	N3		29
103 #define	N4		30
104 #define	N5		31
105 #define	N6		32
106 #define	N7		33
107 #define	N8		34
108 #define	N9		35
109 
110 #define	PERIOD		36
111 #define	MINUS		37
112 #define	PLUS		38
113 #define	COMMA		39
114 #define	NENTER		40
115 #define	UP		41
116 #define	DOWN		42
117 #define	RIGHT		43
118 #define	LEFT		44
119 
120 #endif /* !__KEYBOARD__ */
121