Поддержка геймпада Android

Я пытаюсь добавить поддержку геймпада в свою игру, но нигде не могу найти, как получить события движения от джойстиков геймпада.

У меня есть что-то подобное, но оно никогда не вызывается и ничего не делает. Я тестирую XOOM с JellyBean, и мой геймпад работает для навигации по меню.

@Override
public boolean onGenericMotionEvent(MotionEvent e) {
    if ((e.getDevice().getSources() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
        float x = e.getX();
        float y = e.getY();
        mJoy1.set(x, y);
        mJoy2.set(-1,1);
        mRenderer.onAxisMoved(mJoy1, mJoy2);
        return true;
    }
    return false;
}

Как мне прочитать данные осей с геймпада?


person EmbMicro    schedule 25.08.2012    source источник
comment
Взгляните на это: developer.android.com/about/versions/   -  person Nate-Wilkins    schedule 27.08.2012
comment
stackoverflow.com/questions/11516431/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 11.12.2015


Ответы (1)


Я смог заставить его работать. Мне пришлось добавить эти строки в инициализацию моего представления.

    setFocusable(true);
    setFocusableInTouchMode(true);

После этого я получал вызовы функций.

person EmbMicro    schedule 27.08.2012