191 Commits

Author SHA1 Message Date
twinaphex
890008491c Cleanups 2019-08-14 02:49:54 +02:00
twinaphex
f7aebf02c8 No longer need input_driver_input_state 2019-08-12 18:00:31 +02:00
twinaphex
7900faa419 Move menu_display_libretro to retroarch.c 2019-08-09 21:59:58 +02:00
twinaphex
3ff237e278 Cleanups 2019-08-09 16:26:58 +02:00
twinaphex
70e54b2763 Get rid of unnecessary functions 2019-08-02 18:25:21 +02:00
twinaphex
d28cadef01 Cleanups; turn more functions into static functions 2019-07-27 04:13:33 +02:00
twinaphex
65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
twinaphex
abcfcca1d2 Merge dynamic.c into retroarch.c 2019-07-10 09:54:25 +02:00
twinaphex
6ff25fea2b Move macros 2019-07-09 16:36:29 +02:00
twinaphex
9c73d3305d Insert input_joypad_pressed into drivers themselves 2019-06-23 18:20:48 +02:00
twinaphex
6bc1802914 Move run_ahead.c to retroarch.c - most of the runloop
should now be self-contained in one file. Allows us to
turn more functions static, remove more extraneous functions
that just consisted of a single line (mostly getters/setters), etc.
2019-06-20 09:30:44 +02:00
twinaphex
68cbd5048c Convert input_conv_analog_id_to_bind into macro 2019-06-19 05:16:24 +02:00
twinaphex
b9c33713b4 Merge input_driver.c with retroarch.c 2019-06-17 18:59:56 +02:00
twinaphex
b6fd875230 (input_driver.c) Simplifications 2019-04-21 15:48:56 +02:00
twinaphex
f6fec009d2 input_config_get_prefix becomes static function 2019-04-21 07:56:20 +02:00
twinaphex
af2805406d Move more functionality to input_driver.c ; make more functions static 2019-04-21 07:30:14 +02:00
twinaphex
270e95bc97 Turn a lot of input_config_parse functions static 2019-04-21 06:42:13 +02:00
Brad Parker
10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
twinaphex
ebae7ebc79 Input driver - Get rid of 'own driver' mechanism 2019-02-27 17:17:34 +01:00
Rob Loach
fa875692c3
Added menu toggle for 'Down+Select' 2019-01-28 11:43:57 -05:00
Twinaphex
cb596aec3a
Merge pull request #7820 from meepingsnesroms/master
Buttons are only 16 bits so only use uint16_t to prevent wasting 6 bytes
2019-01-13 04:55:34 +01:00
twinaphex
c98b2e2292 Buildfixes and more static code analysis warning fixes 2019-01-10 22:24:43 +01:00
Twinaphex
40997473ed
Merge branch 'master' into orbis2 2019-01-08 20:18:08 +01:00
orbea
bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Francisco José García García
9c5a934529 [ORBIS] Untested input driver 2018-12-30 01:29:34 +01:00
krzys-h
f6c8a0c5c2 Add UWP input driver
Keyboard, mouse and touch support: done
2018-12-28 22:09:30 +01:00
meepingsnesroms
a6f097c873 Buttons are only 16 bits so only use uint16_t to prevent wasting 6 bytes 2018-12-25 14:33:43 -08:00
Brad Parker
458bb9fbb5 add option to toggle menu by holding down start button 2018-12-19 14:53:17 -05:00
Francisco Javier Trujillo Mata
0880bd00b0 PS2 is compiling with null drivers 2018-11-09 22:40:50 +01:00
twinaphex
527228e571 Add L + R Menu toggle 2018-10-01 01:36:53 +02:00
twinaphex
4f2c108088 Add another toggle 2018-10-01 00:21:07 +02:00
Twinaphex
467aa30131 Cleanups 2018-06-21 07:26:05 +02:00
gblues
6eebbe4213 Build fix for PC
== DETAILS
Hooray for conditional compile directives.

Moving things around broke things in unexpected ways on non-WiiU builds.

Well, not *completely* unexpected. But still.

Changes:

- Move some typedefs around to avoid circular include dependencies
- Include the file where the HID driver definition got moved to

== TESTING
- verified build for Wii U still runs successfully
- did a local build without any errors (some weird warnings, but since they
  happen in code I didn't change, I'm assuming they're pre-existing?)
2018-04-15 00:04:49 -07:00
gblues
fb5b31faf3 Merge branch 'master' into gblues/hid 2018-04-14 14:18:03 -07:00
twinaphex
a82bb0ec94 Create special type input_bits_t 2018-04-08 20:21:12 +02:00
radius
d8d22a9c40 remap-redux part2: simplify this code a bit, still not working 2018-04-08 12:13:47 -05:00
gblues
9bc5a15c2d Enable pads to register in any order
== DETAILS

Whereas the last commit had a hack (that disabled the wiimote
driver in the process), this has.. well, a *different* hack that
allows pads to register in any order.

Note that due to the initialization routines, the gamepad will still
likely always get slot 0. Not sure if this can be overridden via config
or not.

== TESTING

Tested locally with GC adapter
2018-04-01 18:52:26 -07:00
gblues
0100d58ffb WIP: evolve driver implementation
== DETAILS

I've created the concept of a hid_driver_instance_t which is basically
a central place to store the hid pad driver, hid subsystem driver,
the pad list, and the instance data for the above in a central location.

The HID pad device drivers can use it to perform HID operations in a
generic manner.

This is more-or-less a pause point so I can catch up with upstream.

== TESTING

Haven't tested this yet. Compiles without warnings though!
2018-03-29 23:37:11 -07:00
twinaphex
5139241e87 Fix Python codepath 2018-02-19 09:11:33 +01:00
Toad King
21d928ba0e add joypad driver for emscripten 2018-01-14 00:15:30 -06:00
radius
3b334b60d6 add display name and config name to autoconf 2018-01-11 17:06:14 -05: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
661e5bf50b Implement new functions in hid_driver_t in WiiU driver
== DETAILS

This implements the WiiU-specific functions.

Since the wiiu_hid_t data structure contains the handle and interface
index, the method signatures can be simplified quite a bit. And since
(at least for now) we want these to be synchronous, we don't need to
expose the callback parameters.
2017-12-30 04:41:19 +01:00
gblues
678c4093c1 Start adapting the dual shock 3 driver to use the new driver format.
== DETAILS

The handshake stuff is derived from the old HID2VPAD, just in knowing
what data goes in what report.

- Added the HID_REPORT_ flags to syshid.h
- Renamed the generic "REPORT_TYPE" flags to be meaningful
- also fixed incorrect parameter list for set_protocol
== TESTING
The functions aren't implemented in wiiu_hid.c just yet,
so this is gonna crash if you try to run it.
2017-12-30 04:41:12 +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
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