Game controller input is now enabled whenever a compatible device is
connected. The keymapper's keymaps are refreshed when a joystick is added
or removed.
Fixes#10366.
The Virtual Mouse is meant to provide a way to control the mouse cursor
on system without a physical mouse. It provides keymapper actions that
are expected to be bound to game controller axes or buttons.
This was a relatively short-lived port. We have it broken and
disabled on the buildbot since 2016. Also, the last builds
were provided in 2011. Thus, it makes a little sense to continue
to keep the code in the repository, as it gets bitrot.
Backends can still (and do) generate such events. This works around an
issue with the keymapper where the "DOWN" event would be mapped to a
key, but the corresponding "UP" event would be mapped to another one due
to a keymap change. The keyboard repeat generation system would believe
the key to be still pressed and send a continuous stream of repeat
events.
Ideally the keymapper should be fixed to always generate matching event
pairs. However this source of an infinite stream of events still looks
like trouble waiting to happen to me. Hence disabling it by default.
The cursor position was overflowing a signed 16-bits integer once
multiplied with MULTIPLIER when using a resolution such as 2560x1440.
It would be nice changing this code to make more sense, sadly it is
thightly coupled with platform specific subclasses.
Fixes#10996.
SDL1/2: Exclude AmigaOS4 from returning 0 for .ascii
*reset .ascii to 0, when Num-Lock is NOT enabled and keypad directional keys are pressed* (original description) is causing the numpad to play dead completely on AmigaOS4 (no matter if numlock is active or not). This is a workaround for the SCUMM engine, where keycodes are mixed with ASCII codes.
Check commit f5ed14e93d85b638c8e49468b2885c1278d56d20 for reference.
Fixes bug #10558. Tested with both SDL1 and 2 on AmigaOS4 and with both Indiana Jones games.