Commit Graph

652 Commits

Author SHA1 Message Date
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
Yoshi Sugawara f70aed431d [iOS][tvOS] Fix declaration of input driver init method 2020-09-24 07:21:08 -10:00
twinaphex 236622ffa6 (Joypad driver) Init function - return void pointer 2020-09-22 02:30:47 +02:00
twinaphex b4bbad494a (drivers_joypad) Cleanups to wiiu_joypad and xdk_joypad 2020-09-11 15:58:44 +02:00
twinaphex 99cff42988 (udev_joypad) Struct reordering, alignment 2020-09-11 15:53:18 +02:00
twinaphex 72f1ff0f4b Reorder structs, alignment 2020-09-11 12:40:19 +02:00
twinaphex 7c36e615c2 (MFI_joypad) Cleanups 2020-09-11 12:39:05 +02:00
twinaphex ab9202c0aa Cleanups 2020-09-11 12:35:14 +02:00
twinaphex 0c45135160 (ps2_joypad) Cleanups 2020-09-11 12:32:06 +02:00
twinaphex 0adee503f2 (Android) Don't do memcpy copy anymore 2020-08-31 03:11:52 +02:00
twinaphex 7b0fe59722 Get rid of duplicate dinput_hybrid_joypad.c 2020-08-30 19:41:44 +02:00
twinaphex 9fdbcae3a8 Update copyrights; person was not involved in this file 2020-08-30 19:00:44 +02:00
twinaphex 82c558e5ce Update copyrights 2020-08-30 18:59:57 +02:00
twinaphex adf1322cbb (DInput joypad) Cut down on code duplication 2020-08-30 06:53:16 +02:00
twinaphex 1e223733fc Add joypad_rumble function in Android joypad driver 2020-08-29 23:47:56 +02:00
twinaphex 71fb5ac941 Clear state in joypad_destroy 2020-08-29 23:35:11 +02:00
twinaphex b133ea3296 (XInput) add ifdef 2020-08-29 22:48:28 +02:00
twinaphex c5099a312c Reimplement XDK set_rumble function 2020-08-29 22:25:51 +02:00
twinaphex 88a93b0053 Cleanups 2020-08-28 19:59:31 +02:00
twinaphex a15a033e72 (XInput) Cleanups 2020-08-19 03:40:55 +02:00
twinaphex 5166eebcaf for loop cleanups - use space after 'for' 2020-08-19 03:06:22 +02:00