/[LeafOK_CVS]/lbbs/include/io.h
ViewVC logotype

Annotation of /lbbs/include/io.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.21 - (hide annotations)
Mon Jun 9 15:39:05 2025 UTC (9 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.20: +7 -0 lines
Content type: text/x-chdr
Add expanded KEY

1 sysadm 1.1 /***************************************************************************
2 sysadm 1.11 io.h - description
3     -------------------
4 sysadm 1.14 Copyright : (C) 2004-2025 by Leaflet
5     Email : leaflet@leafok.com
6 sysadm 1.1 ***************************************************************************/
7    
8     /***************************************************************************
9     * *
10     * This program is free software; you can redistribute it and/or modify *
11     * it under the terms of the GNU General Public License as published by *
12 sysadm 1.14 * the Free Software Foundation; either version 3 of the License, or *
13 sysadm 1.1 * (at your option) any later version. *
14     * *
15     ***************************************************************************/
16    
17 sysadm 1.9 #ifndef _IO_H_
18     #define _IO_H_
19    
20 sysadm 1.1 #include <stdio.h>
21    
22 sysadm 1.11 #define CR '\r'
23     #define LF '\n'
24     #define BACKSPACE '\b'
25     #define BELL '\b'
26 sysadm 1.20 #define KEY_TAB 9
27     #define KEY_ESC 27
28 sysadm 1.11 #define KEY_SPACE '\040'
29 sysadm 1.7
30     #ifndef EXTEND_KEY
31     #define EXTEND_KEY
32 sysadm 1.19
33 sysadm 1.11 #define KEY_NULL 0xffff
34     #define KEY_TIMEOUT 0xfffe
35     #define KEY_CONTROL 0xff
36     #define KEY_UP 0x0101
37     #define KEY_DOWN 0x0102
38     #define KEY_RIGHT 0x0103
39     #define KEY_LEFT 0x0104
40 sysadm 1.20 #define KEY_CSI 0x011b // ESC ESC
41 sysadm 1.11 #define KEY_HOME 0x0201
42     #define KEY_INS 0x0202
43     #define KEY_DEL 0x0203
44     #define KEY_END 0x0204
45     #define KEY_PGUP 0x0205
46     #define KEY_PGDN 0x0206
47 sysadm 1.19
48 sysadm 1.11 #define KEY_F1 0x0207
49     #define KEY_F2 0x0208
50     #define KEY_F3 0x0209
51     #define KEY_F4 0x020a
52     #define KEY_F5 0x020b
53     #define KEY_F6 0x020c
54     #define KEY_F7 0x020d
55     #define KEY_F8 0x020e
56     #define KEY_F9 0x020f
57     #define KEY_F10 0x0210
58 sysadm 1.19 #define KEY_F11 0x0211
59     #define KEY_F12 0x0212
60    
61     #define KEY_SHIFT_F1 0x0213
62     #define KEY_SHIFT_F2 0x0214
63     #define KEY_SHIFT_F3 0x0215
64     #define KEY_SHIFT_F4 0x0216
65     #define KEY_SHIFT_F5 0x0217
66     #define KEY_SHIFT_F6 0x0218
67     #define KEY_SHIFT_F7 0x0219
68     #define KEY_SHIFT_F8 0x021a
69     #define KEY_SHIFT_F9 0x021b
70     #define KEY_SHIFT_F10 0x021c
71     #define KEY_SHIFT_F11 0x021d
72     #define KEY_SHIFT_F12 0x021e
73    
74     #define KEY_CTRL_F1 0x021f
75     #define KEY_CTRL_F2 0x0220
76     #define KEY_CTRL_F3 0x0221
77     #define KEY_CTRL_F4 0x0222
78     #define KEY_CTRL_F5 0x0223
79     #define KEY_CTRL_F6 0x0224
80     #define KEY_CTRL_F7 0x0225
81     #define KEY_CTRL_F8 0x0226
82     #define KEY_CTRL_F9 0x0227
83     #define KEY_CTRL_F10 0x0228
84     #define KEY_CTRL_F11 0x0229
85     #define KEY_CTRL_F12 0x022a
86    
87 sysadm 1.21 #define KEY_CTRL_UP 0x0230
88     #define KEY_CTRL_DOWN 0x0231
89     #define KEY_CTRL_RIGHT 0x0232
90     #define KEY_CTRL_LEFT 0x0233
91     #define KEY_CTRL_HOME 0x0234
92     #define KEY_CTRL_END 0x0235
93    
94 sysadm 1.19 #endif // EXPAND_KEY
95 sysadm 1.3
96 sysadm 1.11 #define Ctrl(C) ((C) - 'A' + 1)
97 sysadm 1.2
98 sysadm 1.11 #define DOECHO (1)
99     #define NOECHO (0)
100 sysadm 1.10
101 sysadm 1.12 extern int prints(const char *format, ...);
102    
103 sysadm 1.17 extern int outc(char c);
104    
105 sysadm 1.18 extern int iflush(void);
106 sysadm 1.12
107 sysadm 1.18 extern int igetch(int timeout);
108 sysadm 1.12
109 sysadm 1.18 extern int igetch_t(int sec);
110    
111     extern void igetch_reset(void);
112 sysadm 1.12
113 sysadm 1.9 #endif //_IO_H_

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1