ich versuche, zwischen einem joystick und einem d-pad-eingang zu unterscheiden. Ich bekomme immer die gleiche Ereignisquelle (16777232). Es ist egal, ob ich den D-Pad drücke oder den Joystick drücke.D-Pad und Joystick haben dieselbe Ereignisquellen-ID. will zwischen d-pad und joystick unterscheiden
Ich verwende ein iPEGA Gamecontroller
mein Problem ist:
Erstens:
, wenn ich den linken Joystick nach rechts drehen:
1. dispatchGenericMotionEvent(MotionEvent motionEvent)
ausgelöst wird. und
a= 16777232(SOURCE_JOYSTICK)
2. Es wird uns auf dispatchKeyEvent(KeyEvent event)
Zweitens:
Als ich den rechten Joystick nach rechts drehen:
1. ispatchGenericMotionEvent(MotionEvent motionEvent)
ausgelöst wird. und
a= 16777232(SOURCE_JOYSTICK)
2. Es tut uns auf dispatchKeyEvent(KeyEvent event)
Drittens:
Wenn ich drücken Sie die links/rechts/oben/unten D-Pad-Taste:
1. ispatchGenericMotionEvent(MotionEvent motionEvent)
ausgelöst. und
a= 16777232(SOURCE_JOYSTICK)
2. Es weiterleiten zu dispatchKeyEvent(KeyEvent event)
@Override
public boolean dispatchGenericMotionEvent(MotionEvent motionEvent)
{
int a=motionEvent.getSource();
return super.dispatchGenericMotionEvent(motionEvent);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int a=motionEvent.getSource();
return super.dispatchKeyEvent(event);
}