Android Controller: Differentiating between LT & RT axes
I am trying to implement a mapping method for a Bluetooth Android
controller (snakebyte idroid). When the controller is set in a mode where
the triggers are digital it works fine and the onkey() methods are called.
However, when the triggers are set as analogue I attempt to trap the event
in onGenericMotionEvent(MotionEvent event), but both LT and RT use the
MotionEvent.Z_AXIS id, where LT goes from 0 to -1 and RT from 0 to 1.
Therefore, holding both down cancels them out. Is this just a hardware
flaw or is there a way at the os level to get the different values for
each? When I make a call to getPointerCount() there is only 1 so there
does not seem to be any bundled events like you would expect for the touch
input calls.
Thank you in advance for anyone that might have some insight.
No comments:
Post a Comment