Mercurial > sdl-ios-xcode
annotate BUGS @ 172:37e3ca9254c7
Date: Sat, 8 Sep 2001 04:42:23 +0200
From: Max Horn <max@quendi.de>
Subject: SDL/OSX: Joystick; Better key handling
I just finished implementing improved keyhandling for OS X (in fact
the code should be easily ported to the "normal" MacOS part of SDL, I
just had no chance yet). Works like this:
First init the mapping table statically like before. Them, it queries
the OS for the "official" key table, then iterates over all 127
scancode and gets the associates ascii code. It ignores everythng
below 32 (has to, as it would lead to many problems if we did not...
e.g. both ESC and NUM LOCk produce an ascii code 27 on my keyboard),
and all stuff above 127 is mapped to SDLK_WORLD_* simply in the order
it is encountered.
In addition, caps lock is now working, too.
The code work flawless for me, but since I only have one keyboard, I
may have not encountered some serious problem... but I am pretty
confident that it is better than the old code in most cases.
The joystick driver works fine for me, too. I think it can be added
to CVS already. It would simply be helpful if more people would test
it. Hm, I wonder if Maelstrom or GLTron has Joystick support? That
would be a wonderful test application :)
I also took the liberty of modifying some text files like BUGS,
README.CVS, README.MacOSX (which now contains the OS X docs I long
promised)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 11 Sep 2001 19:00:18 +0000 |
parents | 50d2b5305c2c |
children | 74a8f672f2f8 |
rev | line source |
---|---|
0 | 1 |
2 All: | |
3 Audio rate conversion is only implemented by multiplying or dividing | |
4 by a power of two. This is a side-effect of the requirement that the | |
5 raw audio buffer size be a power of two, and can hopefully be fixed. | |
6 This means 8 KHz audio converted to 22 KHz ends up being 16 KHz. :-/ | |
7 | |
8 When the implementation is writing directly to video memory the mouse | |
9 cursor doesn't work properly. Applications which do this should use | |
10 their own mouse cursor and call SDL_ShowCursor(0) to hide the system | |
11 cursor. | |
12 | |
13 Linux: | |
14 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
15 It requires handling of keyboard mapping events and using the XIM | |
16 input translation extension. I will implement it as requested. | |
17 Latin-1 keyboard input works fine. | |
18 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
19 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
20 |
0 | 21 The AAlib, GGI, and SVGAlib video drivers are not heavily tested. |
22 | |
23 Win32: | |
24 The MCI driver can't tell if the CD-ROM drive is paused or stopped. | |
25 | |
26 The SDL_INIT_EVENTTHREAD flag is not supported on Win32 | |
27 (Idea: create a separate DirectInput polling thread) | |
28 The main purpose of this flag is for smooth cursor motion in | |
29 fullscreen environments. | |
30 | |
31 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
32 This requires the ToUnicode() API which is only implemented on | |
33 Windows NT/2000, not on Windows 95/98. | |
34 Latin-1 keyboard input works fine. | |
35 | |
36 Joysticks are only supported under the Win32 MultiMedia API, | |
37 DirectInput support is not yet implemented. | |
38 | |
39 BeOS: | |
40 BePPC is not supported, apparently not even by Be Inc. | |
41 | |
42 SDL_WM_GrabInput() is not implemented. | |
43 Does anyone know how to do this? SDL_WM_GrabInput() is designed | |
44 to prevent the user from switching input and mouse focus away from | |
45 the SDL application. | |
46 | |
47 Continuous relative mouse motion is not implemented. | |
48 | |
49 Wide UNICODE character input (Kanji, etc.) has not been tested. | |
50 Latin-1 keyboard input works fine. | |
51 | |
52 MacOS: | |
53 Palette handling isn't implemented in windowed mode yet. | |
54 | |
55 Audio hasn't been extensively tested, in particular the locking | |
56 isn't implemented and mixer routines may not call malloc() or free() | |
57 because they are called at interrupt time. | |
58 | |
59 SDL_WM_GrabInput() is not implemented. | |
60 Does anyone know how to do this? SDL_WM_GrabInput() is designed | |
61 to prevent the user from switching input and mouse focus away from | |
62 the SDL application. | |
63 | |
64 Continuous relative mouse motion is not implemented. | |
65 | |
66 SDL_AddTimer() and SDL_RemoveTimer() haven't been implemented yet. | |
67 | |
68 Not all of the keys are properly recognized on the keyboard. | |
69 | |
70 MacOS X: | |
172
37e3ca9254c7
Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents:
154
diff
changeset
|
71 CD-ROM functions are not implemented yet. |
0 | 72 |
172
37e3ca9254c7
Date: Sat, 8 Sep 2001 04:42:23 +0200
Sam Lantinga <slouken@libsdl.org>
parents:
154
diff
changeset
|
73 Joystick code is not extensively tested yet. |
58
bd6b0a910a65
* Removed fullscreen menu option from the "Window" menu
Sam Lantinga <slouken@lokigames.com>
parents:
47
diff
changeset
|
74 |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
75 Window may not close when unsetting video mode and resetting. |
58
bd6b0a910a65
* Removed fullscreen menu option from the "Window" menu
Sam Lantinga <slouken@lokigames.com>
parents:
47
diff
changeset
|
76 |
bd6b0a910a65
* Removed fullscreen menu option from the "Window" menu
Sam Lantinga <slouken@lokigames.com>
parents:
47
diff
changeset
|
77 Resizeable windows aren't implemented yet. |
bd6b0a910a65
* Removed fullscreen menu option from the "Window" menu
Sam Lantinga <slouken@lokigames.com>
parents:
47
diff
changeset
|
78 |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
79 Depth switching for windowed mode isn't implemented yet. |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
80 |
0 | 81 Palette handling isn't implemented in windowed mode yet. |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
82 |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
83 Command-line arguments Dialog is not implemented yet. |
0 | 84 |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
85 Fullscreen drawing has some artifacts. |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
86 |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
87 Fullscreen window covers *all* other windows - even force quit. |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
88 |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
89 Fullscreen OpenGL for the software renderer is broken. |
0 | 90 |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
91 Some OpenGL parameters are not accounted for, for example color bits customization. |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
92 |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
93 Getting OpenGL context parameters is not implemented. |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
94 |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
95 Continuous mouse motion perhaps is not as smooth as it should be. |
0 | 96 |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
97 SDL_WM_GrabInput() is implemented, but it "freezes" the hardware |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
98 cursor in the center of the window/screen. Also, mouse moved events |
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
27
diff
changeset
|
99 are not generated, and the keyboard cannot be grabbed. |
0 | 100 |
101 MacOS X seems to have a broken pthread_cancel() implementation. | |
102 | |
103 FreeBSD: | |
104 pthread_cancel() isn't supported by FreeBSD 3.X, so threads don't | |
105 work on versions of FreeBSD earlier than 4.0. | |
106 | |
107 The CD-ROM handling doesn't work completely. | |
108 | |
109 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
110 It requires handling of keyboard mapping events and using the XIM | |
111 input translation extension. I will implement it as requested. | |
112 Latin-1 keyboard input works fine. | |
113 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
114 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
115 |
0 | 116 Solaris: |
117 The joystick functions are not implemented yet. | |
118 | |
119 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
120 It requires handling of keyboard mapping events and using the XIM | |
121 input translation extension. I will implement it as requested. | |
122 Latin-1 keyboard input works fine. | |
123 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
124 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
125 |
0 | 126 IRIX: |
127 The CD-ROM handling doesn't work completely. | |
128 | |
129 The joystick functions are not implemented yet. | |
130 | |
131 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
132 It requires handling of keyboard mapping events and using the XIM | |
133 input translation extension. I will implement it as requested. | |
134 Latin-1 keyboard input works fine. | |
135 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
136 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
137 |
0 | 138 OpenBSD: -= NOT YET SUPPORTED =- |
139 This is reported to work, but I haven't verified this. | |
140 | |
141 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
142 It requires handling of keyboard mapping events and using the XIM | |
143 input translation extension. I will implement it as requested. | |
144 Latin-1 keyboard input works fine. | |
145 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
146 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
147 |
0 | 148 OSF/Tru64: -= NOT YET SUPPORTED =- |
149 The audio functions are not implemented yet. | |
150 | |
151 Joysticks and CD-ROM functions are not implemented yet. | |
152 | |
153 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
154 It requires handling of keyboard mapping events and using the XIM | |
155 input translation extension. I will implement it as requested. | |
156 Latin-1 keyboard input works fine. | |
157 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
158 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
159 |
0 | 160 AIX: -= NOT YET SUPPORTED =- |
161 This port has only been tested with AIX 4.3.3 | |
162 | |
163 The OpenGL support doesn't work yet. | |
164 | |
165 The joystick subsystem isn't implemented yet. | |
166 | |
167 Endian detection doesn't work yet - needs a unique CPP symbol. | |
168 | |
169 Wide UNICODE character input (Kanji, etc.) is not yet supported. | |
170 It requires handling of keyboard mapping events and using the XIM | |
171 input translation extension. I will implement it as requested. | |
172 Latin-1 keyboard input works fine. | |
173 | |
27
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
174 The keyboard modifiers are not set to the correct state on startup. |
a7e598a8d8be
The keyboard modifiers are not set to the correct state on X11 startup.
Sam Lantinga <slouken@lokigames.com>
parents:
21
diff
changeset
|
175 |
0 | 176 The AIX port was done by Carsten.Griwodz@KOM.tu-darmstadt.de |
177 More information on this port is available at: | |
178 http://www.kom.e-technik.tu-darmstadt.de/~griff/SDL/ | |
179 | |
180 QNX: -= NOT YET SUPPORTED =- | |
181 Configuration doesn't work right, Makefiles still need to be | |
182 tweaked (need to add libraries to any apps that use sdl_config | |
183 to figure out what libs they need). | |
184 | |
185 Only static libraries are being made, no shared ones. | |
186 | |
187 The only hardware surface is the primary view surface. | |
188 | |
189 Mouse events don't seem to be working right. | |
190 | |
191 Fullscreen doesn't display correctly. | |
192 | |
193 The software surfaces could use some speed up. | |
194 | |
195 It doesn't look like the OpenGL stuff is there. (did a grep for | |
196 PdCreateOpenGLContext, nothing found). | |
197 | |
198 The mouse cursor doesn't look right. | |
199 | |
200 AmigaOS: -= NOT YET SUPPORTED =- | |
201 The OpenGL support isn't implemented yet. | |
202 | |
203 SDL_WM_GrabInput() is not implemented. | |
204 Does anyone know how to do this? SDL_WM_GrabInput() is designed | |
205 to prevent the user from switching input and mouse focus away from | |
206 the SDL application. | |
207 | |
208 Continuous relative mouse motion is not implemented. | |
209 | |
210 The AmigaOS port was done by Gabriele.Greco@galactica.it |