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