aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Palevich <jackpal@google.com>2010-11-26 17:03:10 -0800
committerJack Palevich <jackpal@google.com>2010-11-26 17:03:10 -0800
commit57a781f2c3ddfdf8930f37dfa4f531d65569ed70 (patch)
tree0312bab37509bee9d9f8901d0be0f287855fee41
parenta2e87a55afc652f3200fec6459752ef44867fb19 (diff)
downloadquake-57a781f2c3ddfdf8930f37dfa4f531d65569ed70.tar.gz
Make Quake work with Bluetooth PC keyboard.
Map function keys and other PC-specific key codes to corresponding Quake keys. Ignore unknown keycodes. Change-Id: I03766807bca2762131ac14119a3132c7120b6e3a
-rw-r--r--src/com/android/quake/QuakeView.java41
1 files changed, 37 insertions, 4 deletions
diff --git a/src/com/android/quake/QuakeView.java b/src/com/android/quake/QuakeView.java
index 3f99c57..e5fde42 100644
--- a/src/com/android/quake/QuakeView.java
+++ b/src/com/android/quake/QuakeView.java
@@ -136,7 +136,7 @@ class QuakeView extends GLSurfaceView {
private int keyCodeToQuakeCode(int keyCode) {
int key = 0;
- if (key >= sKeyCodeToQuakeCode.length) {
+ if (keyCode >= sKeyCodeToQuakeCode.length) {
return 0;
}
if (mAltKeyPressed) {
@@ -209,7 +209,18 @@ class QuakeView extends GLSurfaceView {
'.', QuakeLib.K_ALT, QuakeLib.K_ALT, QuakeLib.K_SHIFT, QuakeLib.K_SHIFT, QuakeLib.K_TAB, ' ', '$', // 56..63
'$', '$', QuakeLib.K_ENTER, QuakeLib.K_BACKSPACE, '`', '-', '=', '[', // 64..71
']', '\\', ';', '\'', '/', QuakeLib.K_CTRL, '#', '$', // 72..79
- QuakeLib.K_HOME, '$', QuakeLib.K_ESCAPE, '$', '$' // 80..84
+ QuakeLib.K_HOME, '$', QuakeLib.K_ESCAPE, '$', '$', 0, 0, 0, 0, // 80..
+ 0, 0, QuakeLib.K_PGUP, QuakeLib.K_PGDN, 0, 0, 0, 0, 0, 0, // 90..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 100..
+ 0, QuakeLib.K_ESCAPE, QuakeLib.K_DEL, QuakeLib.K_CTRL, QuakeLib.K_CTRL, 0, 0, 0, 0, 0, // 110..
+ 0, 0, QuakeLib.K_HOME, QuakeLib.K_END, QuakeLib.K_INS, 0, 0, 0, 0, 0, // 120..
+ 0, QuakeLib.K_F1, QuakeLib.K_F2, QuakeLib.K_F3, QuakeLib.K_F4, // 130..134
+ QuakeLib.K_F5, QuakeLib.K_F6, QuakeLib.K_F7, QuakeLib.K_F8, QuakeLib.K_F9, // 135..139
+ QuakeLib.K_F10, QuakeLib.K_F11, QuakeLib.K_F12, 0, 0, 0, 0, 0, 0, 0, // 140..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 150..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 160
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 170..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // 180..
};
private static final int sKeyCodeToQuakeCodeShift[] =
@@ -225,7 +236,18 @@ class QuakeView extends GLSurfaceView {
0, 0, 0, 0, 0, 0, 0, 0, // 56..63
0, 0, 0, 0, 0, 0, 0, 0, // 64..71
0, 0, '?', '0', 0, QuakeLib.K_CTRL, 0, 0, // 72..79
- 0, 0, 0, 0, 0 // 80..84
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80..
+ 0, 0, QuakeLib.K_PGUP, QuakeLib.K_PGDN, 0, 0, 0, 0, 0, 0, // 90..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 100..
+ 0, QuakeLib.K_ESCAPE, QuakeLib.K_DEL, QuakeLib.K_CTRL, QuakeLib.K_CTRL, 0, 0, 0, 0, 0, // 110..
+ 0, 0, QuakeLib.K_HOME, QuakeLib.K_END, QuakeLib.K_INS, 0, 0, 0, 0, 0, // 120..
+ 0, QuakeLib.K_F1, QuakeLib.K_F2, QuakeLib.K_F3, QuakeLib.K_F4, // 130..134
+ QuakeLib.K_F5, QuakeLib.K_F6, QuakeLib.K_F7, QuakeLib.K_F8, QuakeLib.K_F9, // 135..139
+ QuakeLib.K_F10, QuakeLib.K_F11, QuakeLib.K_F12, 0, 0, 0, 0, 0, 0, 0, // 140..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 150..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 160
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 170..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // 180..
};
private static final int sKeyCodeToQuakeCodeAlt[] =
@@ -241,7 +263,18 @@ class QuakeView extends GLSurfaceView {
0, 0, 0, 0, 0, 0, 0, 0, // 56..63
0, 0, 0, 0, 0, 0, 0, 0, // 64..71
0, 0, 0, 0, 0, 0, 0, 0, // 72..79
- 0, 0, 0, 0, 0 // 80..83
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80..
+ 0, 0, QuakeLib.K_PGUP, QuakeLib.K_PGDN, 0, 0, 0, 0, 0, 0, // 90..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 100..
+ 0, QuakeLib.K_ESCAPE, QuakeLib.K_DEL, QuakeLib.K_CTRL, QuakeLib.K_CTRL, 0, 0, 0, 0, 0, // 110..
+ 0, 0, QuakeLib.K_HOME, QuakeLib.K_END, QuakeLib.K_INS, 0, 0, 0, 0, 0, // 120..
+ 0, QuakeLib.K_F1, QuakeLib.K_F2, QuakeLib.K_F3, QuakeLib.K_F4, // 130..134
+ QuakeLib.K_F5, QuakeLib.K_F6, QuakeLib.K_F7, QuakeLib.K_F8, QuakeLib.K_F9, // 135..139
+ QuakeLib.K_F10, QuakeLib.K_F11, QuakeLib.K_F12, 0, 0, 0, 0, 0, 0, 0, // 140..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 150..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 160
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 170..
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // 180..
};
private class QuakeRenderer implements GLSurfaceView.Renderer {