From 5b33f39a0e83b6352e7c9547aedbff9e8d0fa33e Mon Sep 17 00:00:00 2001 From: francisli Date: Sun, 17 Apr 2005 06:08:39 +0000 Subject: [PATCH] Changed key/keyCode handling --- mobile/core/processing/core/PCanvas.java | 60 ++++++++++++------------ mobile/core/processing/core/PMIDlet.java | 1 + 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/mobile/core/processing/core/PCanvas.java b/mobile/core/processing/core/PCanvas.java index c2e84b028..1ecf28bb7 100755 --- a/mobile/core/processing/core/PCanvas.java +++ b/mobile/core/processing/core/PCanvas.java @@ -85,38 +85,38 @@ public class PCanvas extends Canvas { protected void keyPressed(int keyCode) { midlet.keyPressed = true; - int action = getGameAction(keyCode); - switch (action) { - case Canvas.UP: - midlet.key = PMIDlet.UP; - break; - case Canvas.DOWN: - midlet.key = PMIDlet.DOWN; - break; - case Canvas.LEFT: - midlet.key = PMIDlet.LEFT; - break; - case Canvas.RIGHT: - midlet.key = PMIDlet.RIGHT; - break; - case Canvas.FIRE: - midlet.key = PMIDlet.FIRE; - break; - default: - //// MIDP 1.0 says the KEY_ values map to ASCII values, but I've seen it - //// different on some foreign (i.e. Korean) handsets - if ((keyCode >= Canvas.KEY_NUM0) && (keyCode <= Canvas.KEY_NUM9)) { - midlet.key = (char) ('0' + (keyCode - Canvas.KEY_NUM0)); - } else { - switch (keyCode) { - case Canvas.KEY_POUND: - midlet.key = '#'; + //// MIDP 1.0 says the KEY_ values map to ASCII values, but I've seen it + //// different on some foreign (i.e. Korean) handsets + if ((keyCode >= Canvas.KEY_NUM0) && (keyCode <= Canvas.KEY_NUM9)) { + midlet.key = (char) ('0' + (keyCode - Canvas.KEY_NUM0)); + } else { + switch (keyCode) { + case Canvas.KEY_POUND: + midlet.key = '#'; + break; + case Canvas.KEY_STAR: + midlet.key = '*'; + break; + default: + int action = getGameAction(keyCode); + switch (action) { + case Canvas.UP: + midlet.keyCode = PMIDlet.UP; break; - case Canvas.KEY_STAR: - midlet.key = '*'; + case Canvas.DOWN: + midlet.keyCode = PMIDlet.DOWN; break; - } - } + case Canvas.LEFT: + midlet.keyCode = PMIDlet.LEFT; + break; + case Canvas.RIGHT: + midlet.keyCode = PMIDlet.RIGHT; + break; + case Canvas.FIRE: + midlet.keyCode = PMIDlet.FIRE; + break; + } + } } midlet.keyPressed(); } diff --git a/mobile/core/processing/core/PMIDlet.java b/mobile/core/processing/core/PMIDlet.java index f71e03fd9..55a267552 100755 --- a/mobile/core/processing/core/PMIDlet.java +++ b/mobile/core/processing/core/PMIDlet.java @@ -88,6 +88,7 @@ public abstract class PMIDlet extends MIDlet implements Runnable { protected int height; protected char key; + protected int keyCode; protected boolean keyPressed; public void setup() {