aboutsummaryrefslogtreecommitdiff
path: root/backends/events
AgeCommit message (Collapse)Author
2018-04-04SDL: Allow to load a custom game controller mapping fileLMerckx
And add a specific joystick button to open virtual keyboard
2018-03-28BAKCENDS: Mark methods as overrideEugene Sandulenko
2018-03-28PSP2: make touch mouse clicks longer so all games receive themrsn8887
Some games such as Gobliins or Dreamweb did not react to the simulated touch mouse clicks because the clicks were too short. This change ensures all games see the simulated clicks by giving each click a minimum duration of 50 ms instead of being as fast as possible.
2018-03-23PSP2: prevent accidental clicks when moving pointer using touchrsn8887
2018-03-20PSP2: fix touch sometimes not directly under fingerrsn8887
2018-03-18SDL: Split joystick mouse event generation into two functionsBastien Bouclet
That way it is easier to implement relative mouse movement in ResidualVM.
2018-02-13PSP2: Implement three-finger drag as right-mouse button dragrsn8887
2018-02-08PSP2: allow 'frontpanel_touchpad_mode=true' option in ScummVM.inirsn8887
Can change option to 'true' manually in scummvm.ini to force front panel into indirect touchpad mode where the pointer doesn't jump to finger.
2018-01-28PSP2: Prevent jumping touch cursor on right clickrsn8887
2018-01-28PSP2: Add 2-finger drag-and-drop touch motionrsn8887
2018-01-27PSP2: Improve direct touch accuracyrsn8887
2018-01-27Merge pull request #1111 from bgK/gamepad-scale-mouse-speed-with-resolutionBastien Bouclet
SDL: Scale the joystick mouse speed with the vertical window size
2018-01-25PSP2: Always use direct touch on front touch panelrsn8887
2018-01-24PSP2: Enable rear touch only when Touchpad Mouse Mode is onrsn8887
2018-01-24PSP2: Increase direct touch accuracyrsn8887
2018-01-24PSP2: More settings for touch (direct touch on/off, pointer speed)rsn8887
2018-01-23PSP2: Implement touch controls (front and back panel)rsn8887
2018-01-14SYMBIAN: Add missed braceFiodar Stryzhniou
2018-01-13SDL: Scale the joystick mouse speed with the vertical window sizeBastien Bouclet
The mouse cursor now moves across the screen in a similar amount of time irrespective of the display resolution.
2018-01-03Merge pull request #1090 from bgK/remove-zaurus-yopyBastien Bouclet
PORTS: Remove the Zaurus and Yopy ports
2017-12-27SDL: Add debug traces for joystick hotplugBastien Bouclet
2017-12-26PS3: Stop using SDL mouse focus events to detect the XMBBastien Bouclet
Mouse focus events are also sent by SDL when the mouse is warped outside of the window area. App suspended / resumed are now used. These are only sent by SDL when opening / closing the XMB on the PS3. Fixes #10340.
2017-12-26PSP2: Add controller config, remove joystick event handlingrsn8887
2017-12-26SDL: Add support for joystick hotplugBastien Bouclet
Fixes #10366.
2017-12-26PSP2: Remove identical to base class joystick axis event handlingBastien Bouclet
2017-12-26SDL: Cleanup joystick deadzone handlingBastien Bouclet
2017-12-26SDL: Move the non analog joystick code to the Symbian portBastien Bouclet
Symbian was the only user of that code.
2017-12-26PS3: Remove gamepad button mappingBastien Bouclet
SDL_PSL1GHT now supports the GameController API. ScummVM's default mapping is now used.
2017-12-26SDL: Initial support for game controllersBastien Bouclet
The button mapping is that of the Vita port Co-Authored-By: rsn8887 <rsn8887@users.noreply.github.com>
2017-12-19PORTS: Remove the Zaurus portBastien Bouclet
There was never an official release. The last unofficial release of ScummVM was 0.6.0. Production ceased in 2007.
2017-12-19PORTS: Remove the Yopy PDA portBastien Bouclet
No official release was ever done for that platform. Production ceased in 2005.
2017-11-28EVENTS: Delay initializing the virtual keyboardBastien Bouclet
The virtual keyboard requires the backend to be fully initialized because it needs the display size. Fixes #10338.
2017-11-19EVENTS: Fix one ms error in repeat event generation time checkBastien Bouclet
2017-11-19SDL: Improve handling of SDL2 keyboard repeat eventsBastien Bouclet
- Flag them as repeat events - Disable ScummVM's own repeat event generation This fixes keyboard repeat events not being flagged as such with SDL2, and complies with the user's operating system preferences regarding key repeat timings.
2017-11-19EVENTS: Allow disabling repeat event generationBastien Bouclet
2017-11-19EVENTS: Move key repeat handling to its own methodBastien Bouclet
2017-11-19EVENTS: Rename synthetic to kbdRepeatBastien Bouclet
2017-10-15BACKENDS: Fix missing mouse events when system cursor cannot be movedColin Snover
Normally with SDL, a mouse motion event will be sent after the system mouse cursor has been moved by a call to SDL_WarpMouseInWindow, but if the system cursor cannot be moved (e.g. because the window does not have mouse focus), games still need to receive these mouse events so they can successfully update the mouse position internally. Otherwise, games continue to think the mouse is still in the original position and will continue to try to perform whatever action is associated with that mouse position. Refs Trac#9689.
2017-10-15BACKENDS: Do not send mouse events to games occurring outside the game draw rectColin Snover
2017-10-15BACKENDS: Refactor OpenGL & SDL graphics backendsColin Snover
This patch refactors the OpenGL and SDL graphics backends, primarily to unify window scaling and mouse handling, and to fix coordinate mapping between the ScummVM window and the virtual game screen when they have different aspect ratios. Unified code for these two backends has been moved to a new header-only WindowedGraphicsManager class, so named because it contains code for managing graphics managers that interact with a windowing system and render virtual screens within a larger physical content window. The biggest behavioral change here is with the coordinate system mapping: Previously, mouse offsets were converted by mapping the whole space within the window as input to the virtual game screen without maintaining aspect ratio. This was done to prevent 'stickiness' when the mouse cursor was within the window but outside of the virtual game screen, but it caused noticeable distortion of mouse movement speed on the axis with blank space. Instead of introducing mouse speed distortion to prevent stickiness, this patch changes coordinate transformation to show the system cursor when the mouse moves outside of the virtual game screen when mouse grab is off, or by holding the mouse inside the virtual game screen (instead of the entire window) when mouse grab is on. This patch also improves some other properties of the GraphicsManager/PaletteManager interfaces: * Nullipotent operations (getWidth, getHeight, etc.) of the PaletteManager/GraphicsManager interfaces are now const * Methods marked `virtual` but not inherited by any subclass have been de-virtualized * Extra unnecessary calculations of hardware height in SurfaceSdlGraphicsManager have been removed * Methods have been renamed where appropriate for clarity (setWindowSize -> handleResize, etc.) * C++11 support improved with `override` specifier added on overridden virtual methods in subclasses (primarily to avoid myself accidentally creating new methods in the subclasses by changing types/names during refactoring) Additional refactoring can and should be done at some point to continue to deduplicate code between the OpenGL and SDL backends. Since the primary goal here was to improve the coordinate mapping, full refactoring of these backends was not completed here.
2017-10-15BACKENDS: Fix some comment typosColin Snover
2017-07-27SDL: Make sure we get the correct window size with SDL2Thierry Crozat
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.
2017-03-21SDL: Respect OS setting for wheel scroll direction on SDL 2.0.4+Thierry Crozat
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.
2017-03-04Merge pull request #915 from rsn8887/vitaEugene Sandulenko
PSP2: Add Playstation Vita support
2017-03-04PSP2: Add Playstation Vita (PSP2) supportcpasjuste
2017-03-01SDL: Always use sub-pixel joystick pointer resolutionrsn8887
2017-02-27SDL: fix pointer speed setting 8 (was too slow)rsn8887
2017-02-22SDL: Fix erratic analog pointer + control optionsrsn8887
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)
2017-02-21Merge pull request #905 from lubomyr/masterEugene Sandulenko
ANDROIDSDL: added tab Control in main Options menu for switching some features
2017-02-18SDL: increase resolution of slow analog pointer motionrsn8887