mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
Changed key/keyCode handling
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user