@Override
    public boolean onGenericMotion(View view, MotionEvent event) {
        if (view != getView()) {
            return false;
        }

        boolean consumed = false;

        int source = event.getSource();
//        logger.log(Level.INFO, "onGenericMotion source: {0}", source);

        boolean isJoystick =
                ((source & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) ||
                ((source & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK);

        if (isJoystick && joyInput != null) {
//            logger.log(Level.INFO, "onGenericMotion source: {0}, isJoystick: {1}",
//                    new Object[]{source, isJoystick});
            // send the event to the touch processor
            consumed = consumed || ((AndroidJoyInput14)joyInput).onGenericMotion(event);
        }

        return consumed;
    }
<code>AndroidInputHandler14</code> extends <code>AndroidInputHandler</code> to
add the onHover and onGenericMotion events that where added in Android rev 14 (Android 4.0).<br>
The onGenericMotion events are the main interface to Joystick axes.  They
were actually released in Android rev 12.

@author iwgeric
jme3-android/src/main/java/com/jme3/input/android/AndroidInputHandler14.java