297 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
gblues
c1496a8600 WIP - reorganizing input data
== DETAILS

Looking at the apple input driver gave me an idea--moving the
HID driver into the wiiu_input_t data instead of piggy-backing
it off the wiiu_joypad driver.

- Remove changes to wiiu_joypad
- Add equivalent to wiiu_input

This is probably broke as hell. Haven't tried to compile.
2017-12-30 04:40:43 +01:00
gblues
1beba28d02 Only call HIDSetup/HidTeardown once
== DETAILS
I did a minimalist edit of the HID thread that stripped out all
HID* syscalls, and this stopped the crashing. I then re-added just
the HIDSetup() and HIDTeardown() calls, and the crash came back.

This smells like an OS bug. To work around it, I've put the
HIDSetup() and HIDTeardown() calls into the app init/shutdown
section, so they only get called once in the application lifetime
and not each time the input driver is initialized.
2017-12-30 04:40:15 +01:00
Nathan Strong
e80d99dbae Delete controller_patcher; start on proper HID driver
== DETAILS

We discovered that the controller_patcher code was causing
the WiiU to intermittently crash when switching ROMs.

Changes:

- Completely extricates the controller_patcher code
- Create a skeleton wiiu_hid driver
- Wire up the build system to build/link it successfully

== TESTING

Has not been tested. Probably doesn't crash, since the
skeleton driver is just a copy of the null driver.
2017-12-30 04:38:57 +01:00
twinaphex
a6afddae04 current_input_data and current_input are no longer globals 2017-12-29 23:03:25 +01:00
misson20000
6d2a7b1f26 Nintendo Switch (libtransistor) port 2017-12-29 00:10:01 +01:00
twinaphex
69f85556a3 Get rid of meta_key_pressed 2017-12-18 05:59:57 +01:00
David Walters
0d189ae067 Don't limit available input devices to user count. 2017-12-05 21:21:29 +00:00
David Walters
c5bdc02d6f replace uint64_t with retro_bits_t* for pad buttons state 2017-11-28 10:04:34 +00:00
David Walters
c733f96a16 listen for mouse buttons/wheel when binding input 2017-11-26 15:42:47 +00:00
David Walters
1d70fef70c load/save mbutton assignments to retroarch config 2017-11-26 11:54:10 +00:00
David Walters
b190ac1943 Add 'mbutton' field to retro_keybind struct 2017-11-26 11:49:37 +00:00
David Walters
5be7921445 reimplement using retro_bits_t; pass by ref; raise bind limit to 256 2017-11-24 11:19:17 +00:00
David Walters
5294d43bf1 use C89 compatible comment style 2017-11-24 09:28:26 +00:00
David Walters
b0e383d5f0 Extend input bind limit to 128 2017-11-23 23:04:09 +00:00
David Walters
795057bacf Support for RETRO_DEVICE_INDEX_ANALOG_BUTTON 2017-11-17 22:46:23 +00:00
twinaphex
fcf6228dce Turn into char pointer array 2017-09-27 20:11:44 +02:00
twinaphex
b79f95668b Turn it into char pointer array 2017-09-27 20:08:37 +02:00
radius
fe8a0657b4 add input_mapper scafolding 2017-09-11 00:20:20 -05:00
twinaphex
d1a41a742f Reduce joykey_label/joyaxis_label char arrays 2017-09-08 06:01:21 +02:00
twinaphex
44a1a429c8 Change type of pid/vid to uint16_t 2017-08-31 12:14:27 +02:00
twinaphex
e16371b8a5 Merge input_config.c and input_driver.c 2017-08-31 02:25:04 +02:00
twinaphex
d8f27886ad Reduce size of input driver ids to uint16_t - should be enough 2017-08-30 14:02:18 +02:00
twinaphex
5e0e970c92 Cleanups 2017-06-11 19:48:40 +02:00
twinaphex
0751cb238d Add HAVE_HID ifdefs 2017-06-11 18:12:38 +02:00
twinaphex
060753258a Combine input_driver.c and input_keyboard.c 2017-06-11 17:51:12 +02:00
twinaphex
612cb54cfe Merge input_hid_driver 2017-06-11 08:56:36 +02:00
twinaphex
5d78c2209f Remove obsolete header 2017-06-06 08:30:01 +02:00
twinaphex
efdfb29d50 Turn input_joypad_is_pressed into static inline function 2017-06-06 08:12:53 +02:00
twinaphex
f307135d1d Split up wayland input driver into separate driver; and
improve mouse support for menu
2017-06-06 07:34:33 +02:00
twinaphex
6b3dbff75f Merge input_driver.c and input_joypad_driver.c 2017-06-06 05:56:02 +02:00
twinaphex
d7de9facc3 Simplify input_keys_pressed 2017-05-21 22:31:15 +02:00
twinaphex
77d83b4782 Cleanups 2017-05-21 21:55:20 +02:00
twinaphex
f8f25602e8 Get rid of old_input variable 2017-05-21 21:24:01 +02:00
twinaphex
a35e452ec3 Use trigger_input only for menu 2017-05-21 21:19:07 +02:00
twinaphex
68ecade37d Revert "Call button combo toggle for quick menu toggle from runloop_check_state"
This reverts commit 4d4b00f8779b681bb6eccfe446ecfb57b76812b6.
2017-05-21 20:57:36 +02:00
twinaphex
4d4b00f877 Call button combo toggle for quick menu toggle from runloop_check_state 2017-05-21 20:53:33 +02:00
Zoran Vuckovic
1bc945e3dc Add Windows raw input driver 2017-05-18 18:48:41 +02:00
twinaphex
2906bec7a8 Create input_driver_get_uint 2017-05-11 07:36:21 +02:00
twinaphex
ef8094836f Create input_driver_get_float 2017-05-10 07:07:06 +02:00
twinaphex
d9c5013d42 Pass settings struct around 2017-05-06 06:46:48 +02:00
twinaphex
bdaf00032e Add comments 2017-01-26 02:49:42 +01:00
twinaphex
be617c530b Expand input_keys_pressed 2017-01-25 04:31:55 +01:00
Brad Parker
57949227df DOS: initial input/joypad driver 2017-01-24 00:55:58 -05:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
8bd12368ef Pass joypad_driver name to input_driver_init function and make
sure we don't need to access the settings struct from the
input driver
2017-01-10 17:59:48 +01:00
twinaphex
d48141041d Pass joypad_info to input_state function callback - less
settings pointer grabbing
2017-01-10 17:40:21 +01:00
Hans-Kristian Arntzen
b2059dcb79 Implement basic Wayland keyboard and mouse. 2016-12-17 20:28:08 +01:00
twinaphex
e32d93d886 Remove functions 2016-12-07 08:14:04 +01:00
twinaphex
04a3c3f15e Remove unused function input_driver_unset_flushing_input 2016-12-07 08:11:59 +01:00