676 Commits

Author SHA1 Message Date
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
libretroadmin
3e2e53ba7f snprintf - if no formatting is required then use strlcpy 2024-06-13 06:48:50 +02: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
Barry Rowe
26a824caff
Revert of AI service changes (#16428) 2024-04-12 16:17:24 -07:00
zoltanvb
b27233b3b8
Test input joypad driver (#16370)
* Test driver for joypad inputs

Add a new joypad input driver:
- hide driver behind #ifdef and enable it in config_params.sh
- add a new config parameter to specify the test input file
- add aux files: additional config files that cancel out any binds
  that may be present in RA config, autoconfig profile for
  test joypads, test input file that matches controller test
  sequence

* Fixes and comments for test input driver.
2024-03-18 12:07:36 -07:00
neil4
5306da72ce
Minor updates to Overlay Mouse and Lightgun (#16366) 2024-03-17 09:40:50 -07:00
neil4
cc97df732c
Add Overlay Mouse, Lightgun, and Pointer (#16343)
- When enabled, any touch inputs not in a hitbox are used to create pointing device input for the core.
- Mouse: 1-, 2-, 3-touch inputs are LMB, RMB, and MMB
- Lightgun: allows input from overlay buttons or multi-touch mappings
2024-03-16 01:56:30 -07:00
Bobby Smith
e1cc4fb14d
Add a new "Classic (Toggle)" turbo mode (#16239) 2024-02-18 08:24:05 -08:00
sonninnos
6e6a4d8b6d
RETROK_UNKNOWN fixes and cleanups (#16250) 2024-02-18 08:23:05 -08:00
sonninnos
e8956418a8
Fix input state combos and empty binds (#16233) 2024-02-13 16:16:39 -08:00
Viačasłaŭ Chalikin
997c7453a8
Fix narrator modes (#16179)
* Fix narrator

* Refactor accessibility
2024-02-08 21:14:23 -08:00
Bobby Smith
7c3d07bf6d
Tweaks to how the "Analog to Digital Type" setting is saved (#16187) 2024-02-02 12:53:24 -08:00
sonninnos
8ad8b6bdad
Input state overflow band-aid (#16168) 2024-01-26 09:44:48 -08:00
sonninnos
8f77938767
Fix ghost input when setting RETROK_UNKNOWN (#16163) 2024-01-25 02:46:48 -08:00
sonninnos
266d3ed150
Add option for merging 'Hotkey Enable' device types (#16152) 2024-01-21 18:13:17 -08:00
Eric Warmenhoven
e6eadecabd
Disable mFI secondary_joypad behavior (#16129)
Some controllers show up as both HID and mFI. In that case we probably
want to let the user pick which driver to use, rather than balance
across them.

This fixes issues with the analog stick moving in the wrong direction
on the y axis.
2024-01-18 09:33:16 -08:00
hunterk
6513a023b8
Add a setting to allow turbo d-pad directions (#16006)
* Add option to allow turbo d-pad inputs

* fix macro tab and update comment
2023-12-13 18:36:09 -08:00
Joe Osborn
2baf9ec7e0
Enqueue replay record/playback until next frame (#15751)
* Enqueue replay record/playback until next frame

This fixes a bug where stdin commands activated via polling would
trigger replay record/playback in the middle of a frame, then input
checking would pull from them before the next frame came around---it
only makes sense to change the active replay in between frames, not
during them.

* fix comment syntax
2023-10-04 00:53:51 -07:00
sonninnos
ea86be0a2b
Fix menu analog stick navigation (#15740) 2023-09-26 05:30:15 -07:00
sonninnos
cf2ee94c9f
Correction for not showing mouse cursor with overlay (#15687) 2023-09-11 17:28:33 -07:00
sonninnos
ea1bdade61
Allow more keyboard actions with menu osk (#15662) 2023-09-01 15:48:55 -07: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
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
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
libretroadmin
c8e6506687 Fix --disable-menu errors 2023-08-14 23:36:19 +02:00
neil4
fbd8498686
Overlays: Apply range_mod only for the touch inputs that trigger it (#15534) 2023-07-30 09:49:59 +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
sonninnos
7922e45607 Combo hold + 'enable_hotkey' correction 2023-07-01 20:12:13 +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
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
libretroadmin
246cceeb27 Silence more signedness warnings 2023-06-14 19:51:31 +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
libretroadmin
f66a8dc538 Cleanup unused variable warnings 2023-06-01 22:34:16 +02:00