You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(1) |
2
|
|
3
|
4
(3) |
5
|
6
|
7
|
8
|
9
(12) |
|
10
|
11
(4) |
12
(18) |
13
(2) |
14
(1) |
15
|
16
|
|
17
(1) |
18
(2) |
19
(1) |
20
|
21
|
22
|
23
|
|
24
|
25
(2) |
26
|
27
(2) |
28
(7) |
29
(2) |
30
(1) |
|
From: Elias N. <eli...@us...> - 2005-04-11 12:54:21
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29265/common Modified Files: extal.c Log Message: Fixed compile warnings Index: extal.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extal.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- extal.c 11 Apr 2005 12:38:00 -0000 1.23 +++ extal.c 11 Apr 2005 12:54:12 -0000 1.24 @@ -106,39 +106,48 @@ return p; } -/** - * Loads the OpenAL Library - */ -static bool LoadOpenAL(JNIEnv *env, jobjectArray oalPaths) { - jsize pathcount = (*env)->GetArrayLength(env, oalPaths); - int i; - jstring path; - const char *path_str; - - printfDebug("Found %d OpenAL paths\n", (int)pathcount); - for(i=0;i<pathcount;i++) { - path = (jstring) (*env)->GetObjectArrayElement(env, oalPaths, i); +static void tryLoadLibrary(JNIEnv *env, jstring path) { #ifdef _WIN32 - path_str = GetStringNativeChars(env, path); + char *path_str = GetStringNativeChars(env, path); printfDebug("Testing '%s'\n", path_str); handleOAL = LoadLibrary(path_str); + if (handleOAL != NULL) { + printfDebugJava(env, "Found OpenAL at '%s'\n", path_str); + } free(path_str); #endif #ifdef _X11 - path_str = GetStringNativeChars(env, path); + char *path_str = GetStringNativeChars(env, path); printfDebug("Testing '%s'\n", path_str); handleOAL = dlopen(path_str, RTLD_LAZY); + if (handleOAL != NULL) { + printfDebugJava(env, "Found OpenAL at '%s'\n", path_str); + } free(path_str); #endif #ifdef _MACOSX - path_str = (*env)->GetStringUTFChars(env, path, NULL); + const char *path_str = (*env)->GetStringUTFChars(env, path, NULL); printfDebug("Testing '%s'\n", path_str); handleOAL = NSAddImage(path_str, NSADDIMAGE_OPTION_RETURN_ON_ERROR); - (*env)->ReleaseStringUTFChars(env, path, path_str); -#endif if (handleOAL != NULL) { - printfDebug("Found OpenAL at '%s'\n", path_str); + printfDebugJava(env, "Found OpenAL at '%s'\n", path_str); } + (*env)->ReleaseStringUTFChars(env, path, path_str); +#endif +} + +/** + * Loads the OpenAL Library + */ +static bool LoadOpenAL(JNIEnv *env, jobjectArray oalPaths) { + jsize pathcount = (*env)->GetArrayLength(env, oalPaths); + int i; + jstring path; + + printfDebug("Found %d OpenAL paths\n", (int)pathcount); + for(i=0;i<pathcount;i++) { + path = (jstring) (*env)->GetObjectArrayElement(env, oalPaths, i); + tryLoadLibrary(env, path); if (handleOAL != NULL) { return true; } |
|
From: Elias N. <eli...@us...> - 2005-04-11 12:38:28
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20641/common Modified Files: extal.c Log Message: Mac OS X: Use GetStringUTFChars instead of GetNativeChars to get the openal path Index: extal.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extal.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- extal.c 9 Mar 2005 13:06:17 -0000 1.22 +++ extal.c 11 Apr 2005 12:38:00 -0000 1.23 @@ -113,26 +113,32 @@ jsize pathcount = (*env)->GetArrayLength(env, oalPaths); int i; jstring path; - char *path_str; + const char *path_str; printfDebug("Found %d OpenAL paths\n", (int)pathcount); for(i=0;i<pathcount;i++) { path = (jstring) (*env)->GetObjectArrayElement(env, oalPaths, i); +#ifdef _WIN32 path_str = GetStringNativeChars(env, path); printfDebug("Testing '%s'\n", path_str); -#ifdef _WIN32 handleOAL = LoadLibrary(path_str); + free(path_str); #endif #ifdef _X11 + path_str = GetStringNativeChars(env, path); + printfDebug("Testing '%s'\n", path_str); handleOAL = dlopen(path_str, RTLD_LAZY); + free(path_str); #endif #ifdef _MACOSX + path_str = (*env)->GetStringUTFChars(env, path, NULL); + printfDebug("Testing '%s'\n", path_str); handleOAL = NSAddImage(path_str, NSADDIMAGE_OPTION_RETURN_ON_ERROR); + (*env)->ReleaseStringUTFChars(env, path, path_str); #endif if (handleOAL != NULL) { printfDebug("Found OpenAL at '%s'\n", path_str); } - free(path_str); if (handleOAL != NULL) { return true; } |
|
From: Elias N. <eli...@us...> - 2005-04-11 10:00:19
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/linux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv485 Modified Files: org_lwjgl_input_Keyboard.c Log Message: Linux: Improved keyboard mapping support Index: org_lwjgl_input_Keyboard.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_input_Keyboard.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- org_lwjgl_input_Keyboard.c 9 Apr 2005 23:26:27 -0000 1.17 +++ org_lwjgl_input_Keyboard.c 11 Apr 2005 10:00:09 -0000 1.18 @@ -57,6 +57,10 @@ #define KEY_EVENT_BACKLOG 40 static unsigned char key_buf[KEYBOARD_SIZE]; +static int numlock_mask; +static int modeswitch_mask; +static int caps_lock_mask; +static int shift_lock_mask; static event_queue_t event_queue; @@ -93,7 +97,7 @@ } } -static void closeUnicodeStructs() { +static void cleanup() { if (iconv_descriptor != (iconv_t)-1) { iconv_close(iconv_descriptor); iconv_descriptor = (iconv_t)-1; @@ -126,7 +130,44 @@ keyboard_grabbed = false; initEventQueue(&event_queue, 3); updateKeyboardGrab(); - + XModifierKeymap *modifier_map = XGetModifierMapping(getDisplay()); + numlock_mask = 0; + modeswitch_mask = 0; + caps_lock_mask = 0; + shift_lock_mask = 0; + if (modifier_map != NULL) { + // Find modifier masks + int i, j; + for (i = 0; i < 8; i++) { + for (j = 0; j < modifier_map->max_keypermod; j++) { + KeyCode key_code = modifier_map->modifiermap[i*modifier_map->max_keypermod + j]; + KeySym key_sym = XKeycodeToKeysym(getDisplay(), key_code, 0); + int mask = 1 << i; + switch (key_sym) { + case XK_Num_Lock: + numlock_mask |= mask; + break; + case XK_Mode_switch: + modeswitch_mask |= mask; + break; + case XK_Caps_Lock: + if (i == LockMapIndex) { + caps_lock_mask = mask; + shift_lock_mask = 0; + } + break; + case XK_Shift_Lock: + if (i == LockMapIndex && caps_lock_mask == 0) + shift_lock_mask = mask; + break; + default: + break; + } + } + } + XFreeModifiermap(modifier_map); + } + // Allocate unicode structures iconv_descriptor = iconv_open("UCS-2", "UTF-8"); if (iconv_descriptor != (iconv_t)-1) { @@ -136,17 +177,17 @@ if (xic != NULL) { setupIMEventMask(); } else { - closeUnicodeStructs(); + cleanup(); } } else - closeUnicodeStructs(); + cleanup(); } } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_nDestroyKeyboard (JNIEnv * env, jclass clazz) { - closeUnicodeStructs(); + cleanup(); ungrabKeyboard(); created = false; } @@ -394,65 +435,142 @@ case XK_grave: return org_lwjgl_input_Keyboard_KEY_GRAVE; case XK_a: + case XK_A: return org_lwjgl_input_Keyboard_KEY_A; case XK_b: + case XK_B: return org_lwjgl_input_Keyboard_KEY_B; case XK_c: + case XK_C: return org_lwjgl_input_Keyboard_KEY_C; case XK_d: + case XK_D: return org_lwjgl_input_Keyboard_KEY_D; case XK_e: + case XK_E: return org_lwjgl_input_Keyboard_KEY_E; case XK_f: + case XK_F: return org_lwjgl_input_Keyboard_KEY_F; case XK_g: + case XK_G: return org_lwjgl_input_Keyboard_KEY_G; case XK_h: + case XK_H: return org_lwjgl_input_Keyboard_KEY_H; case XK_i: + case XK_I: return org_lwjgl_input_Keyboard_KEY_I; case XK_j: + case XK_J: return org_lwjgl_input_Keyboard_KEY_J; case XK_k: + case XK_K: return org_lwjgl_input_Keyboard_KEY_K; case XK_l: + case XK_L: return org_lwjgl_input_Keyboard_KEY_L; case XK_m: + case XK_M: return org_lwjgl_input_Keyboard_KEY_M; case XK_n: + case XK_N: return org_lwjgl_input_Keyboard_KEY_N; case XK_o: + case XK_O: return org_lwjgl_input_Keyboard_KEY_O; case XK_p: + case XK_P: return org_lwjgl_input_Keyboard_KEY_P; case XK_q: + case XK_Q: return org_lwjgl_input_Keyboard_KEY_Q; case XK_r: + case XK_R: return org_lwjgl_input_Keyboard_KEY_R; case XK_s: + case XK_S: return org_lwjgl_input_Keyboard_KEY_S; case XK_t: + case XK_T: return org_lwjgl_input_Keyboard_KEY_T; case XK_u: + case XK_U: return org_lwjgl_input_Keyboard_KEY_U; case XK_v: + case XK_V: return org_lwjgl_input_Keyboard_KEY_V; case XK_w: + case XK_W: return org_lwjgl_input_Keyboard_KEY_W; case XK_x: + case XK_X: return org_lwjgl_input_Keyboard_KEY_X; case XK_y: + case XK_Y: return org_lwjgl_input_Keyboard_KEY_Y; case XK_z: + case XK_Z: return org_lwjgl_input_Keyboard_KEY_Z; default: return org_lwjgl_input_Keyboard_KEY_NONE; } } +static bool isKeypadKeysym(KeySym keysym) { + return (0xFF80 <= keysym && keysym <= 0xFFBD) || + (0x11000000 <= keysym && keysym <= 0x1100FFFF); +} + +static KeySym getKeySym(XKeyEvent *event, int group, int index) { + KeySym keysym = XLookupKeysym(event, group*2 + index); + if (keysym == NoSymbol && index == 1) + keysym = XLookupKeysym(event, group*2 + 0); + if (keysym == NoSymbol && group == 1) + keysym = getKeySym(event, 0, index); + return keysym; +} + +static KeySym toUpper(KeySym keysym) { + KeySym lower_case, upper_case; + XConvertCase(keysym, &lower_case, &upper_case); + return upper_case; +} + +/* Map an event to a KeySym. Use the rules described in + * http://tronche.com/gui/x/xlib/input/keyboard-encoding.html + */ +static KeySym mapEventToKeySym(XKeyEvent *event) { + int group; + KeySym keysym; + if ((event->state & modeswitch_mask) != 0) + group = 1; + else + group = 0; + if ((event->state & numlock_mask) != 0 && isKeypadKeysym(keysym = getKeySym(event, group, 1))) { + if ((event->state & (ShiftMask | shift_lock_mask)) != 0) { + return getKeySym(event, group, 0); + } else { + return keysym; + } + } else if ((event->state & (ShiftMask | LockMask)) == 0) { + return getKeySym(event, group, 0); + } else if ((event->state & ShiftMask) == 0) { + KeySym keysym = getKeySym(event, group, 0); + if ((event->state & caps_lock_mask) != 0) + keysym = toUpper(keysym); + return keysym; + } else { + KeySym keysym = getKeySym(event, group, 1); + if ((event->state & caps_lock_mask) != 0) + keysym = toUpper(keysym); + return keysym; + } +} + static unsigned char getKeycode(XKeyEvent *event) { - unsigned char keycode = (unsigned char)((event->keycode - 8) & 0xff); - KeySym keysym = XLookupKeysym(event, 0); + unsigned char keycode; + KeySym keysym = mapEventToKeySym(event); keycode = mapKeySymToLWJGLKeyCode(keysym); return keycode; } @@ -543,7 +661,6 @@ static void bufferEvent(XKeyEvent *key_event) { unsigned char keycode = getKeycode(key_event); unsigned char state = eventState(key_event); - //printf("Reading a key %d %d count %d\n", (int)keycode, (int)state, num_events); translateEvent(key_event, keycode, state); } |
|
From: Elias N. <eli...@us...> - 2005-04-11 07:58:37
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31982/common Modified Files: common_tools.c Log Message: Removed event buffer overflow message Index: common_tools.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/common_tools.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- common_tools.c 29 Mar 2005 18:09:33 -0000 1.22 +++ common_tools.c 11 Apr 2005 07:58:10 -0000 1.23 @@ -122,7 +122,6 @@ bool putEvent(event_queue_t *queue, jint *event) { int i; if (getElementCapacity(queue) < queue->event_size) { - printfDebug("Event buffer overflow!\n"); return false; } for (i = 0; i < queue->event_size; i++) { |