xref: /original-bsd/sys/news3400/iop/kbreg.h (revision 68d9582f)
1 /*
2  * Copyright (c) 1992 The Regents of the University of California.
3  * 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	7.1 (Berkeley) 06/04/92
13  */
14 
15 #ifndef __KEYBOARD__
16 #define __KEYBOARD__ 1
17 
18 #include "machine/fix_machine_type.h"
19 
20 #define	key_any(x)	((x) != -1)
21 #define	key_down(x)	(((x) & 0x80) == 0)
22 #define	key_up(x)	((x) & 0x80)
23 
24 /*
25  *
26  */
27 typedef	struct key_string {
28 	int	key_length;
29 	char	*key_string;
30 } Key_string;
31 
32 typedef struct pfk_table {
33 	int		pfk_addr;
34 	Key_string	pfk_normal;
35 	Key_string	pfk_shift;
36 } Pfk_table;
37 
38 typedef	struct pfk_string {
39 	int		pfk_num;
40 	int		pfk_shift;
41 	Key_string	pfk_string;
42 } Pfk_string;
43 
44 #define	KBDPRI		28
45 
46 #ifdef news800
47 #define	KB_TEST		0
48 #endif news800
49 
50 #define	KIOCSETS	0		/* set pfk string	*/
51 #define	KIOCBELL	1		/* ring bell		*/
52 #define	KIOCBACK	2		/* push back string	*/
53 #define	KIOCREPT	3		/* auto repeat on	*/
54 #define	KIOCNRPT	4		/* auto repeat off	*/
55 #define	KIOCGETS	5		/* get pfk string	*/
56 #define	KIOCRAW		6		/* get raw key data	*/
57 #define	KIOCSETE	7
58 #define	KIOCFLUSH	8
59 #define	KIOCNREAD	FIONREAD	/* return input char's	*/
60 #define	KIOCSETLOCK	10		/* set lock type	*/
61 #define	KIOCSETTBL	11		/* set key_table	*/
62 #define	KIOCGETCNUM	12		/* get country number	*/
63 #define	KIOCSETCNUM	13		/* set country number	*/
64 #define	KIOCDEFTBL	14		/* default key_table 	*/
65 #define	KIOCCHTBL	15		/* change key_table 	*/
66 #define	KIOCOYATBL	16		/* oya_key_table	*/
67 #define	KIOCGETSTAT	17		/* get keyboard status	*/
68 #define	KIOCSETSTAT	18		/* set keyboard status	*/
69 
70 /*
71  *
72  */
73 #define	OFF		0x80
74 #ifndef SS2
75 #define	SS2		0x8e
76 #endif
77 
78 extern int N_Pfk;
79 #define	N_PFK		N_Pfk
80 
81 #define	N_KEY		93
82 
83 /*
84  *	Programmable function key
85  */
86 #define	F1		1
87 #define	F2		2
88 #define	F3		3
89 #define	F4		4
90 #define	F5		5
91 #define	F6		6
92 #define	F7		7
93 #define	F8		8
94 #define	F9		9
95 #define	F10		10
96 
97 #define	PF1		11
98 #define	PF2		12
99 #define	PF3		13
100 #define	PF4		14
101 #define	PF5		15
102 #define	PF6		16
103 #define	PF7		17
104 #define	PF8		18
105 #define	PF9		19
106 #define	PF10		20
107 #define	PF11		21
108 #define	PF12		22
109 
110 #define	NCNV		23
111 #define	CONV		24
112 #define	ENTER		25
113 
114 #define	N0		26
115 #define	N1		27
116 #define	N2		28
117 #define	N3		29
118 #define	N4		30
119 #define	N5		31
120 #define	N6		32
121 #define	N7		33
122 #define	N8		34
123 #define	N9		35
124 
125 #define	PERIOD		36
126 #define	MINUS		37
127 #define	PLUS		38
128 #define	COMMA		39
129 #define	NENTER		40
130 #define	UP		41
131 #define	DOWN		42
132 #define	RIGHT		43
133 #define	LEFT		44
134 
135 
136 #endif /* !__KEYBOARD__ */
137