75 Commits

Author SHA1 Message Date
twinaphex
a82bb0ec94 Create special type input_bits_t 2018-04-08 20:21:12 +02:00
gblues
0ae7ffe0d3 Clean up dumb compile warnings, fix crash bug
== DETAILS

- the free() method of the hid_driver_t interface needs its
  parameter defined as const in order for the compiler to stop
  complaining about losing const-ness.
- if a joypad list is created with <MAX_USERS slots in it, the
  destroy() function will crash because it assumes there are MAX_USERS
  entries.

  To do this, the allocate function creates n+1 slots, and gives the
  last slot a canary value that the destroy() method can then watch for
  when iterating through the list.
2017-12-30 04:43:27 +01:00
gblues
982d6893b0 Set the send_control pointer on the drivers
== DETAIL

One minor detail missed in the last commit: actually putting the
send_control function into the driver declaration. Woops.

Not doing the Wii U because it will be using the other methods.
2017-12-30 04:41:07 +01:00
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
gblues
6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
twinaphex
f0c143766e Change to 256bit macros 2017-12-05 12:07:35 +01:00
twinaphex
e94300a581 Get rid of a lot of RARCH_INPUT_STATE_BIT_ macros - replace them
with BIT128_ equivalents instead
2017-12-05 09:22:56 +01:00
David Walters
a9451822b5 Improved handling of libusb hotplug capability (#5830)
* Improved handling of libusb hotplug capability

* Only deregister hotplug callback if registration happened.
2017-11-30 10:30:46 -05:00
David Walters
05578f0634 Show VID/PID values for unsupported devices. (#5825) 2017-11-29 15:56:18 -05:00
Brad Parker
42e81dcef4 add back missing code from c5bdc02 2017-11-29 10:35:52 -05:00
Brad Parker
aa1f95b3d5 undo changes in c5bdc02 that reverted my previous commits: 34491a6 28c6237 1f58d9c 61bd9d7 2017-11-29 10:22:30 -05:00
David Walters
c5bdc02d6f replace uint64_t with retro_bits_t* for pad buttons state 2017-11-28 10:04:34 +00:00
Brad Parker
61bd9d7d70 libusb: early return if we fail to get a config descriptor, otherwise the memory returned is invalid (and should not be freed either) 2017-11-27 11:30:29 -05:00
Brad Parker
1f58d9cd1f comment 2017-11-27 11:30:29 -05:00
Brad Parker
28c6237b47 FreeBSD: support libusb hid input driver 2017-11-27 11:30:29 -05:00
Brad Parker
34491a6025 libusb: prevent crash on driver deinit when there are no pad connections 2017-11-27 11:30:29 -05:00
Rob Loach
40f4d805a8 Fix non-existent include of input_config.h 2017-08-30 23:01:12 -04:00
twinaphex
612cb54cfe Merge input_hid_driver 2017-06-11 08:56:36 +02:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
ea3dd6a95b Set device name when autoconfig connect task fails for all
other input drivers too
2017-01-13 05:00:13 +01:00
twinaphex
103042de96 Rewrite task_autodetect.c 2016-12-31 07:43:34 +01:00
twinaphex
aafae944cb Don't memset autoconfig_params_t 2016-12-17 14:26:13 +01:00
twinaphex
e9f853ba93 Move (joykey == NO_BTN ) to input_joypad_driver 2016-12-11 08:44:55 +01:00
Brad Parker
23dd41a3cc missing ../ 2016-12-01 15:40:31 -05:00
twinaphex
d3c22cb0e4 Move input/input_autodetect.c to tasks/task_autodetect.c 2016-12-01 20:38:20 +01:00
twinaphex
76d0380e45 Rename input_autoconfigure_joypad to input_autoconfigure_connect 2016-12-01 18:57:44 +01:00
twinaphex
e689d55414 Rename autoconfig functions 2016-12-01 18:52:34 +01:00
twinaphex
7dcf9dfa75 (libusb) Silence warning 'value stored to 'adaptor' is never read 2016-09-22 21:49:59 +02:00
twinaphex
d8b3597455 menu_cbs_deferred_push.c - Fix 'array compared against 0' 2016-06-02 20:51:27 +02:00
twinaphex
a98616b45b Fix explicit NULL dereferenced/dereference before null check warnings 2016-05-26 17:47:21 +02:00
twinaphex
0f21ab247c header cleanup 2016-04-17 07:37:00 +02:00
twinaphex
ef4a1a3c0f (libretro-common) Rename fifo_buffer to fifo_queue 2016-03-20 14:06:21 +01:00
twinaphex
341e8f8f15 Cleanup 2016-02-05 14:35:16 +01:00
twinaphex
347a18cb30 Update input headers 2016-01-10 04:33:01 +01:00
twinaphex
697351ee67 (input) Use string_is_empty 2015-12-26 07:54:17 +01:00
twinaphex
2f29d9f18c Take out menu/menu_driver.h include from driver.h 2015-12-05 13:22:50 +01:00
twinaphex
a3c34a7813 Cleanups 2015-11-28 02:31:19 +01:00
twinaphex
074f14b132 Add verbosity.c/verbosity.h 2015-11-23 12:03:38 +01:00
Twinaphex
db35a28e50 Revert "Refactor slots to be a part of input_hid_driver.c now"
This reverts commit 646ded9d1c96f02f1746e4e96572bb1aec60255d.
2015-11-16 03:48:51 +01:00
twinaphex
646ded9d1c Refactor slots to be a part of input_hid_driver.c now 2015-11-16 03:39:40 +01:00
twinaphex
e654c5cb65 Header cleanups 2015-09-05 20:53:56 +02:00
twinaphex
24a94490ab Remove some header includes 2015-08-30 09:36:50 +02:00
twinaphex
01415528c6 (libusb) Update 2015-07-12 01:08:53 +02:00
twinaphex
1c406bc098 Add rarch_main_data_pending_scan_finished and other mechanisms
so that the call to menu_environment_cb gets made on main thread
2015-07-09 02:31:46 +02:00
twinaphex
12ca517cf7 (libusb) Cleanups 2015-07-09 01:51:44 +02:00
twinaphex
4109768a9a (libusb_hid.c) Use retro_log.h 2015-06-30 14:48:57 +02:00
twinaphex
80142af594 (libusb) Another API not C89-compliantl 2015-06-29 23:19:02 +02:00
twinaphex
46c99bd225 (libusb_hid.c) Buildfixes for CXX_BUILD 2015-06-26 13:16:47 +02:00
twinaphex
6988f1bb76 (libusb_hid.c) Define LIBUSB_CAP_HAS_HOTPLUG in case it's not there 2015-06-26 13:06:48 +02:00
twinaphex
0e2345227a Some CXX_BUILD fixes 2015-06-25 17:25:09 +02:00