android - HTC ONE M7 is considered as GamePad -
i developer app android can observe type of device (smartphone normal or gamepad). i've done test in htc 1 m7 without connection gamepad. code tell me it's gamepad.
this code:
inputdevice dev = inputdevice.getdevice(deviceid); int sources = dev.getsources(); // verify device has gamepad buttons, command sticks, or both. if (((sources & inputdevice.source_gamepad) == inputdevice.source_gamepad) || ((sources & inputdevice.source_joystick) == inputdevice.source_joystick)) { log.d(tag, "device detected : game pad"); }
and htc 1 m7's deviceid = 2, found ((sources & inputdevice.source_gamepad) == inputdevice.source_gamepad) true. that's why htc considered gamepad.
anyone knows why ?
i found solution.
we should check existence of gamepad this: (&& instead of ||)
inputdevice dev = inputdevice.getdevice(deviceid); int sources = dev.getsources(); // verify device has gamepad buttons, command sticks, or both. if (((sources & inputdevice.source_gamepad) == inputdevice.source_gamepad) && ((sources & inputdevice.source_joystick) == inputdevice.source_joystick)) { log.d(tag, "device detected : game pad"); }
because gamepad, contains inputdevice.source_gamepad , inputdevice.source_joystick in same time.
you can this: how determine source of input device in android?
thanks.
android htc gamepad
No comments:
Post a Comment