4447 Commits

Author SHA1 Message Date
libretroadmin
2a0984b6e4 static variables are initialized to '0' automatically as per C rules 2024-11-18 15:33:34 +01:00
Bernhard Schelling
c039576441
Fix quick shift key presses getting ignored on dinput driver (#17185)
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.
2024-11-14 13:44:41 -08:00
sonninnos
c27075d9d6
Ignore other hotkeys with menu toggle (#17165) 2024-11-06 00:19:00 -08:00
zoltanvb
d5dd3689fc
Support for lightgun in Wayland input driver (#17152) 2024-11-03 18:14:41 -06:00
Joe Osborn
fbf2c70e0d
replay format extended to support external tools (#17042)
- replays now start each frame with the number of key events (8 bit
unsigned int, then key events) and the number of input events (16 bit
unsigned int, then the input events)
- this makes it possible to parse replay files without any core
loaded, and makes replays more portable if cores change their polling
strategies
- external tools can now parse replay files
- old (vsn 0) replays will still play back, but new (vsn 1) replays
will not play on old RA
- replay files grow faster now, with each input poll now taking 8
bytes instead of 2
2024-10-04 12:47:34 -07:00
sonninnos
5e2409471a
Dinput: Mouse pointer send proper return value instead of flag value (#17067) 2024-10-01 17:36:49 -07:00
Viačasłaŭ
3019b926c2
Fix typos (#17068) 2024-10-01 17:36:33 -07:00
Joe Osborn
abe7d01e74
Report replay frame number for active_replay stdout api (#17039)
This changes the replay movie's frame_ptr (a 20-bit number used to
point to a log of file offsets) into a frame counter, which is masked
against the 20-bit pattern for use in the file offset log but also
functions as a time index into the replay.  Right now that is reported
in `GET_CONFIG_PARAM active_replay` but in the future it could be used
to show how far into the replay we are during playback or how long the
replay is during recording.
2024-09-27 14:37:31 -07:00
Colin Kinloch
ee55623678
wayland: Check for relative_pointer support (#17029) 2024-09-23 08:50:34 -07:00
Eric Warmenhoven
b557bc9523
Fixing compiler warnings (#17001) 2024-09-14 13:11:20 -07:00
Eric Warmenhoven
801a4af6f2
tvOS: better handling of siri remote (#16991) 2024-09-11 19:31:58 -07:00
zoltanvb
4e063934fd
Add option to disable analog stick menu navigation (#16743)
Two new settings added to Settings / Input / Menu Control:
- disable left analog stick in menu navigation
- disable right analog stick in menu navigation

Since the corresponding logic is already a distinct logic flow in
input driver, no change was necessary to analog-to-digital settings
or the like.
2024-09-10 18:13:31 -07:00
Emanuel Haupt
7a0d568f04
Incorporate FreeBSD port patches (#16221)
This commit imports a series of patches from the FreeBSD port of RetroArch to
improve build compatibility and address specific issues encountered in the
FreeBSD environment. These patches, sourced from the FreeBSD Ports collection
(https://cgit.freebsd.org/ports/tree/games/retroarch/files), have been adapted
and tested to ensure they integrate seamlessly with the current build process.
2024-09-10 18:11:40 -07:00
libretroadmin
8ba57c77e0 (winraw_input) Simplify code 2024-09-10 18:18:26 +02:00
Eric Warmenhoven
cfbfd01f38
iOS: Last bits of iOS 12 support, including loading an older MoltenVK library (#16982) 2024-09-09 21:27:29 -07:00
libretroadmin
55f737195e (Winraw) Use flags 2024-09-09 19:06:43 +02:00
libretroadmin
e675ea7e29 Variable cleanups - add TODO/FIXME notes for spurious variable sizes 2024-09-09 15:22:08 +02:00
libretroadmin
2be58b470d BUildfix 2024-09-09 05:51:20 +02:00
libretroadmin
b8391e233f * PATH_MAX_LENGTH redefined from 4096 to 2048
* Massive reduction in heap space allocation, going from settings struct
264kb to 119Kb
* Use NAME_MAX_LENGTH for base paths/names, etc
* Use DIR_MAX_LENGTH for directory sizes
2024-09-09 05:47:32 +02:00
Eric Warmenhoven
d228c9d469
iOS: More fixes to enable running on iOS 12 (#16978) 2024-09-08 03:10:30 -07:00
Eric Warmenhoven
4503b3989f
iOS: Better mouse grab (#16933) 2024-08-27 01:53:18 -07:00
Eric Warmenhoven
800be5530f
iOS: Better handling of physical mice/magic keyboard trackpad (#16911) 2024-08-22 12:11:16 -07:00
Eric Warmenhoven
fdf2faaf59
macOS: Don't include video/input drivers when compiling with SDL2 (#16865) 2024-08-10 17:56:03 -07:00
Eric Warmenhoven
c579033abf
macos: fix hid driver crash on disconnecting controller second time (#16860) 2024-08-10 07:38:56 -07:00
zoltanvb
e5e7e66199
Add sensor function placeholders for all joypad drivers. (#16812)
In some cases, set_sensor_state and get_sensor_input are
more related to the joypad driver, e.g. in desktop platforms
where sensors are associated rather with the joypad.

If input driver supports the sensors, it is still preferred.
Placeholder inserted for all input drivers, no functionality
added yet.
2024-07-24 15:13:16 -07:00
libretroadmin
3c45d78a95 Buildfix 2024-07-20 19:49:31 +02:00
libretroadmin
afc9cb509a CXX_BUILDFIX buildfixes 2024-07-20 19:42:45 +02:00
libretroadmin
e543aa25ae Silence some warnings 2024-07-20 15:46:26 +02:00
zoltanvb
7db9a2de60 Test input driver and sensor test screen
A new input driver (test_input), similar to test joypad driver.
Takes its inputs from a json file provided in options. Supports
keyboard input and sensor input (accelerometer, gyroscope,
illuminance).

Remote Retropad extended with a sensor test screen.
2024-07-06 13:55:55 -05:00
zoltanvb
286d65b42e [X11] Support for mouse buttons 4 and 5
Support added for extra mouse buttons. Since these buttons were
not returned by XQueryPointer(), some additional logic was needed
which fit best to scroll wheel handling.
2024-06-25 08:18:51 -05:00
schellingb
e7c6d1df84 Fix keyboard events missing RETROKMOD_NUMLOCK or RETROKMOD_SCROLLOCK
- Add missing numlock mod to dinput
- Add missing scrolllock mod to x11
- Add missing capslock, numlock, scrolllock and meta mods to android
- Add missing scrolllock mod to sdl
- Add missing capslock, numlock, scrolllock and meta mods to switch
- Add missing numlock mod to winraw
- Add missing numlock mod to uwp
2024-06-25 08:18:29 -05:00
zoltanvb
3b21273858 [Wayland] Support for mouse buttons 4&5 and horizontal wheel 2024-06-19 18:40:15 -05:00
Joseph C. Osborn
6104a9ad86 change some replay file seeks to seek+truncates in record mode 2024-06-18 13:13:59 -05:00
libretroadmin
54a24dc9d5 input_config_get_bind_string - do proper character
counting now, avoid strlcats, and have functions return
size_t value indicating how many chars were written
2024-06-16 18:07:30 +02:00
That One Seong
4220ad0b7c udev mouse buttons 4/5 fixed
According to evdev docs, mouse side buttons are simply `BTN_4/BTN_5`?
2024-06-14 19:48:33 -05:00
libretroadmin
3e2e53ba7f snprintf - if no formatting is required then use strlcpy 2024-06-13 06:48:50 +02:00
hunterk
65e8871250 restore some relative pointer stuff 2024-06-10 07:35:24 -05:00
hunterk
c72f8613d8 revert abcd42777f7c17559cf6eb509dc86aca63e48527
since it appears to be involved with a variety of input issues: https://github.com/libretro/RetroArch/issues/15757
2024-06-10 07:35:24 -05:00
zoltanvb
49aeeee1f7 Cosmetical fix (xvfk -> xfvk), #16631 2024-06-08 11:17:42 -05:00
zoltanvb
a9968e9e86 Controller device reservation / preference.
For each player, 2 new options are added:
- a reservation type (no reservation, preferred, reserved)
- a reserved device name

When handling port - player assignments, reserved devices
will be assigned to the respective player port. If reservation
type is "reserved", no other device can take that port
automatically.

Reservation config option and matching function lifted from:
PatrickStankard https://github.com/libretro/RetroArch/pull/16269

Test joypad driver was extended for more tests.

Co-authored-by: Patrick Stankard <me@patrickstankard.com>
2024-06-05 18:17:54 -05:00
Reilly Brogan
7f3de64ef8 wayland: Fix Wayland appId 2024-05-30 22:54:50 -05:00
Eric Warmenhoven
52413260de iOS: default audio sync on again, also more mfi logging 2024-05-26 21:32:55 +02:00
Eric Warmenhoven
79b71179a5 macOS/iOS/tvOS: enable text-to-speech using AVSpeechSynthesizer.
Fixes #16532.
2024-05-22 13:29:48 -07:00
zoltanvb
198656eb20
Add support for multimedia keys (#16502)
Extended RETROK_ values with 18 new items, commonly found on
"multimedia" keyboards.

Mapping added for SDL, X11, Wayland, dinput, winraw keymaps.

Keyboard tester function of Remote Retropad extended to cover new keys.

One fix in Android mapping for #12986
2024-05-11 17:06:54 -07:00
zoltanvb
28189a04a4
Analog button and keyboard tester. (#16390)
Added analog button indication for those buttons that may have use for it
- primarily L2/R2, but support was added for all buttons where at least
one controller is known to support it. Added also core option to hide
mismatching inputs where analog value is not sent (like keyboard
hotkeys assigned to retropad buttons). Analog button inputs are not
set up for remote transmission, only for local test.

Analog axes have now also dynamic coloring.

Added a keyboard tester screen which includes a standard 102-key PC
keyboard + extra blocks for all RETROK_ values present in the code.
Screen adapted from DOSBox-Pure onscreen keyboard with permission.
Keyboard button A+B switches between the two screens. Keyboard
inputs are not set up for remote transmission, only for local test.
Core option added to select start screen.

Other small improvements: core reset will take new option values,
input driver applies received values more carefully.
2024-05-04 00:33:25 -07:00
Eric Warmenhoven
217c83d893
apple: improved Nintendo Switch Online controller support through mfi (#16477) 2024-04-29 18:30:34 -07:00
Barry Rowe
26a824caff
Revert of AI service changes (#16428) 2024-04-12 16:17:24 -07:00
Eric Warmenhoven
3229d645d6
Improvements to mfi rumble. (#16431)
Fixes https://github.com/libretro/RetroArch/issues/15300 and https://github.com/libretro/beetle-psx-libretro/issues/891
2024-04-11 16:48:02 -07:00
libretroadmin
d36f15a867 Buildfix for CLI 2024-04-06 20:15:54 +02:00
libretroadmin
a4212061d4 Cleanup some unused variables 2024-04-06 20:12:15 +02:00