Commit Graph

36 Commits

Author SHA1 Message Date
gblues 5b37ced196 Update HID pad driver architecture
== DETAILS

The current HID implementation assumes a very low-level USB library
is being used. This causes a problem on Wii U, because the Cafe OS
only exposes a high-level interface.

To get these functions exposed to the HID pad drivers, I had to make
three changes:

1. I added the legacy "send_control" function to the HID driver
   interface
2. I modified the signature of pad_connection_pad_init() to send the
   driver pointer instead of the function pointer
3. I updated the HID pad drivers to keep the pointer to the driver
   instead of the function pointer, and updated the calls into the
   send_control function as appropriate
4. I updated the HID drivers to use the new pad init signature

== TESTING
Untested, in theory it should work without a hitch because at this
point all I've done is abstract things a little. I still need to
update the HID pad drivers to use the Wii U-specific calls as
appropriate.
2017-12-30 04:41:01 +01:00
twinaphex 6c09661a64 Move defines to retro_miscellaneous.h 2017-12-05 10:42:37 +01:00
David Walters c5bdc02d6f replace uint64_t with retro_bits_t* for pad buttons state 2017-11-28 10:04:34 +00:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
netux79 bca4ccb155 (GX) Refactor of the Wii USB HID support. Now it's working!
In order to have a controller working you need:
1) Have a matching HID autoconfig file in autoconfig/hid for your controller.
2) Create a "connect" driver for the pad in "input/connect" folder (source code of RA).
3) Once you are in RA, change the joystick driver to HID and restart.
4) You may be now able to use you USB HID compatible pad in RA.

I included some "connect" drivers as an example. It also need to include them for compilation.
2016-02-04 17:01:03 -05:00
twinaphex 347a18cb30 Update input headers 2016-01-10 04:33:01 +01:00
twinaphex a3c34a7813 Cleanups 2015-11-28 02:31:19 +01:00
twinaphex 5465da0139 Rename rarch_sleep to retro_sleep 2015-09-22 18:55:14 +02:00
twinaphex 8ca8b43545 Take out retro_endianness.h include out of retro_miscellaneous.h 2015-09-14 03:34:05 +02:00
twinaphex 195aba50b2 Try to avoid some symbol conflicts 2015-08-29 14:20:39 +02:00
twinaphex 1b34dd4ce0 Some more CXX_BUILD fixes 2015-06-25 17:36:31 +02:00
twinaphex 35402884e5 (connect_wii.c) Cleanups 2015-06-13 01:59:26 +02:00
twinaphex 9d5f44a7c6 (connect_wii.c) Cleanups 2015-04-03 03:14:57 +02:00
twinaphex 05b8fbf1aa (connect_wii.c) hidpad_wii_get_axis - style nits 2015-04-03 03:07:44 +02:00
Twinaphex b9d244bd3b (connect_wii.c) Refactor hidpad_wii_axis 2015-04-03 03:06:37 +02:00
twinaphex e7c7b55004 (connect_wii.c) Dehardcode some magic numbers 2015-04-03 02:56:37 +02:00
twinaphex 7665226f4c (connect_wii.c) Get rid of two unused macros 2015-04-03 02:52:20 +02:00
twinaphex 5fd1ff826a (input) Namespace functions 2015-04-03 01:37:20 +02:00
Twinaphex 79431fcc7e (connect_wii.c) Change type of state variable 2015-04-02 22:46:11 +02:00
Twinaphex 682ec250eb (connect_wii.c) Fix 2015-04-02 20:48:38 +02:00
twinaphex e0a5a77034 (connect_wii.c) Cleanups 2015-04-02 20:27:47 +02:00
twinaphex b2a2af2355 (connect_wii.c) Buildfix 2015-04-02 19:55:45 +02:00
twinaphex 469b939dfc (connect_wii.c) Don't rely on htonl/htons for endian byte swapping 2015-04-02 19:52:47 +02:00
twinaphex 8bd0253c27 (connect_wii.c) Cleanups 2015-04-02 18:52:58 +02:00
twinaphex 6433cdf2e7 (input/connect) Cleanups 2015-04-02 18:48:44 +02:00
twinaphex f8823836de (connect_wii.c) Get rid of 'byte' typedef 2015-04-02 18:12:21 +02:00
twinaphex b9e6b014e3 Start preparing joypad_connection code for cross-platform purposes 2015-04-02 17:49:32 +02:00
twinaphex 738d70d2f8 Add get_buttons callback 2015-02-15 01:57:29 +01:00
Twinaphex da24b62de9 (Apple) Build fixes 2015-01-19 05:05:41 +01:00
twinaphex 824f00be15 (input/connect) Cleanups 2015-01-19 05:01:31 +01:00
twinaphex 453321c50b Start updating headers 2015-01-07 17:46:50 +01:00
twinaphex f08f78e86a (joypad_connection) start calling 'connect' function 'init'
and 'disconnect' 'deinit'
2014-10-22 07:59:52 +02:00
twinaphex 7c842f9342 More stdio.h header include removals 2014-10-16 07:29:42 +02:00
Lioncash 316870201f Fix possible memory leaks in hidpad_ps3_connect, hidpad_ps4_connect, and hidpad_wii_connect 2014-10-13 17:39:14 -04:00
twinaphex d4a14c4cb9 Move joypad_connection code to input/connect 2014-10-04 23:02:48 +02:00