Touch: Added keycode to touchtrigger, 0 for all events
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7623 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
97e4a03ceb
commit
8955f719b7
@ -846,7 +846,7 @@ public class InputManager implements RawInputListener {
|
||||
* @param evt The touch event to be dispatched to all onTouch listeners
|
||||
*/
|
||||
public void onTouchEventQueued(TouchEvent evt) {
|
||||
ArrayList<Mapping> maps = bindings.get(TouchTrigger.touchHash());
|
||||
ArrayList<Mapping> maps = bindings.get(TouchTrigger.touchHash(evt.getKeyCode()));
|
||||
if (maps == null) {
|
||||
return;
|
||||
}
|
||||
|
@ -37,17 +37,47 @@ package com.jme3.input;
|
||||
*/
|
||||
public interface TouchInput extends Input {
|
||||
|
||||
/**
|
||||
* No filter, get all events
|
||||
*/
|
||||
public static final int ALL = 0x00;
|
||||
/**
|
||||
* Home key
|
||||
*/
|
||||
public static final int KEYCODE_HOME = 0x03;
|
||||
/**
|
||||
* Escape key.
|
||||
*/
|
||||
public static final int KEYCODE_BACK = 0x04;
|
||||
/**
|
||||
* Context Menu key.
|
||||
*/
|
||||
public static final int KEYCODE_MENU = 0x52;
|
||||
/**
|
||||
* Search key.
|
||||
*/
|
||||
public static final int KEYCODE_SEARCH = 0x54;
|
||||
/**
|
||||
* Volume up key.
|
||||
*/
|
||||
public static final int KEYCODE_VOLUME_UP = 0x18;
|
||||
/**
|
||||
* Volume down key.
|
||||
*/
|
||||
public static final int KEYCODE_VOLUME_DOWN = 0x19;
|
||||
|
||||
|
||||
/**
|
||||
* Set whether mouse events should be generated
|
||||
*
|
||||
* @param simulate Whether mouse events should be generated
|
||||
* @param simulate if mouse events should be generated
|
||||
*/
|
||||
public void setSimulateMouse(boolean simulate);
|
||||
|
||||
/**
|
||||
* Set whether keyboard events should be generated
|
||||
*
|
||||
* @param simulate Whether keyboard events should be generated
|
||||
* @param simulate if keyboard events should be generated
|
||||
*/
|
||||
public void setSimulateKeyboard(boolean simulate);
|
||||
|
||||
|
@ -32,22 +32,42 @@
|
||||
|
||||
package com.jme3.input.controls;
|
||||
|
||||
/**
|
||||
* Class to trigger TouchEvents, keycode can be TouchInput.ALL(=0) or TouchInput.KEYCODE_*
|
||||
* @author larynx
|
||||
*
|
||||
*/
|
||||
public class TouchTrigger implements Trigger {
|
||||
|
||||
public TouchTrigger() {
|
||||
private final int keyCode;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param keyCode can be zero to get all events or TouchInput.KEYCODE_*
|
||||
*/
|
||||
public TouchTrigger(int keyCode) {
|
||||
super();
|
||||
this.keyCode = keyCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "TouchInput";
|
||||
if (keyCode != 0)
|
||||
return "TouchInput";
|
||||
else
|
||||
return "TouchInput KeyCode " + keyCode;
|
||||
}
|
||||
|
||||
public static int touchHash(){
|
||||
return 0xfedcba98;
|
||||
public static int touchHash(int keyCode){
|
||||
assert keyCode >= 0 && keyCode <= 255;
|
||||
return 0xfedcba98 + keyCode;
|
||||
}
|
||||
|
||||
public int triggerHashCode() {
|
||||
return touchHash();
|
||||
return touchHash(keyCode);
|
||||
}
|
||||
|
||||
public int getKeyCode(){
|
||||
return keyCode;
|
||||
}
|
||||
}
|
||||
|
@ -124,6 +124,12 @@ public class TouchEvent extends InputEvent {
|
||||
this.posY = y;
|
||||
this.deltaX = deltax;
|
||||
this.deltaY = deltay;
|
||||
pointerId = 0;
|
||||
pressure = 0;
|
||||
keyCode = 0;
|
||||
scaleFactor = 0;
|
||||
scaleSpan = 0;
|
||||
characters = "";
|
||||
consumed = false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user