Mercurial > sdl-ios-xcode
annotate test/testtypes.c @ 1282:217f5d5a49e5
Date: Sat, 15 Jan 2005 02:01:51 +0000 (UTC)
From: jimrandomh
Subject: [SDL] Re: Modifier keys pressed during initialization stick
I wrote a simple test program which initializes SDL, prints the SDL
version number, then prints any keydown and keyup events with their
modifiers. (Source code below). Compilation was done using Visual
Studio 6, release mode.
My test sequence was:
Start a command prompt. Type the name of the test program.
shift down
enter down (program starts)
Wait for window to appear
enter up
shift up
spacebar down
spacebar up
Under Windows 98, the output was correct:
SDL 1.2.8
left shift down
shift-return down
shift-return up
left shift up
space down
space up
Under Windows 2000 and under Windows XP, the output was:
SDL 1.2.8
shift-space down
shift-space up
Since shift was not held at the time space was pressed, this is
incorrect. Similar results were observed with launching in different
ways (including double-clicking in Windows Explorer), so it does not
depend on the launching terminal.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 29 Jan 2006 07:57:13 +0000 |
parents | d93862a3d821 |
children | 835c1831f903 |
rev | line source |
---|---|
0 | 1 |
2 #include <stdio.h> | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
3 #include <stdlib.h> |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
4 #include <string.h> |
47
45b1c4303f87
Added initial support for Quartz video (thanks Darrell!)
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
5 #include "SDL_main.h" |
0 | 6 #include "SDL_types.h" |
7 | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
8 /* |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
9 * Watcom C flags these as Warning 201: "Unreachable code" if you just |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
10 * compare them directly, so we push it through a function to keep the |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
11 * compiler quiet. --ryan. |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
12 */ |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
13 static int badsize(size_t sizeoftype, size_t hardcodetype) |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
14 { |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
15 return sizeoftype != hardcodetype; |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
16 } |
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
17 |
0 | 18 int main(int argc, char *argv[]) |
19 { | |
20 int error = 0; | |
21 int verbose = 1; | |
22 | |
23 if ( argv[1] && (strcmp(argv[1], "-q") == 0) ) | |
24 verbose = 0; | |
25 | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
26 if ( badsize(sizeof(Uint8), 1) ) { |
0 | 27 if ( verbose ) |
28 printf("sizeof(Uint8) != 1, instead = %d\n", | |
29 sizeof(Uint8)); | |
30 ++error; | |
31 } | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
32 if ( badsize(sizeof(Uint16), 2) ) { |
0 | 33 if ( verbose ) |
34 printf("sizeof(Uint16) != 2, instead = %d\n", | |
35 sizeof(Uint16)); | |
36 ++error; | |
37 } | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
38 if ( badsize(sizeof(Uint32), 4) ) { |
0 | 39 if ( verbose ) |
40 printf("sizeof(Uint32) != 4, instead = %d\n", | |
41 sizeof(Uint32)); | |
42 ++error; | |
43 } | |
44 #ifdef SDL_HAS_64BIT_TYPE | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
47
diff
changeset
|
45 if ( badsize(sizeof(Uint64), 8) ) { |
0 | 46 if ( verbose ) |
47 printf("sizeof(Uint64) != 8, instead = %d\n", | |
48 sizeof(Uint64)); | |
49 ++error; | |
50 } | |
51 #else | |
52 if ( verbose ) { | |
53 printf("WARNING: No 64-bit datatype on this platform\n"); | |
54 } | |
55 #endif | |
56 if ( verbose && ! error ) | |
57 printf("All data types are the expected size.\n"); | |
58 | |
59 return( error ? 1 : 0 ); | |
60 } |