/[nova]/nova/kern/dv-cons.h
ViewVC logotype

Diff of /nova/kern/dv-cons.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.1.1 by jrydberg, Tue Feb 12 19:28:52 2002 UTC revision 1.2 by jrydberg, Wed Mar 27 23:21:54 2002 UTC
# Line 17  Foundation, Inc., 59 Temple Place - Suit Line 17  Foundation, Inc., 59 Temple Place - Suit
17    
18  #include <stdbool.h>  #include <stdbool.h>
19    
20    /* Keyboard states. If you change these values, you should also
21       rearrange the entries in the key map.  */
22    
23    /* "state indices" (for computing key map index) */
24    #define NORM_STATE      0
25    #define SHIFT_STATE     1
26    #define CTRL_STATE      2
27    #define ALT_STATE       3
28    #define SHIFT_ALT       4
29    
30    #define NUMKEYS         89
31    #define NUMSTATES       5       /* NORMAL_STATE, ... */
32    #define NUMOUTPUT       3       /* Max size of byte seq from key.  */
33    #define WIDTH_KMAP      (NUMSTATES * NUMOUTPUT)
34    
35    /* Macro to convert from state index to actual key map index.  */
36    #define CHARIDX(sidx)   ((sidx) * NUMOUTPUT)
37                            /* where sidx is in [NORM_STATE ... SHIFT_ALT] */
38    
39    /* Keyboard states -- used for updating leds among others.  */
40    #define KBS_NORMAL      0x00    /* normal */
41    #define KBS_SHIFTED     0x01    /* shifted */
42    #define KBS_CTRLED      0x02    /* ctrled */
43    #define KBS_ALTED       0x04    /* alted */
44    #define KBS_CPLK        0x10    /* caps lock */
45    #define KBS_SCLK        0x20    /* screen-locked */
46    #define KBS_NUMLK       0x40    /* num-locked */
47    
48    /* Special codes.  */
49    #define K_UP            0x80    /* OR'd in if key below is released */
50    #define K_EXTEND        0xe0    /* marker for "extended" sequence */
51    #define K_ACKSC         0xfa    /* ack for keyboard command */
52    #define K_RESEND        0xfe    /* request to resend keybd cmd */
53    
54    /* Modifier keys. */
55    #define K_CTLSC         0x1d    /* control down         */
56    #define K_LSHSC         0x2a    /* left shift down      */
57    #define K_RSHSC         0x36    /* right shift down     */
58    #define K_ALTSC         0x38    /* alt key down         */
59    #define K_CLCKSC        0x3a    /* caps lock            */
60    #define K_NLCKSC        0x45    /* num lock down        */
61    
62    /* "Special keys". */
63    #define K_bsSC          0x0e    /* backspace */
64    #define K_tabSC         0x0f    /* tab */
65    #define K_retSC         0x1c    /* return */
66    #define K_spSC          0x39    /* space */
67    #define K_escSC         0x01    /* ESC */
68    
69    /* Alphabetic keys */
70    #define K_qSC           0x10
71    #define K_wSC           0x11
72    #define K_eSC           0x12
73    #define K_rSC           0x13
74    #define K_tSC           0x14
75    #define K_ySC           0x15
76    #define K_uSC           0x16
77    #define K_iSC           0x17
78    #define K_oSC           0x18
79    #define K_pSC           0x19
80    
81    #define K_aSC           0x1e
82    #define K_sSC           0x1f
83    #define K_dSC           0x20
84    #define K_fSC           0x21
85    #define K_gSC           0x22
86    #define K_hSC           0x23
87    #define K_jSC           0x24
88    #define K_kSC           0x25
89    #define K_lSC           0x26
90    
91    #define K_zSC           0x2c
92    #define K_xSC           0x2d
93    #define K_cSC           0x2e
94    #define K_vSC           0x2f
95    #define K_bSC           0x30
96    #define K_nSC           0x31
97    #define K_mSC           0x32
98    
99    /* Numbers and punctuation.  */
100    #define K_1SC           0x02            /* 1    */
101    #define K_2SC           0x03            /* 2    */
102    #define K_3SC           0x04            /* 3    */
103    #define K_4SC           0x05            /* 4    */
104    #define K_5SC           0x06            /* 5    */
105    #define K_6SC           0x07            /* 6    */
106    #define K_7SC           0x08            /* 7    */
107    #define K_8SC           0x09            /* 8    */
108    #define K_9SC           0x0a            /* 9    */
109    #define K_0SC           0x0b            /* 0    */
110    
111    #define K_minusSC       0x0c            /* -    */
112    #define K_eqlSC         0x0d            /* =    */
113    #define K_lbrktSC       0x1a            /* [    */
114    #define K_rbrktSC       0x1b            /* ]    */
115    #define K_semiSC        0x27            /* ;    */
116    #define K_squoteSC      0x28            /* '    */
117    #define K_gravSC        0x29            /* `    */
118    #define K_bslashSC      0x2b            /* \    */
119    #define K_commaSC       0x33            /* ,    */
120    #define K_periodSC      0x34            /* .    */
121    #define K_slashSC       0x35            /* /    */
122    
123    #define K_dollarSC      0x2a            /* $ ?? */
124    
125    /* Keypad keys.  */
126    #define K_homeSC        0x47            /* scancode for home    */
127    #define K_delSC         0x53            /* scancode for del     */
128    
129    /* ASCII sequences to be generated by the named key */
130    #define K_F1            0x1b,0x4f,0x50
131    #define K_F1S           0x1b,0x4f,0x70
132    #define K_F2            0x1b,0x4f,0x51
133    #define K_F2S           0x1b,0x4f,0x71
134    #define K_F3            0x1b,0x4f,0x52
135    #define K_F3S           0x1b,0x4f,0x72
136    #define K_F4            0x1b,0x4f,0x53
137    #define K_F4S           0x1b,0x4f,0x73
138    #define K_F5            0x1b,0x4f,0x54
139    #define K_F5S           0x1b,0x4f,0x74
140    #define K_F6            0x1b,0x4f,0x55
141    #define K_F6S           0x1b,0x4f,0x75
142    #define K_F7            0x1b,0x4f,0x56
143    #define K_F7S           0x1b,0x4f,0x76
144    #define K_F8            0x1b,0x4f,0x57
145    #define K_F8S           0x1b,0x4f,0x77
146    #define K_F9            0x1b,0x4f,0x58
147    #define K_F9S           0x1b,0x4f,0x78
148    #define K_F10           0x1b,0x4f,0x59
149    #define K_F10S          0x1b,0x4f,0x79
150    #define K_F11           0x1b,0x4f,0x5a
151    #define K_F11S          0x1b,0x4f,0x7a
152    #define K_F12           0x1b,0x4f,0x41
153    #define K_F12S          0x1b,0x4f,0x61
154    
155    #define K_SCRL          0x1b,0x5b,0x4d
156    #define K_HOME          0x1b,0x5b,0x48
157    #define K_UA            0x1b,0x5b,0x41
158    #define K_PUP           0x1b,0x5b,0x56
159    #define K_LA            0x1b,0x5b,0x44
160    #define K_RA            0x1b,0x5b,0x43
161    #define K_END           0x1b,0x5b,0x59
162    #define K_DA            0x1b,0x5b,0x42
163    #define K_PDN           0x1b,0x5b,0x55
164    #define K_INS           0x1b,0x5b,0x40
165    
166  struct cons_vt  struct cons_vt
167    {    {
168        /* TTY for this virtual terminal.  */
169        struct tty *tty;
170    
171      /* Video buffer for this virtual terminal, if it's off-screen.      /* Video buffer for this virtual terminal, if it's off-screen.
172         If this VT is the current VT, we do not use this.  */         If this VT is the current VT, we do not use this.  */
173      void *video_buffer;      void *video_buffer;
# Line 29  struct cons_vt Line 178  struct cons_vt
178      bool active_p: 1;      bool active_p: 1;
179    };    };
180    
181    /* Initialize the console -- we do not do this through the module
182       switch, since we need the console before that.  */
183    kern_return_t cons_init (void);
184    

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26