When updating or recreating the window, if we changed the window
size at the same time we also toggle between OpenGL and non
OpenGL mode, or toggle fullscreen mode, we may have a pending
SDL resize event with the wrong size. So we need to make sure to
append another one with the correct size to end up with the correct
size. This fixes bug #9971.
The setting was already respected on SDL < 2.0.4 (such as SDL1).
If the OS inverts the scrolling direction, this is reflected on the sign
of the y value of the SDL event. Since version 2.0.4 the SDL event
also had a flag to indicate if the direction is flipped and we were
using it to change back the y sign. That means the OS scrolling
direction setting was not respected. With this commit we now have
a consistent behaviour with all SDL versions (the OS scroll direction
setting is respected).
If our wheel events are used for something other than scrolling
however, we might want to get the actually wheel move direction
(i.e. use a Common::EVENT_WHEELDOWN when moving the wheel
down even if the OS scroll setting is to flip it). In such a case we
might want to revert this change and instead add an additional flag
to the event so that we know the scroll direction should be flipped
and use it in places where the event is used for scrolling.
Fixes erratic speeds in analog pointer motion
Implemented option to set analog/keyboard pointer speed
and control the analog joystick deadzone. The deadzone option appears
only if the build supports analog joystick (via JOY_ANALOG define)
For some engines such as Dreamweb that a previous fix did not apply
to, this fixes bug 6996: Android: Mouse pointer control with
analog joystick is unusable
This will hopefully fully fix keyboard issues for macOS / SDL2,
for example when pressing "alt-x".
Also reset .ascii to 0, when Num-Lock is NOT enabled and keypad
directional keys are pressed. This was fixed inside AGI+SCI
previously.
The latter shouldn't cause issues, but in case it does, the
affected engine should get fixed and use keycodes instead.
This will hopefully fully fix keyboard issues for macOS / SDL2,
for example when pressing "alt-x".
Also reset .ascii to 0, when Num-Lock is NOT enabled and keypad
directional keys are pressed. This was fixed inside AGI+SCI
previously.
The latter shouldn't cause issues, but in case it does, the
affected engine should get fixed and use keycodes instead.
This reduces the likelihood of entering two characters per keypress in our guy
on Windows. In fact, during my brief testing with the filter widget in the
launcher I was not able to trigger the former behavior at all anymore.
This was originally added in cbd867329e to
support this LucasArts game hotkey. However, Alt-x is used by other
engines as hotkey. Most notably AGI's Leisure Suit Larry in the Land of the
Lounge Lizards uses it to skip the age protection. Since we handle Alt-x
internally in SCUMM now there is no need to keep this around in our backend
code.
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.
Rather than just adding the CTRL modifier, this code changes the
backend to directly generate the virtual keyboard trigger event
directly. This avoids any future breakage if the key combination is
changed again.
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.
Rather than just adding the CTRL modifier, this code changes the
backend to directly generate the virtual keyboard trigger event
directly. This avoids any future breakage if the key combination is
changed again.
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.
Rather than just adding the CTRL modifier, this code changes the
backend to directly generate the virtual keyboard trigger event
directly. This avoids any future breakage if the key combination is
changed again.
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.
Rather than just adding the CTRL modifier, this code changes the
backend to directly generate the virtual keyboard trigger event
directly. This avoids any future breakage if the key combination is
changed again.
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.
Rather than just adding the CTRL modifier, this code changes the
backend to directly generate the virtual keyboard trigger event
directly. This avoids any future breakage if the key combination is
changed again.
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.
Rather than just adding the CTRL modifier, this code changes the
backend to directly generate the virtual keyboard trigger event
directly. This avoids any future breakage if the key combination is
changed again.