Commit Graph

4514 Commits

Author SHA1 Message Date
libretroadmin b5887d9857 change bsv_key_data back in case struct layout matters 2023-08-30 18:20:58 +02:00
libretroadmin 712b821f78 Reorder 2023-08-30 11:11:04 +02:00
libretroadmin c82401dcb4 input_device_info - slim down - we don't need config_path and some of
the char arrays can be much smaller
2023-08-30 08:34:21 +02:00
libretroadmin 8debf4b88e (wiiu_joypad.c) Small cleanups 2023-08-20 04:06:48 +02:00
sonninnos c708187cd2
Search box usability improvements (#15617) 2023-08-18 12:38:29 -07:00
libretroadmin e5ef309b58 get_bind_string_joyaxis - small simplification 2023-08-16 20:29:40 +02:00
libretroadmin d6ae25d980 Don't add to len variable if not used 2023-08-16 20:26:15 +02:00
sonninnos de45fc2f5f
Input binding rework (#15603)
* Input binding rework

* Controller info logging cleanup
2023-08-16 11:13:14 -07:00
libretroadmin e407d9a7b2 (Udev) style nits/cleanups 2023-08-16 15:45:50 +02:00
Max Kupriianov 2f16e115a7
[android] fix d-pad regression introduced in abcd42777f (#15601) 2023-08-16 05:58:44 -07:00
libretroadmin 0a96f9595c Explicit typecasts to bools for flags 2023-08-16 04:18:55 +02:00
libretroadmin f51b49f213 More explicit typecasts to bools 2023-08-16 03:22:02 +02:00
libretroadmin bd7a0f7f0a Explicit typecast to bool for some flag to bool conversions 2023-08-16 00:16:03 +02:00
Max Kupriianov abcd42777f
refactor: rewrite input handling to better support AINPUT_SOURCE_STYLUS (#15597)
Resolves issues with S-Pen on Samsung devices, also adds support for S-Pen button
that is handled as r-mouse click now.
2023-08-15 11:13:53 -07:00
libretroadmin c8e6506687 Fix --disable-menu errors 2023-08-14 23:36:19 +02:00
sonninnos d8f9310100
(DINPUT) Mouse flag cleanup (#15575) 2023-08-11 07:17:07 -07:00
neil4 fbd8498686
Overlays: Apply range_mod only for the touch inputs that trigger it (#15534) 2023-07-30 09:49:59 +02:00
Colin Kinloch 2cb787c5bf (Wayland) Apply output scale to touch inputs 2023-07-21 22:31:51 +02:00
Eric Warmenhoven 286ce51277 iOS: use haptic engine instead of feedback generator for device rumble 2023-07-19 22:13:35 +02:00
sonninnos c798cbaf3f Enable overlay by default only on mobile + winraw overlay fix 2023-07-18 21:26:23 +02:00
libretroadmin aeff636a0f Minor cleanups to config_file.c 2023-07-17 09:45:52 +02:00
libretroadmin 98ee9a753c Cut down on some implicit strlens 2023-07-15 09:10:16 +02:00
sonninnos ab4debec01 All Users Control Menu fixes 2023-07-15 06:28:51 +02:00
Eric Warmenhoven e943ea71e7 Fix #15459 - add HAVE_STDIN_CMD to macos 2023-07-09 09:31:08 +02:00
nfore bf0de45ec4 Build fix 2023-07-09 09:30:48 +02:00
nfore 9ca5c5e623 Revive/rewrite Keyboard Overlay and OSK Toggle
Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle.

For now, keyboard menu has only preset path, auto-scale toggle, and opacity.

Related fixes:
- input_keyboard_event: Don't check hotkey binds when device is RETRO_DEVICE_POINTER
- Add input_keymaps_translate_rk_to_ascii() for correct character input to input_keyboard_event
- input_overlay_poll: Delay clearing INPUT_OVERLAY_BLOCKED flag until there is no overlay input (Avoids stray input after osk_toggle)
- Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
2023-07-09 04:42:49 +02:00
nfore 8a81d39437 Overlay Caching
Adds overlay_cache_ptr to keep a disabled overlay in memory when it's expected to be shown again.

Most input_overlay_deinit calls are replaced with input_overlay_unload, which caches the overlay unless initing/deiniting core or disabling overlays.

Loading a cached overlay is done as a swap, intended for osk_toggle.

Related updates:
- Fewer parameters for the overlay loading task. Use current settings when enabling an overlay
- Add input_overlay_check_mouse_cursor() to preserve show/hide mouse behavior
- Don't apply input_overlay_show_mouse_cursor in windowed mode (controlled by mouse grab only)
- Remove some dead code
2023-07-09 04:42:49 +02:00
Eric Warmenhoven 280dcb32f9 Fix several warnings 2023-07-02 05:46:45 +02:00
sonninnos 7922e45607 Combo hold + 'enable_hotkey' correction 2023-07-01 20:12:13 +02:00
Eric Warmenhoven ce49bd6dcc Enable option to rumble iOS device instead of controller (#14734). 2023-07-01 19:24:40 +02:00
libretroadmin 22dc6aff5a Rework some snprintf/strlcat calls 2023-06-21 09:25:04 +02:00
libretroadmin bdc398d79f - Safer code - use strlcpy where possible instead of manual character
assignments for strings longer than 2 chars
- Use strlcpy concatenation instead of strlcat
- Make sure that what remains of iteration of the '_len' variable
for manual char assignment
is done in a safer way so mistakes are less possible
2023-06-20 16:33:55 +02:00
libretroadmin 31d8f4fd51 Cut down on more strlcat calls 2023-06-18 22:53:13 +02:00
sonninnos b92540b24d (udev) Log mouse devices in info level 2023-06-18 19:43:38 +02:00
libretroadmin 97deec44f4 Remove unused variable warning 2023-06-18 13:55:39 +02:00
sonninnos 8a862bf20e
Keyboard mapping bit fix (#15392) 2023-06-18 08:09:34 +02:00
libretroadmin fc06e2f84f Simplify core_serialize_size and core_serialize_size_special 2023-06-16 17:20:27 +02:00
libretroadmin 410242c164 (input_driver.c) Don't keep regrabbing the same pointers in input_state_internal function 2023-06-15 14:26:41 +02:00
libretroadmin 426ba5382c C89 buildfix and other small cleanup 2023-06-15 01:58:23 +02:00
libretroadmin 975d613fbb (input_driver.c) Small cleanups - input_driver_state_internal
return type is int16_t so don't use float value for analog_x/analog_y
variables
2023-06-15 01:52:24 +02:00
Grisly Glee de0c6d5cd1
Trivial warnings fixes (#15383)
* Trivial graphics context drivers fix

* Assorted minor warnings fixes
2023-06-14 23:46:27 +02:00
libretroadmin 246cceeb27 Silence more signedness warnings 2023-06-14 19:51:31 +02:00
sonninnos c4f43ff28b
Linux input driver fix 8+ joypads (#15374) 2023-06-14 04:43:45 +02:00
Grisly Glee 4202f8650d
Fix trivial signedness warnings (#15377)
* Fix trivial signedness warnings

* Followup on trivial signedness warnings
2023-06-14 04:43:11 +02:00
jiangxiaogang 44142ceeb8 Fixed android gamepad binds 2023-06-06 01:52:39 +02:00
Eric Warmenhoven 6c831b25a6 Restore "macOS Cocoa: fix mouse grab in windowed mode."
This reverts commit 269c902429, with a
build fix.
2023-06-06 01:52:13 +02:00
libretroadmin 269c902429 revert 2023-06-04 16:28:59 +02:00
libretroadmin 63bf68d616 Cover both HAVE_COCOA and HAVE_COCOA_METAL for now 2023-06-04 16:09:49 +02:00
libretroadmin 794b430bac cocoa_input_grab_mouse - compile it in only for regular Cocoa, not CocoaTouch 2023-06-04 16:08:24 +02:00
libretroadmin 1352036133 (cocoa_input.m) Cleanups 2023-06-04 16:03:55 +02:00
libretroadmin cd6aec70ac Buildfix for iOS/tvOS 2023-06-04 15:51:02 +02:00
Alexander Kozharsky 167c52ec77 macOS Cocoa: fix mouse grab in windowed mode. 2023-06-04 14:51:04 +02:00
libretroadmin 31751a3945 Cleanups 2023-06-01 22:52:05 +02:00
libretroadmin f66a8dc538 Cleanup unused variable warnings 2023-06-01 22:34:16 +02:00
Bernhard Schelling 189542ea5f Prevent the android quick tap mouse click emulation while pressing a button on the on-screen overlay 2023-06-01 18:34:37 +02:00
anaximan bd59d35498 Fixed the corner tapping toggle 2023-06-01 15:56:09 +02:00
anaximan d7a4ee6918 Added clarification for the trackball and auto reloading to VMouse options. 2023-06-01 15:56:09 +02:00
anaximan e301ddf29f Compilation fixes when UDEV_TOUCH_SUPPORT is undefined 2023-06-01 15:56:09 +02:00
anaximan 516de17de0 Added touch-related options to RetroArch Input settings menu. Added trackball mode. 2023-06-01 15:56:09 +02:00
anaximan 59651914cd Fixed some typos, code cleanup, and C89 compatibility 2023-06-01 15:56:09 +02:00
anaximan 42c0c7ee2b First working version of udev driver with touchscreen support and gestures. 2023-06-01 15:56:09 +02:00
libretroadmin 3737b99b05 Cleanups 2023-05-30 22:10:03 +02:00
libretroadmin 37190f8036 Header uniformity cleanups 2023-05-30 21:21:05 +02:00
libretroadmin c0ba738f0d Header uniformity - enums on top, then structs, then public declarations 2023-05-30 21:03:36 +02:00
libretroadmin c09fb6d95d Cleanups 2023-05-30 12:19:53 +02:00
Colin Kinloch 402b381c9b Revert "(Wayland) Remove splash screen (#15178)"
This reverts commit f19def349f.
2023-05-29 19:16:21 +02:00
libretroadmin c24744eae5 Remove video_driver_show_mouse/hide_mouse 2023-05-29 18:58:23 +02:00
Eric Warmenhoven ed448a3f0f Haptic feedback for overlay on iOS 2023-05-29 09:29:41 +02:00
vanfanel 155d2c9ada [Wayland+GL] Add frame callback after egl_swap_buffers to improve latency when max_swapchain<=2. 2023-05-28 23:19:13 +02:00
Eric Warmenhoven b1503c6fc0 Add accelerometer and gyroscope sensors to iOS 2023-05-21 23:18:34 +02:00
Rob Loach b6dc368827 Fix linuxraw_joypad snprintf warning 2023-05-16 12:55:52 +02:00
Rob Loach 39fa89b214 Fix parport_joypad snprintf warning 2023-05-16 12:55:40 +02:00
Eric Warmenhoven d5a86e2363 iOS needs to targets 13 due to some keyboard emulation, but tvOS does not 2023-05-12 04:42:20 +02:00
libretroadmin 07cb5f4e98 Remove MENU_ENTRIES_CTL_SET_REFRESH 2023-05-11 01:58:30 +02:00
Eric Warmenhoven dda7776252 tvOS Siri remote handling
It's not really usable as a game controller, but it is good for going
through the menu as a simple LRUD.

This also adds better support for names of mFI controllers, as well as
being able to do the expected tvOS behavior of "backing out" of the app.
2023-05-10 08:41:09 +02:00
sonninnos 47d71646c9 Add menu scroll home+end actions 2023-05-08 15:25:51 +02:00
libretroadmin 099f33e0b3 (Menu) Simplifications 2023-05-06 22:10:55 +02:00
Carlo Refice 3f9a85d997
Fix rumble on PS4/PS5 controllers connected via bluetooth (#15244) 2023-05-01 23:37:26 +02:00
libretroadmin e7e647d181 (Joypad drivers) Simplifications - put char string outside loop 2023-05-01 20:33:38 +02:00
libretroadmin c087b044c2 * Add TODO/FIXME localize notes
* More snprintf optimizations
2023-04-30 19:30:07 +02:00
sonninnos ad079538a4
Fix menu toggle combo hold with same 'enable_hotkey' (#15226) 2023-04-26 01:54:44 +02:00
libretroadmin 07eddd7229 Cleanups 2023-04-23 16:09:24 +02:00
libretroadmin 238f887931 Get rid of initial for loop C89 noncompliance
* uwp_main.c - code style cleanups
2023-04-23 10:47:09 +02:00
Colin Kinloch f19def349f
(Wayland) Remove splash screen (#15178) 2023-04-10 16:37:48 +02:00
Colin Kinloch e8ec3031a8
(Wayland) wp_viewporter + scaling fix (#15176)
* Use wp_viewporter
* Set buffer scale to highest of displays the window is touching
* Fixes fullscreen issue mentioned in #15168
* Simplify process of adding new wayland protocols
2023-04-10 06:29:41 +01:00
warmenhoven 54055558f1
Fix several warnings (#15153) 2023-04-04 15:06:34 +01:00
Valentin b0b5a40d44
add overlay parameter to control x/y separation in auto-scale mode (#15106) 2023-03-31 01:33:39 +01:00
zoltanvb c996fe7070
Add wayland to input driver list. (#15133)
Wayland input driver was not selectable from menu. It could still be enforced by
context driver, or enabled in config file, but I saw no reason why it would be
better to skip it from here.
2023-03-25 22:42:03 +01:00
Colin Kinloch 2101400bf4
(Wayland) Check for pointer before locking it (#15130)
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
2023-03-24 22:40:38 +01:00
Colin Kinloch eeda1f6141
(Wayland) Don't relock the pointer (#15128) 2023-03-24 05:07:48 +01:00
Colin Kinloch d2c40b48ab
(Wayland) Mouse grab cleanup (#15114) 2023-03-21 14:36:24 +01:00
Manuel Alfayate Corchete aaa53da148
[Wayland] Add mouse grab/lock functionality. (#15103)
* [Wayland] Add mouse grab functionality.

Co-authored-by: Colin Kinloch <colin@kinlo.ch>
2023-03-20 11:30:04 +01:00
libretroadmin 2902d11b1a Rewinding code should not be a forced built-in dependency 2023-03-17 16:08:41 +01:00
libretroadmin 1581ece9ea Cleanups 2023-03-17 00:03:23 +01:00
libretroadmin 0de147971a (Wayland) Cleanups 2023-03-16 18:40:17 +01:00
sonninnos 92dfc80327
Check for 'enable_hotkey' also from autoconf binds (#15095) 2023-03-14 18:16:53 +01:00
libretroadmin 5c51232731 Style nit 2023-03-13 02:23:52 +01:00
libretroadmin 60dc768f78 (Replay/BSV) Fix issue #15083, and some other style nits 2023-03-13 01:34:27 +01:00
Joe Osborn be5b198692
Replay rewind fix (#15079)
* Rewind during recording isn't visibly busted anymore but it doesn't rewind the replay properly during playback or record, inputs get clobbered; check frame pos/ptr stuff.

* Fix rewinding during movie recording and playback?
2023-03-11 18:37:48 +01:00
Joe Osborn 81b3e128ac
Add checkpointing feature for replay recordings. (#15072)
If cores are not deterministic, or if they only have bounded
determinism, we can obtain less drift if replay files also contain
periodic checkpoint states.  These are configured by the new retroarch
stting replay_checkpoint_interval (measured in seconds).  States are
inserted into the replay file in between frames.

This patch also fixes the settings display for the replay
autoincrement max keep setting.
2023-03-09 23:14:02 +01:00
Colin Kinloch e31b7fe6c2
(Wayland) Fix resize check (#15065)
* (Wayland) Fix resize check

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

* (Wayland/GL) Correct scaling on resize

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

* (Wayland) Fix fullscreen buffers being initially double scaled

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

---------

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
2023-03-08 20:08:31 +01:00
Joe Osborn 807640fed3
Associate states with replays (#15070)
* change bsv file suffix to replay, update strings

* add trivial RPLY block to save states

* WIP rerecording support, doesn't load states properly yet--issue with checking identifiers?

* Fixed a type error to get time identifiers working right, ready for testing

* handle case where state without replay data is loaded during replay

* cleanups

* whitespace cleanup

* Cleanups, change replay file format magic, fix logic around future states

* Remove failed future message

* Add play-replay-from-slot command, fix load-state-from-slot to use given slot

* build fixes

* Fix race conditions in emscripten build and incorrect replay state incrementing

* Style fix for single line if

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-03-08 00:10:59 +01:00
Joe Osborn 4d81f70f00
Replay nomenclature (#15054)
* change bsv file suffix to replay, update strings

* Fix bsv cli args

* Fix help whitespace

* Fix another message

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-03-03 23:16:48 +01:00
Joe Osborn 2125770236
Replay UI support (#15048)
* Add bsv replay controls (not yet fully implemented), remove toggle

see notes in task_movie.c, make sure command.c calls the right
functions, check retroarch.c and other todos.

bsv files are also now stored with states, not saves.

* Compilation fixes

* Added command impls for play and record replay, and some code in load state to do the right thing there

* Guard some parts of the new code with HAVE_BSV_MOVIE

* wip, menu fixes

* more menu fixes, osd for movie errors, halt recording properly

* Menu and label fixes

* move bsvs to own file suffix series under savestates, fix recording and playback command validity checks

* Fix replay autoincrement

* fix endif placement, whoops

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-03-03 00:52:22 +01:00
Nicolas Adenis-Lamarre 7e2e87ad4a
fix udev guns input when id_mouse is not id_joystick (#15026)
the commit cfe9d60f51
introduces an issues on guns inputs for drivers udev, dinput, winraw and x11.
A local variable called "port" is redefining the function argument variable and
is causing bad calls in subsequent function calls.

In short, functionnally, if you have only 1 gun and 1 pad on your system, all works.
As soon as you use several pads or several guns, you may have issues,
because subsequent calls use the joystick port instead of the device port as argument.

IMPORTANT NOTE : this fix was done originally for the batocera project which uses only the udev driver,
this is why it is focused on udev only.
The same thing must be done and tested for dinput, winraw and x11.
I've not the ability to test them.

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-02-26 15:52:20 +01:00
libretroadmin 3f485de88c i(dinput/winraw/x11) Fix issue pointed out in PR #15026 2023-02-26 15:51:37 +01:00
libretroadmin c7f2e6e163 Buildfix 2023-02-23 19:06:55 +01:00
libretroadmin 8507c4ba20 (input/connect) Cleanups 2023-02-23 18:53:17 +01:00
libretroadmin 32962dfc99 Fix function declaration movie_stop_playback 2023-02-23 17:05:31 +01:00
libretroadmin 7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
libretroadmin 3f3262fba3 (PS3) Cleanups - don't assume GLSL is the default shader for PSL1GHT 2023-02-23 10:43:33 +01:00
LibretroAdmin 491c495249
Unify ps3 (#15014)
* Unify PS3 input driver

* Fix builds

* Add missing variable

* (PS3/Keyboard) Add more missing defines
2023-02-23 00:35:46 +01:00
OsirizX c0ccb8cda3
(PSL1GHT) Code cleanup (#15006)
* (PSL1GHT) Use RSX_SHADER_STOCK_BLEND and RSX_SHADER_MENU defines

* (PSL1GHT) Cleanup compiler warnings

* (PSL1GHT) Make sure we compile with librt
2023-02-22 08:14:38 +01:00
serakeri e0c9781b50
(MFi) Prevent crash when controller player index is unset (-1) (#14999) 2023-02-21 06:10:00 +01:00
serakeri 347ea8157c
Various memory access fixes to prevent crashes (#14459) (#15000)
Prevent double free and null dereference when the controller is quickly reconnected.
Handle error when controller device query returns null instead of crashing.
2023-02-21 06:09:36 +01:00
libretroadmin 35fa25bed6 (PS3) Start turning PS3 input drivers more the same 2023-02-20 18:09:57 +01:00
libretroadmin 761b87a61b (MFi) Get rid of warning 2023-02-20 16:54:50 +01:00
libretroadmin 03096cbda7 (MFi) Get rid of warning 2023-02-20 16:51:15 +01:00
libretroadmin 33ba9777a0 (MFi) Fix typo 2023-02-20 16:47:42 +01:00
libretroadmin a6c19b083a (MFi) Should fix MFi input issue - also took the time to refactor some code 2023-02-20 16:46:04 +01:00
libretroadmin 2ee501809e (PSL1GHT) turn public functions static 2023-02-20 16:24:32 +01:00
libretroadmin 4620b55476 (RSX/PSL1GHT) Cleanups and getting rid of warnings - array bounds exceeding
was troublesome so bumped up max shaders to 10 for now, some style nits in
RSX video driver, variable center_y could be uninitialized so fixed that
in psl1ght_input.c
2023-02-20 16:13:23 +01:00
libretroadmin 07c073b717 (PSL1GHT) Don't redefine MAX_MICE define 2023-02-20 15:35:00 +01:00
libretroadmin a4dda41739 (PSL1GHT) Buildfixes/warning fixes 2023-02-20 15:33:54 +01:00
libretroadmin b872de4fb1 (PSL1GHT) Fix some warnings 2023-02-20 14:50:54 +01:00
libretroadmin 2d2d96660a Cleanups 2023-02-20 13:21:17 +01:00
libretroadmin 66aebcabea (input drivers) Cleanups 2023-02-20 12:54:26 +01:00
libretroadmin 334cb3d5d4 (joypad drivers) Cleanups 2023-02-20 10:46:28 +01:00
libretroadmin 52a800a520 (Wayland input) Cleanups 2023-02-20 10:26:14 +01:00
libretroadmin 93de4f3c4f (Joypad drivers) Cleanup dos_joypad.c 2023-02-20 10:18:48 +01:00
libretroadmin 6f26f37cec Simplify axis state code for joypad drivers 2023-02-20 10:10:07 +01:00
libretroadmin 5ae2b9f753 (UWP) Cleanups/style nits
(Joypad drivers) Cleanup/slim down axis code
2023-02-19 19:32:05 +01:00
libretroadmin 8b200f552d Simplify axis state code of other input joypad drivers 2023-02-19 19:05:32 +01:00
libretroadmin e367f87767 Simplifications to axis_state functions for some driver joypad files 2023-02-19 18:42:40 +01:00
libretroadmin da51b441f4 (wiiu_hid) More buildfixes 2023-02-19 13:20:09 +01:00
libretroadmin 94745eaf31 (WiiU) wiiu_hid - buildfixes 2023-02-19 13:01:11 +01:00
libretroadmin e1521dd86d (X11 input) Silence warning 2023-02-19 12:44:04 +01:00
libretroadmin 42a0618812 (udev_joypad.c) Cleanups 2023-02-19 12:42:06 +01:00
libretroadmin 96d39a78cc (Wayland) Silence implicit declaration warnings 2023-02-19 12:29:07 +01:00
reallibretroadmin 78e935b7a9 (IOHIDManager) Buildfix 2023-02-19 12:20:11 +01:00
libretroadmin 6728d5a2fa (Subsystem) Cleanups 2023-02-19 12:15:45 +01:00
libretroadmin 1d9cb216ca Silence some warnings/LTO issues 2023-02-19 10:21:37 +01:00
libretroadmin 4d305bf3e8 Buildfixes for Android and Wayland 2023-02-19 10:09:50 +01:00
libretroadmin 963bb92f95 (Input) Style nits/code simplifications 2023-02-19 06:30:14 +01:00
warmenhoven c242586ea7
tvOS improvements (#14983)
The initial popup screen advertising the web server did not prevent
keys from passing through, so interactions with the alert would also
be handled by the menu. The alert would pop up any time there was a
network reconfiguration; now it only pops up once per run. Added a way
to turn off the webserver advertisement alert permanently.

Also fixed a bug around filtering the Siri remote out, and turning
controllers off while the app is running.
2023-02-15 11:59:06 +01:00
warmenhoven c52d3484eb
Fix turning off rumbling (#14979) 2023-02-14 20:37:16 +01:00
warmenhoven c3526132ad
iOS9/iOS11 build fix: Link against CoreHaptics (#14977)
Also address a couple warnings
2023-02-14 05:35:38 +01:00
warmenhoven 5685b5a9a1
mFI on OSX (#14975)
This adds mFI as a controller driver for OSX, as well as adding rumble
support for mFI controllers. Also add support for the Home button.

Also fixed a couple warnings.
2023-02-13 21:49:35 +01:00
OsirizX 0549223677
(PSL1GHT) Add improvements to the RSX driver (#14965)
* remove var error in psl1ght input

* (psl1ght) add modern_alpha_blend and modern_opaque rsx shaders

* (psl1ght) add perf improvements to the rsx driver

* add rsx gfx for psl1ght

* (psl1ght) set rsx as a compatible video driver

* Do xmb menu scaling for psl1ght

* (psl1ght) update Makefile to use latest shaders and more UI menu options
2023-02-10 08:29:45 +01:00
Joe Osborn 155e99b92c
add keyboard recording support to bsv (#14933)
* add keyboard recording support to bsv

BSV movies recorded in older RA *WILL NOT* replay properly after this
patch.  While looking to see if the core actually uses a keyboard
device could mitigate this, it is an unavoidable consequence of using
BSV, a format which carries no metadata whatsoever.

* Fix for loop declarations and some whitespace

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-02-01 00:22:00 +01:00
Joe Osborn 5dbdde4316
BSV ergonomics improvements (#14929)
* BSV ergonomics improvements

- Date stamp toggled recordings instead of overwriting or using save
slot number
- Properly stop movie on playback EOF; also pause emulation
- Add recording flag to match playback flag in bsv state enum
- Rename bsv "movie path" to "movie auto path" to clarify role
- Allow stopping movie playback before EOF using record toggle hotkey
---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-31 05:34:26 +01:00
sonninnos a055bcd16b
Do not block input overlay hotkeys (#14923) 2023-01-29 14:52:03 +01:00
warmenhoven 2946e6704b
Fix a crash in for BT HID devices. (#14922)
pad_connection_destroy() frees slots, no need to free it again.
2023-01-29 14:51:36 +01:00
Joe Osborn 951f5a76a5
Add bsv to emscripten builds (#14905)
* Add bsv to emscripten builds

BSV has no external dependencies so this addition should be fine.

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-26 05:46:39 +01:00
Joe Osborn f149519351
Allow for both -e and -R to start a BSV file recording at a state (#14898)
* Allow for both -e and -R to start a BSV file recording at a state

The key issue is that loading a state takes some time, and the BSV
recording shouldn't start until that's done.

The minimal patch for this would just be a change to runloop.c which
moves movie initialization after entry state loading, throwing in a
task_queue_wait().  This makes for some awkward repeated autoload OSD
messages and doesn't solve the underlying issue.

Most of this change puts BSV recording start/stop into tasks, like
saving and loading are tasks; this was important to centralize BSV
operations a bit more and is the first part of a refactoring towards
more robust input recording.  The necessary wait is introduced in the
begin-recording callback.

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-25 07:15:32 +01:00
libretroadmin a8c43daef6 Addendum - no additional whitespace - already done beforehand 2023-01-22 17:35:49 +01:00
libretroadmin 610194e805 input_config_get_bind_string_hotkey - snprintf concatenation
so we don't repeat the same formatting for every switch case
statement
2023-01-22 17:34:12 +01:00
libretroadmin 01c3684b10 Cleanups - try to remove stdio.h include where possible 2023-01-21 22:25:38 +01:00
Joe Osborn baa14ae213
Fix #14870 (#14871)
* Don't start video recording when BSV recording starts

* Don't double-record inputs in BSV recording

- Will this work properly with the part of input handling outside of
input_state_wrap? Who knows?

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-20 18:20:10 +01:00
sonninnos b8bcce98c3
(WIN32) Restore zero key event characters (#14848) 2023-01-15 09:00:47 +01:00
sonninnos 3e599d04d3
(WIN32) Add support for mouse button swap (#14846) 2023-01-14 21:33:26 +01:00
sonninnos 639d367773
(WIN32) Fix keyboard event characters (#14844) 2023-01-14 06:46:24 +01:00
reallibretroadmin 3b6aef23e1 Silence 'value stored to variable is never read' warning 2023-01-13 16:18:20 +01:00
sonninnos 2f1a03523b
Hotkey blocking correction (#14831) 2023-01-13 04:56:14 +01:00
neil4 7213aada8d
Add Preemptive Frames to Latency Settings (#14832) 2023-01-10 07:22:14 +01:00
reallibretroadmin 3ae8e35d0e (iOS) Buildfix and cleanup some unused variables 2023-01-09 01:54:45 +01:00
libretroadmin daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
libretroadmin 8a3686df58 Revert "Header cleanups - don't include retroarch.h everywhere"
This reverts commit 0e3b478f8c.
2023-01-08 09:05:46 +01:00
libretroadmin 0e3b478f8c Header cleanups - don't include retroarch.h everywhere 2023-01-08 08:56:57 +01:00
libretroadmin 41b069462d (Android) Buildfix 2023-01-07 12:10:17 +01:00
libretroadmin e447a4e8e6 Get rid of RARCH_CTL_SET_{IDLE/PAUSED} 2023-01-07 07:32:16 +01:00
reallibretroadmin adee2dbe72 * Use strlcat instead of strcat
* Silence implicit conversion warnings detected in Xcode
2023-01-07 07:12:25 +01:00
libretroadmin b59a13771c Move input LUT table to input_driver.h 2023-01-05 19:30:51 +01:00
Gonzalo Peche 9efc1f500d In Android builds, add input_android_physical_keyboard configuration option and its corresponding menu entry to force a device to act as a physical keyboard.
When running on Android, RetroArch considers most devices that emit dpad events as gamepads, even if they also emit other keyboard events; this is usually the right thing to do, but it has the side effect of not letting some actual keyboards (e.g.: Logitech K480) act as such inside RetroArch. This configuration option allows users to manually select a specific input device to act as a physical keyboard instead of a gamepad, which is handy when emulating computers as opposed to consoles.
2023-01-05 04:50:37 +01:00
sonninnos 883e88fa73
Keyboard event blocking corrections (#14728) 2022-12-18 18:36:24 +01:00
Apaczer 4242a04641
add L3 & R3 mapping for MIYOO (#14741)
for Retropad

Update sdl_dingux_joypad.c
2022-12-18 04:08:16 +01:00
Denis Kopyrin a22bac091c
(macOS) Fixed cocoa keyboard not allowing to map Analog stick (#14701) 2022-12-05 16:12:19 +01:00
sonninnos 5024809c85
Device Index menu refactor (#14691) 2022-12-02 17:47:53 +01:00
LibretroAdmin c75af6194b
Extended IME and Korean OSK (#14676) 2022-11-29 04:45:55 +01:00
libretroadmin 192f4859e0 (GX) More buildfixes for Github CI 2022-11-27 23:46:30 +01:00
libretroadmin 16952aa23b (GX) Another header include buildfix 2022-11-27 23:41:21 +01:00
libretroadmin 9627e782aa (GX) Buildfixes 2022-11-27 23:37:08 +01:00
libretroadmin f062b74e26 Overlays/Input: Turn a bunch more functions static 2022-11-23 19:54:15 +01:00
libretroadmin 0cf1d86a3a (input_driver.c) Turn bunch of functions static that are never accessed outside
* Turn some variable / parameter names like 'joypad_driver_name' into 'joypad_drv_name'
so they are less likely to conflict with symbol names
2022-11-23 19:14:24 +01:00
libretroadmin aa0ae2cd3e Silence warnings 2022-11-22 18:34:04 +01:00
neil4 3b0db75782
Overlay cleanups; replace bools with flags (#14661) 2022-11-22 18:29:11 +01:00
sonninnos ce1e59615a
(WinRaw) Fix mouse position when using input overlay with mouse cursor (#14659) 2022-11-22 16:50:17 +01:00
sonninnos 9bc7bebf51
More hotkey cleanups (#14657) 2022-11-22 14:45:30 +01:00
libretroadmin 1c9d3ad0bf Silence some warnings 2022-11-21 20:56:28 +01:00
libretroadmin 6b71214ed7 Silence some signed/unsigned mismatch warnings 2022-11-21 19:34:43 +01:00
libretroadmin 6a098d37ac Use HAVE_DYLIB instead of HAVE_DYNAMIC when loading shared libraries 2022-11-21 05:37:35 +01:00
neil4 e71a5ff921
Overlay animation-related fixes (#14651)
- Fix analog drift blocking touch input (could occur on overlay_next if physical inputs shown on overlay)
- Fix overlay_next buttons lighting up in unison
- Skip meta keys in input_overlay_add_inputs (not supported by input_state_internal)
2022-11-21 04:48:34 +01:00
sonninnos 3377fd55ab
Driver + hotkey list reorder (#14646)
* Reorder driver menu and lists

* Reorder hotkey list
2022-11-20 07:26:34 +01:00
Richard c0926ad1a1
feat(iOS13): Pointer Movement Accuracy (#14641)
Co-authored-by: Richard <rf2222222@github.com>
2022-11-18 19:45:36 +01:00
libretroadmin 63153620a7 There can be builds that are statically built against a libretro core
but still have dylib support
2022-11-16 16:51:53 +01:00
sonninnos 3b921ffbfa
Fix shader toggle and add hotkey + sublabel (#14628) 2022-11-15 22:14:09 +01:00
neil4 3de186e374
Overlays: Ignore hitboxes with zero area (#14619)
I.e. Set 'reach_x' or 'reach_y' to zero to ensure no hitbox math is done

nits
2022-11-13 10:46:41 +01:00
GABO1423 b6563f7b5d
(UWP) Build Fix (#14617) 2022-11-12 20:06:15 +01:00
sonninnos 954d1bf605
Driver independent disconnection notification (#14600) 2022-11-07 05:51:37 -08:00
neil4 217fba48c5
minor overlay-related fixes (#14594)
input_overlay_loaded: Only update menu entries if changed

input_overlay_add_inputs: Set 'updated' for analogs when touched
2022-11-06 17:25:44 +01:00