diff options
author | Jack Palevich <jackpal@google.com> | 2010-11-26 17:03:10 -0800 |
---|---|---|
committer | Jack Palevich <jackpal@google.com> | 2010-11-26 17:03:10 -0800 |
commit | 57a781f2c3ddfdf8930f37dfa4f531d65569ed70 (patch) | |
tree | 0312bab37509bee9d9f8901d0be0f287855fee41 | |
parent | a2e87a55afc652f3200fec6459752ef44867fb19 (diff) | |
download | quake-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.java | 41 |
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 { |