- Fix the "Allow Off-Screen" setting not working since #17308
- Prevent offscreen shot from disabling the lightgun with some cores
- Fullscreen pointer coordinates no longer needed
Cocoa driver specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff] by using the confined wrapper
- enable pointer offscreen query
Adapt the sanitized pointer handling, discussed at #17196 :
Overlay "driver" specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff] by using the confined wrapper
- enable pointer offscreen query
- report -0x8000 for lightgun if pointer is at the edge
- align lightgun offscreen reporting and button ID conversion with other drivers
Android driver specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff] by using the confined wrapper
- remove extra "inside" checks, general simplification
- enable pointer offscreen reporting
- report same value for all ports when querying mouse and lightgun
- fill missing lightgun support, with fixed button map
Udev and X11 driver specific changes:
- simulate max. 3 touches instead of 1 using different mouse buttons
Wayland driver specific changes:
- integrate touch input better to the overall handling (enabling overlay usage with mouse)
- simulate max. 3 touches instead of 1 using different mouse buttons
* Less string copies
* Some general cleanups
* Add extra param to runloop_message_queue_push so we can pass size_t
of the message
* Consistent conventions for local variable usage for certain things
Adapt the sanitized pointer handling, discussed at libretro#17196 :
winraw and dinput driver specific changes:
make sure pointer position is always within [-0x7fff,0x7fff] by using the confined wrapper
remove extra "inside" checks, general simplification
enable pointer offscreen reporting
use common functions for edge detection and lightgun button ID conversion
sdl driver specific changes:
pointer handling aligned with the other input drivers, as above
added TODO for lightgun part - no suitable test env at the moment where SDL input can be used
Adapt the sanitized pointer handling, discussed at #17196 :
X11 driver specific changes:
make sure pointer position is always within [-0x7fff,0x7fff] by using the confined wrapper
remove extra "inside" checks, general simplification
enable pointer offscreen reporting
Udev driver specific changes:
remove custom calculation and use common viewport translation
unify pointer query instead of separate _x and _y
enable pointer offscreen reporting
Other changes:
more tuning of pointer conversion in video_driver.c for edges
lightgun button ID conversion moved to input_driver.c
Adapt the sanitized pointer handling, discussed at #17196:
Wayland driver specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff]
by using the confined wrapper
- enable lightgun to report -0x8000 if pointer is really offscreen
- remove extra "inside" checks
- report same pointer/lightgun coordinates for all ports
- simplify pointer and lightgun handling
Other changes:
- unify "offscreen" condition through input_driver.c
- slight tuning of pointer conversion in video_driver.c
- update libretro.h with explanation and pointer offscreen value
- small fixes on remote retropad test screen
Add another version of the coordinate translation that will not
report -0x8000 for offscreen values, but instead map the position
to the respective edge (0x7fff/-0x7fff). Not yet in use.
Udev driver updated to use the wrapper, as all other input drivers do.
* First crack at light sensor support for Linux
* Add light-sensor support to most Linux input drivers
* Fix a compiler error
- Whoops, forgot to declare `sdl`
* Refactor linux_illuminance_sensor_t
- Allow the poll rate to be specified
- Poll the sensor on a separate thread
- Open a file handle each time we poll the sensor, since sysfs doesn't update the contents of an existing handle
* Set the `done` flag when closing the light sensor
- Whoops
* Avoid a division by zero when updating the poll rate of an existing sensor
* Don't try to open illuminance sensors from ".", "..", or hidden files
* Never mind
* Fix some silly mistakes
* Skip hidden files, ".", and ".."
* Cancel the sensor poll thread mid-sleep when closing it
- POSIX says it's fine
* Add to CHANGES.md
* Address feedback given on PR
* Use libretro-common's file system instead of stdio
Changed the logic of the classic toggle turbo mode code such that the pressing order of the turbo button and the button to enable/disable does not matter.
Because shift keys were ignored in the event message and only issued during polling, a quick key press and release between polling would get ignored.
This change also fixes left alt up key events getting issued (and sent to the core) twice.