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