1 /* $Id: winXKey.h,v 5.0 2001/04/07 20:00:59 dik Exp $
2  *
3  * XPilot, a multiplayer gravity war game.  Copyright (C) 1991-2001 by
4  *
5  *      Bj�rn Stabell        <bjoern@xpilot.org>
6  *      Ken Ronny Schouten   <ken@xpilot.org>
7  *      Bert Gijsbers        <bert@xpilot.org>
8  *      Dick Balaska         <dick@xpilot.org>
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  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23  */
24 
25 /***************************************************************************\
26 *  winXKey.h - X11 to Windoze converter										*
27 *																			*
28 *  This file contains X11 style kb definitions for Winodoze.				*
29 *  These all come from Xutil.h												*
30 *																			*
31 *  $Id: winXKey.h,v 5.0 2001/04/07 20:00:59 dik Exp $							*
32 \***************************************************************************/
33 #ifndef	_WINXKEY_H_
34 #define	_WINXKEY_H_
35 
36 #ifdef	_WINDOWS
37 
38 
39 /*
40  * Compose sequence status structure, used in calling XLookupString.
41  */
42 typedef struct _XComposeStatus {
43     XPointer compose_ptr;   /* state table pointer */
44     int chars_matched;      /* match state */
45 } XComposeStatus;
46 
47 /* lifted from keysymdef.h */
48 #define XK_BackSpace            0xFF08  /* back space, back char */
49 #define XK_Tab                  0xFF09
50 #define XK_Linefeed             0xFF0A  /* Linefeed, LF */
51 #define XK_Clear                0xFF0B
52 #define XK_Return               0xFF0D  /* Return, enter */
53 #define XK_Pause                0xFF13  /* Pause, hold */
54 #define XK_Scroll_Lock          0xFF14
55 #define XK_Sys_Req              0xFF15
56 #define XK_Escape               0xFF1B
57 #define XK_Delete               0xFFFF  /* Delete, rubout */
58 
59 #define XK_Home                 0xFF50
60 #define XK_Left                 0xFF51  /* Move left, left arrow */
61 #define XK_Up                   0xFF52  /* Move up, up arrow */
62 #define XK_Right                0xFF53  /* Move right, right arrow */
63 #define XK_Down                 0xFF54  /* Move down, down arrow */
64 #define XK_Prior                0xFF55  /* Prior, previous */
65 #define XK_Page_Up              0xFF55
66 #define XK_Next                 0xFF56  /* Next */
67 #define XK_Page_Down            0xFF56
68 #define XK_End                  0xFF57  /* EOL */
69 #define XK_Begin                0xFF58  /* BOL */
70 
71 
72 
73 #define XK_KP_Space             0xFF80  /* space */
74 #define XK_KP_Tab               0xFF89
75 #define XK_KP_Enter             0xFF8D  /* enter */
76 #define XK_KP_F1                0xFF91  /* PF1, KP_A, ... */
77 #define XK_KP_F2                0xFF92
78 #define XK_KP_F3                0xFF93
79 #define XK_KP_F4                0xFF94
80 #define XK_KP_Home              0xFF95
81 #define XK_KP_Left              0xFF96
82 #define XK_KP_Up                0xFF97
83 #define XK_KP_Right             0xFF98
84 #define XK_KP_Down              0xFF99
85 #define XK_KP_Prior             0xFF9A
86 #define XK_KP_Page_Up           0xFF9A
87 #define XK_KP_Next              0xFF9B
88 #define XK_KP_Page_Down         0xFF9B
89 #define XK_KP_End               0xFF9C
90 #define XK_KP_Begin             0xFF9D
91 #define XK_KP_Insert            0xFF9E
92 #define XK_KP_Delete            0xFF9F
93 #define XK_KP_Equal             0xFFBD  /* equals */
94 #define XK_KP_Multiply          0xFFAA
95 #define XK_KP_Add               0xFFAB
96 #define XK_KP_Separator         0xFFAC  /* separator, often comma */
97 #define XK_KP_Subtract          0xFFAD
98 #define XK_KP_Decimal           0xFFAE
99 #define XK_KP_Divide            0xFFAF
100 
101 #define XK_KP_0                 0xFFB0
102 #define XK_KP_1                 0xFFB1
103 #define XK_KP_2                 0xFFB2
104 #define XK_KP_3                 0xFFB3
105 #define XK_KP_4                 0xFFB4
106 #define XK_KP_5                 0xFFB5
107 #define XK_KP_6                 0xFFB6
108 #define XK_KP_7                 0xFFB7
109 #define XK_KP_8                 0xFFB8
110 #define XK_KP_9                 0xFFB9
111 
112 #define XK_space               0x020
113 #define XK_exclam              0x021
114 #define XK_quotedbl            0x022
115 #define XK_numbersign          0x023
116 #define XK_dollar              0x024
117 #define XK_percent             0x025
118 #define XK_ampersand           0x026
119 #define XK_apostrophe          0x027
120 #define XK_quoteright          0x027    /* deprecated */
121 #define XK_parenleft           0x028
122 #define XK_parenright          0x029
123 #define XK_asterisk            0x02a
124 #define XK_plus                0x02b
125 #define XK_comma               0x02c
126 #define XK_minus               0x02d
127 #define XK_period              0x02e
128 #define XK_slash               0x02f
129 #define XK_0                   0x030
130 #define XK_1                   0x031
131 #define XK_2                   0x032
132 #define XK_3                   0x033
133 #define XK_4                   0x034
134 #define XK_5                   0x035
135 #define XK_6                   0x036
136 #define XK_7                   0x037
137 #define XK_8                   0x038
138 #define XK_9                   0x039
139 #define XK_colon               0x03a
140 #define XK_semicolon           0x03b
141 #define XK_less                0x03c
142 #define XK_equal               0x03d
143 #define XK_greater             0x03e
144 #define XK_question            0x03f
145 #define XK_at                  0x040
146 #define XK_A                   0x041
147 #define XK_B                   0x042
148 #define XK_C                   0x043
149 #define XK_D                   0x044
150 #define XK_E                   0x045
151 #define XK_F                   0x046
152 #define XK_G                   0x047
153 #define XK_H                   0x048
154 #define XK_I                   0x049
155 #define XK_J                   0x04a
156 #define XK_K                   0x04b
157 #define XK_L                   0x04c
158 #define XK_M                   0x04d
159 #define XK_N                   0x04e
160 #define XK_O                   0x04f
161 #define XK_P                   0x050
162 #define XK_Q                   0x051
163 #define XK_R                   0x052
164 #define XK_S                   0x053
165 #define XK_T                   0x054
166 #define XK_U                   0x055
167 #define XK_V                   0x056
168 #define XK_W                   0x057
169 #define XK_X                   0x058
170 #define XK_Y                   0x059
171 #define XK_Z                   0x05a
172 #define XK_bracketleft         0x05b
173 #define XK_backslash           0x05c
174 #define XK_bracketright        0x05d
175 #define XK_asciicircum         0x05e
176 #define XK_underscore          0x05f
177 #define XK_grave               0x060
178 #define XK_quoteleft           0x060    /* deprecated */
179 #define XK_a                   0x061
180 #define XK_b                   0x062
181 #define XK_c                   0x063
182 #define XK_d                   0x064
183 #define XK_e                   0x065
184 #define XK_f                   0x066
185 #define XK_g                   0x067
186 #define XK_h                   0x068
187 #define XK_i                   0x069
188 #define XK_j                   0x06a
189 #define XK_k                   0x06b
190 #define XK_l                   0x06c
191 #define XK_m                   0x06d
192 #define XK_n                   0x06e
193 #define XK_o                   0x06f
194 #define XK_p                   0x070
195 #define XK_q                   0x071
196 #define XK_r                   0x072
197 #define XK_s                   0x073
198 #define XK_t                   0x074
199 #define XK_u                   0x075
200 #define XK_v                   0x076
201 #define XK_w                   0x077
202 #define XK_x                   0x078
203 #define XK_y                   0x079
204 #define XK_z                   0x07a
205 #define XK_braceleft           0x07b
206 #define XK_bar                 0x07c
207 #define XK_braceright          0x07d
208 #define XK_asciitilde          0x07e
209 
210 extern	XLookupKeysym(XKeyEvent* key_event, int index);
211 extern	XLookupString(XKeyEvent* key_event, char* buffer_return, int bytes_buffer,
212 					  KeySym* keysym_return, XComposeStatus* status_in_out);
213 
214 
215 #endif	/* _WINDOWS */
216 
217 #endif	/* _WINXKEY_H_ */
218