Commit Graph

772 Commits

Author SHA1 Message Date
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
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
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
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 7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
serakeri e0c9781b50
(MFi) Prevent crash when controller player index is unset (-1) (#14999) 2023-02-21 06:10:00 +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 a4dda41739 (PSL1GHT) Buildfixes/warning fixes 2023-02-20 15:33:54 +01:00
libretroadmin 2d2d96660a Cleanups 2023-02-20 13:21:17 +01:00
libretroadmin 334cb3d5d4 (joypad drivers) Cleanups 2023-02-20 10:46:28 +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 42a0618812 (udev_joypad.c) Cleanups 2023-02-19 12:42:06 +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
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
Apaczer 4242a04641
add L3 & R3 mapping for MIYOO (#14741)
for Retropad

Update sdl_dingux_joypad.c
2022-12-18 04:08:16 +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 6a098d37ac Use HAVE_DYLIB instead of HAVE_DYNAMIC when loading shared libraries 2022-11-21 05:37:35 +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
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
sonninnos 9796024f3d
(XInput) Ensure disconnection notification (#14592)
* (XInput) Ensure disconnection notification

* Prefer display_name in autoconfig disconnect notification
2022-11-06 02:34:03 +01:00
LibretroAdmin aeef3d6220 (3DS/CTR) Remove debug button combo that quites RetroArch 2022-10-31 23:02:35 +01:00
LibretroAdmin d506210fbe
(menu_driver.c) Use flags instead of bools (#14500)
* (menu_driver.c) Use flags instead of bools
2022-10-08 22:52:18 +02:00
LibretroAdmin ace21d28f7 Fix C++ comments 2022-10-01 17:56:16 +02:00
LibretroAdmin da13fb0f48 Don't include errno.h in files that don't justify its use 2022-08-25 05:19:30 +02:00
libretroadmin 9590fdd0d4 Cleanups pt.2 2022-05-22 20:29:53 +02:00
Francisco Javier Trujillo Mata 6366fcf8e3 [ORBIS] Remove legacy implementation and compile with Werror 2022-05-21 17:10:35 +02:00
Antonio Jose Ramos Marquez 9dd060dbc8 [ORBIS] some changes for input 2022-05-21 16:31:10 +02:00
OsirizX c6d51fdb32 [ORBIS] Initial changes for PS4 2022-05-21 16:31:10 +02:00
Vladimir Serbinenko c2db12c727
Enable menu toggle button on retrofw devices (#13889) 2022-04-26 09:59:36 +02:00
Vladimir Serbinenko c11a798467
Series of djgpp fixes (#13705)
* features_cpu: Fix clock for djgpp

* frontend_dos_set_fork: Fix wrong id names

* dos_input: Fix missing indexing

* dos_joypad: Fix wrong id name

* Fix menu drawing

Menu is already prescaled to VGA_WIDTH x VGA_HEIGHT in vga_menu_frame. We need
to always use those dimensions

* Change dos compilation from griffin to common

* Set vga menu size to 320x200

* Add DOS compilation in gitlab-ci.yml
2022-03-05 15:53:18 +01:00
Tony 6d5d2e722d
Logging cleanups (#13579) 2022-01-31 18:05:23 +01:00
twinaphex 60eaf14afc C89_BUILDFIX 2022-01-29 10:55:31 +01:00
Dystopian 0afdb2a0cf
Improve udev logging (#13549) 2022-01-29 10:57:38 +01:00
Francisco Javier Trujillo Mata 86b47b4859
[PSP] Update Retroarch to latest PSPDev status (#13544)
* Added newlib changes

* Add action to launch PPSSPP simulator

* Remove legacy config for the stack and heap

* Add pthread

* Simplify kernel_functions and improve references to HAVE_KERNEL_PRX

* Add some flags

* Improve audio init/deinit

* Improve exit by clicking home

* Add CI for PSP1

* Update PSP.yml
2022-01-25 03:50:18 +01:00
Ryan Kuba 6ae1270e5c
remove test for standard mapping in controller detection (#13528) 2022-01-24 16:31:03 +01:00
Francisco Javier Trujillo Mata 1cd0938cc3
[PS2] Improve Compilation (#13359)
* Allow parallel compilation in PS2

* Allow to compile with griffin or common compilation in PS2

* Enable dummy core to be used in other platforms

* Use threads in YML config

* Add the compilation to PS2 in GitHub Actions
2021-12-15 19:01:56 +01:00
Tomáš Kelemen (vudiq) 0cf437e375
Lakka/Nintendo Switch: disable rumble gain
Rumble gain breaks controlls on Nintendo Switch port of Lakka, probably
due to issue in the driver).

Upstream of patch used by Lakka at build time
1943ad296e/packages/libretro/retroarch/patches/retroarch-06-switch_disable_rumble_gain.patch
2021-11-18 00:36:11 +01:00
twinaphex 619398bbe4 Backport parts of 73c0760236 2021-11-09 23:12:57 +01:00
Nathan Strong 5b4b766459 Fix wiimotes regression
== DETAILS
- only call disconnect when we're actually disconnecting a remote
  (e.g. read errors or remote goes to sleep).
- clean up some compile warnings introduced by others (mainly
  unused variables)
2021-10-16 23:56:15 -07:00
jdgleaver f1ac1ad9f9 (Dingux) Fix HAS_ANALOG/HAS_MENU_TOGGLE defines in sdl_dingux joypad driver 2021-10-13 12:53:54 +01:00
gblues dd6c70a083
Fix a couple regressions (#13101)
== DETAILS

- rewrote the HID deregistration algorithm; it should no longer
  cause issues when dealing with multiple pads of the same HID/VID
  combo
- fix initialization bug that caused wiimotes to fail to register
  without an accessory attached
2021-10-11 09:39:13 +02:00
Salvador 58e7dd8a1a
Add Miyoo target (#12860)
* add miyoo target
2021-10-08 13:53:49 +02:00
Nathan Strong c832828ddb Figured out the cause of crash
== DETAILS
cause of crash: trying to deference init when it's null
the reason it was going into deregister: the HID/VID lookup was
failing because it wasn't getting initialized first
cause of 2nd crash: the "end of pad list" method looked for an entry
with a magic value, so we add an end marker
2021-10-05 09:23:08 -07:00
Nathan Strong a4d8ce7753 Try to support multi-pad HID devices
== DETAILS
I tried to modify the joypad connection interface to support
multi-pad HID devices ... it doesn't work. I'm not sure why.
2021-10-05 09:23:08 -07:00
Nathan Strong 5da1cd08ff Unify the HID driver architecture
== DETAILS
When I first implemented the Wii U HID architecture, I ended up
having to design my own implementation because, at the time, I did
not have a way to read the HID device string to allow the existing
code to successfully detect the gamepad.

After spending some time experimenting, I've figured out how to
do this. And that means I can better align the HID driver with other
platforms.

change summary:

- create a single state structure for all three sub-types of wiiu pads
  (kpad, wpad, and hid)
- eliminate confusing duplicate pad lists
- eliminate confusing duplicate HID pad drivers (ds3, gamecube
  adapter, etc)
- ensure the ds3 driver still works
2021-10-05 09:23:08 -07:00
Nathan Strong 9edb449471 wip commit 2021-10-05 09:10:41 -07:00
p-sam 54d2ac9f43 libnx: Splitted Joycons button mapping
- Minus/Plus is always Plus when splitted (JOYPAD_START)
- StickR/StickL is always StickL when splitted (JOYPAD_L3)
2021-10-01 20:18:54 +02:00
twinaphex ddceb51f89 Get rid of some needless getters/setters 2021-09-30 21:10:12 +02:00
twinaphex e886e908d5 Create consistent naming conventions - use retroarch_ instead
of rarch_ for some functions for all functions coming from retroarch.h
2021-09-28 12:56:10 +02:00
twinaphex 8ef9065c86 Get rid of menu_driver_is_alive - we don't want these one/two-line getters/setters anymore 2021-09-28 10:27:00 +02:00
M4xw 931eb3221b [LIBNX] Fix Split Joycon 2021-09-23 13:45:22 +02:00
Michael Burgardt 303d17e2e6 Rebase 'Add generic rumble gain to input settings' by davidgfnet 2021-09-08 19:52:32 +02:00
bulzipke 8adc24ecbc
(3DS) Add bottom screen menu (#12470)
* (3DS) Add bottom screen menu
 -> User can save/load state on botom screen with thumbnail.
 -> Call a save_state_to_file() when RAM state has data to write a disk.
 -> If the bottom screen needs updating, swap the bottom framebuffers.

Add: SAVE/LODE STATE TO RAM
 -> This is useful for devices with slow I/O
 -> 3DS bottom save state use CMD_EVENT_SAVE_STATE_TO_RAM
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE when RAM state has no data
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE_FROM_RAM when RAM sate has data

* Rewrite path_get_state to retroarch_get_current_savestate_path

* Fix unterminated state_path
2021-09-03 18:14:03 +02:00
twinaphex 20ef0667b0 Add initial webOS port courtesy of informatic/webosbrew/mariotaku 2021-08-11 20:04:11 +02:00
twinaphex bb30dc3dee After gblues' change, the rest of the button function callbacks
for the other joypad drivers still had int16_t as the return type
instead of int32_t - fix this
2021-08-08 21:48:19 +02:00
Nathan Strong feb4f266fa WIIU: Fix L3/R3 buttons
== DETAILS
After a bisect, the culprit was changing the gamepad interface from
returing a single button (bool) to multiple (int16).

The issue is that the Wii U gamepad (and presumably the Pro controller too)
have more than 16 buttons, which means some buttons get lost. Notably, L3 (18)
and R3 (17).

The solution: use int32 instead of int16.

I did a test build and confirmed that this change restores L3/R3 functionality
with the gamepad. Don't have a pro controller to test, but it should work too.
2021-08-07 23:23:33 -07:00
amtz d0612f906d Limit udev device scan to subsystem 'input'
This change makes the call to 'udev_enumerate_scan_devices' much faster.
In particular, for some bluetooth devices, this function may implicitly
read its battery's virtual file 'uevent', e.g.

/sys/devices/*/usb1/1-1/*/bluetooth/hci0/*/power_supply/hid-*-battery/uevent

Reading this file may (for unknown reasons) block up to 10 seconds.
Since udev_enumerate_scan_devices is called 4 times (for keyboard,
mouse, touchpad, and joypad) during startup this may cause a
considerable delay.

Limiting the scan to subsystem 'input' yields the same devices but makes
the scan faster and does not read 'uevent' of the input controller's
power_supply.
2021-08-02 13:17:00 +02:00
Autechre 0c2299396c
Merge pull request #12711 from Poligraf/retrofw
Add retrofw port
2021-07-29 13:41:13 +02:00
Poligraf 9000e81498
Add retrofw port 2021-07-29 22:16:59 +12:00
R-YaTian 1d988d374a
libnx: Fix split joycons 2021-07-29 12:18:11 +08:00
p-sam 0f5f8798ea libnx: input fixes
- fix poll missing for controller 2-8
- fix layout not applied correctly and hangs when splitting joycons
2021-07-28 21:49:09 +02:00
Ash Logan 27b02d66aa (Wii U) Ignore some bogus KPAD results
This API is completely bonkers, seems to have no idea what the error 
conditions are
2021-07-19 16:59:41 +10:00
John Parton f6aeb717ba Basic rs90 build
DINGUX_BETA has clock_gettime libogc
Add tinyalsa support to rs90
2021-07-13 11:36:48 -05:00
M4xw d00c2a6407 [Libnx] Style nits 2021-06-28 17:38:17 +02:00
p-sam ac8a977492 Replace deprecated HID APIs 2021-06-28 17:38:17 +02:00
p-sam 1bc588acbd Fix building with libnx 4.0.0 2021-06-28 17:38:17 +02:00
jdgleaver 973f5cda6d Add support for mapping multiple controllers to a single input device 2021-06-21 12:42:38 +01:00
Francisco José García García 87a7795331 [VITA] Fix input driver for PSTV 2021-05-21 10:54:02 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
Todd Laney be8dd0dba1 prevent crash on controller connect.
disable system button gestures on iOS 14.
remove deprecation warnings.
2021-04-03 09:28:49 -07:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
twinaphex 938c8f3abc Fix some tvOS warnings 2021-03-15 01:52:18 +01:00
AKuHAK 3c0633839f
(PS2) added Multitap support (up to 8 players) (#11928)
* (PS2) added Multitap support (up to 8 players)

* (PS2) revert some identation changes

* (PS2) fix for non-analog controllers
* fix for not recognized digital and other non-standart controllers
* fixed ps2_joypad_destroy
2021-01-24 00:04:04 +01:00
twinaphex 875cb06a93 (iOS) Fix signature on apple_gamecontroller_joypad_init 2021-01-16 20:05:53 +01:00
David Lawson 0bdf574cfd udev_joypad: make rumble work
Rumble was not working for me. I learnt a bit about how evdev works and it seems like you need to set a replay which defines how long the effect is (previously we set it to 0). This means there's a maximum length to the rumble effect which feels wrong.

When we do `play.value = !!strength;` we're setting the number of times for the effect to repeat, which works fine because the effect stops when we set it to 0.

It doesn't feel quite right to me playing e.g. Goldeneye but I've not played on real hardware for a while.

I'm hoping someone is more familiar with evdev and can suggest a better approach.
2020-12-31 07:55:02 +00:00
David Lawson b0de18ea12 udev_joypad: some cleanup 2020-12-30 22:07:26 +00:00
twinaphex 51f0d04569 Update 2020-12-20 16:41:44 +01:00
jdgleaver 88254d8402 (sdl_dingux_joypad) Fix typo 2020-12-01 11:28:31 +00:00
David Guillen Fandos bf48757a2e Add support for 64 buttons in udev gamepads
It seems only 16 were only really supported anyway due to the
usage of BITS_COPY16_PTR (which only copies 16 bit states)?
2020-11-18 19:29:46 +01:00
jdgleaver de146545af OpenDingux: Optimise rumble interface 2020-11-18 17:21:38 +00:00
jdgleaver e582cf9f1d OpenDingux: Add rumble support 2020-11-17 16:13:37 +00:00
jdgleaver 2dc837850f OpenDingux: Add 'sdl_dingux' input/joypad drivers and use by default 2020-10-08 13:26:45 +01:00
jdgleaver 3fa1166ec4 (udev/linuxraw/wayland) Fix return key keyboard input 2020-09-29 11:23:35 +01:00