Update of /cvsroot/java-game-lib/LWJGL/src/native/linux
In directory sc8-pr-cvs1:/tmp/cvs-serv12574
Modified Files:
Makefile org_lwjgl_input_Keyboard.cpp
Log Message:
Remapped some keys
Index: Makefile
CVS Browser:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/linux/Makefile
===================================================================
RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/Makefile,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Makefile 25 Nov 2002 13:18:24 -0000 1.12
+++ Makefile 25 Nov 2002 14:57:13 -0000 1.13
@@ -48,7 +48,7 @@
LIBCPPOBJS=$(LIBCPPSRC:.cpp=.o)
LIBCOBJS=$(LIBCSRC:.c=.o)
LIBOBJS=$(LIBCOBJS) $(LIBCPPOBJS)
-#DEBUG_FLAGS=-D_DEBUG
+DEBUG_FLAGS=-D_DEBUG
LINKOPTS=-L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lGL -lGLU -lopenal
BUILDOPTS=-O3 -Wall
Index: org_lwjgl_input_Keyboard.cpp
CVS Browser:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/linux/org_lwjgl_input_Keyboard.cpp
===================================================================
RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_input_Keyboard.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- org_lwjgl_input_Keyboard.cpp 21 Nov 2002 15:05:50 -0000 1.4
+++ org_lwjgl_input_Keyboard.cpp 25 Nov 2002 14:57:13 -0000 1.5
@@ -51,6 +51,7 @@
jfieldID fid_readBuffer;
jfieldID fid_readBufferAddress;
unsigned char key_buf[KEYBOARD_SIZE];
+unsigned char key_map[KEYBOARD_SIZE];
bool keyboard_grabbed;
@@ -122,6 +123,26 @@
#endif
return JNI_FALSE;
}
+ for (int i = 0; i < KEYBOARD_SIZE; i++)
+ key_map[i] = i;
+ key_map[0x6b] = 0xdb; // Left doze key
+ key_map[0x6c] = 0xdc; // Right doze key
+ key_map[0x6d] = 0xdd; // Apps key
+ key_map[0x5a] = 0xc8; // Up arrow
+ key_map[0x5c] = 0xcb; // Left arrow
+ key_map[0x5e] = 0xcd; // Right arrow
+ key_map[0x60] = 0xd0; // Down arrow
+ key_map[0x59] = 0xc7; // Home
+ key_map[0x62] = 0xd2; // Insert
+ key_map[0x63] = 0xd3; // Delete
+ key_map[0x5f] = 0xcf; // End
+ key_map[0x5b] = 0xc9; // Page up
+ key_map[0x61] = 0xd1; // Page down
+ key_map[0x67] = 0xb7; // SysRQ
+ key_map[0x66] = 0xc5; // Pause
+ key_map[0x64] = 0x9c; // Numpad enter
+ key_map[0x68] = 0xb5; // Numpad divide
+
memset(key_buf, 0, KEYBOARD_SIZE*sizeof(unsigned char));
return JNI_TRUE;
}
@@ -147,6 +168,7 @@
while (XCheckMaskEvent(disp, KeyPressMask | KeyReleaseMask, &event)) {
count++;
unsigned char keycode = (unsigned char)((event.xkey.keycode - 8) & 0xff);
+ keycode = key_map[keycode];
if (event.type == KeyPress) {
state = 1;
} else if (event.type == KeyRelease) {
|