and joystick deadzone. By supporting kFeatureKbdMouseSpeed and kFeatureJoystickDeadzone and registering default values
Both of these config settings (kbdmouse_speed, joystick_deadzone) factor in virtual mouse movement.
Helps handle virtual mouse pointer speed when controlled with DPAD or is too fast for the user
And some fixes for DPAD handling
More fixes for DPAD will be coming. We currently don't handle DPAD Center, and also do not handle the case where DPAD is HATs (motion events)
Previously joystick motion inputs were being translated to direct mouse
movement events. This changes those into Joystick AXIS events instead.
Also updates joystick button inputs into joystick button events instead
of mouse clicks and key presses.
Previously most buttons were being ignored and A and B were mapped to
mouse clicks. This maps A and B and several more buttons to Joypad
button presses instead.
Needed for Myst 3 mouse look, probably other games too
This should be followed up by similar update of relMouse for the cases of mouse look using a hardware mouse, a joystick, trackball, pen etc. We should also check if we need to do this for the cases of moving the mouse while holding down a button and for multitouch events that emulate that (eg. hold two fingers down and move).
Also added various comments to document behavior.
Minor JE_MULTI event (Fix concerned bad brackets code in the events.cpp for JE_MULTI (multiple fingers held down)
) fix and comments for mouse behavior
Allow onHover to catch the mouse events instead of OnTrackBallEvent()
Also the "system back" button is ignored for the Trackball too because we treat it as mouse in isMouse(e) check
Add multitouch handler class. Handling and early filtering of multitouch events is moved in the new class.
This sets Android as a non-standard port in configure in order to override the definition for vsn_printf
The vsn_printf implementation is taken from https://github.com/weiss/c99-snprintf
Android TV devices don't have menu buttons. Remotes should have a play/pause
button (which may send individual play and pause events rather than a
combined event) and gamepads should have a Y button. Use these to open the
menu.
As the virtual keyboard trigger has been moved to CTRL-F7, the previous
code which generates a unmodified F7 event to do this will not work.
However, due to the complexity of this code, directly calling the
virtual keyboard trigger event could have side effects, so have instead
just added the CTRL modifier to fix this.
This should be fixed if possible to use EVENT_VIRTUAL_KEYBOARD.