3149 Commits

Author SHA1 Message Date
gblues
8a4c5086fb Finish HID implementation for WiiU GCA adapter
== DETAILS

(I think)

- Uncomment the call in the read loop to start feeding packets to the
  driver
- implement the GCA packet driver
- implement the pad interface
- fix indentations in GCA driver

== TESTING
Compiles. Haven't tested yet.
2018-03-29 23:37:11 -07:00
gblues
180d6a28bf Fix up HID device driver initialization
== DETAILS
Turns out the cause of the crash was a bad cast, resulting in a
function call to nowhere.

Also, I think the DSI exception handler only works on the primary core;
when this was happening in the background thread, I got a black
screen error instead.

Next up: finishing up the GCA driver.
2018-03-29 23:37:11 -07:00
gblues
dc6f4c23ed Rename hid_driver_instance members for clarity 2018-03-29 23:37:11 -07:00
gblues
4b9d5c0ab7 Start implementing "detach" code path
== DETAILS
We're at a point where we need to do more than just
clean up a local data structure, so I've started
implementing the "detach" part of the code so that
everything gets cleaned up properly.

Also, added error handling inside the polling
thread.

== TESTING

Have not tested yet.
2018-03-29 23:37:11 -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
gblues
41ce8853d7 Add name for hid device; implement detect
== DETAILS

- detect() methods in device_* files now check for VID/PID
  instead of just returning false
- add "name" field on hid device, mainly for logging purposes

== TESTING
Verified my WiiU GC adapter detected properly
2018-03-29 23:37:11 -07:00
gblues
ae19eed00f implement hid device search 2018-03-29 23:37:11 -07:00
twinaphex
1103f4f630 (input_overlay.c) Cleanups 2018-03-29 19:43:04 +02:00
Ash
aeea0e6ca8
[WiiU] Fix OOB read/write in keyboard driver
This code used a keyboardState size of 256 and indexed it with a
retro_key, which can be any value (RETROK_RALT is 307). This fixes
that by using RETROK_LAST as the array size.

Should fix #6322.
2018-03-17 13:00:47 +11:00
twinaphex
6653818dc8 Revert "(input_overlay.c) Cleanups"
This reverts commit 56389466aaff5e2e196031e3f6b4d468bd35607c.
2018-03-15 06:39:06 +01:00
Ryunam
c5775fd73c Implement Slow motion toggle 2018-03-10 18:42:45 +01:00
Twinaphex
4dc9c408d4
Merge pull request #6329 from markand/fix-vid-pid
Use EVIOCGID's ioctl to get vendor/product id, #6325
2018-02-26 18:39:33 +01:00
twinaphex
fae9223641 Remove hashes from task_overlay 2018-02-25 13:03:54 +01:00
David Demelier
e99049a8ff Use EVIOCGID's ioctl to get vendor/product id, #6325
The current code get the USB vendor/product controller, in case of
bluetooth connection this means that you get the bluetooth dongle ids
instead of gamepads. This is not fine as we match gamepads using their
product and vendor ids.

Credits go to SDL which helped me to figure out this issue.

http://hg.libsdl.org/SDL/file/f7c6b974d5af/src/joystick/linux/SDL_sysjoystick.c#l208
2018-02-23 09:19:43 +01:00
twinaphex
5139241e87 Fix Python codepath 2018-02-19 09:11:33 +01:00
twinaphex
070c09faec Avoid more pointer grabbing for video driver ptr 2018-02-16 20:42:37 +01:00
twinaphex
2b02616512 Disable ENABLE_TOUCH_SCREEN_MOUSE for now until issues are resolved 2018-02-15 14:50:14 +01:00
twinaphex
56389466aa (input_overlay.c) Cleanups 2018-02-11 17:58:24 +01:00
Brad Parker
039da3bb83 C89 buildfix 2018-02-06 22:17:32 -05:00
Twinaphex
0c3a684e2c
Merge pull request #6192 from gblues/master
Fix memory management bugs
2018-01-28 08:48:21 +01:00
gblues
f2ea5dde11 Fix memory management bugs
== DETAILS

 * Fix double-free in hidpad shutdown code
 * Fix possible double-free in hidpad error handling code
 * Fix memory leak in adapter delete method
2018-01-27 22:54:59 -08:00
Olivier PARRA
8bff69eae8 1.[IOS9]Remove HID entry from menu as IOKIT is not available 2.[OSX]Add robustness and determinism to HID buttons detection code (add controller buttons in a sorted list) 2018-01-25 02:20:52 +01:00
twinaphex
80b17668b6 Add initial VS2013 solution 2018-01-24 01:29:45 +01:00
Twinaphex
4a6a97be60
Merge pull request #5429 from GregorR/netplay-input-upgrades-1
Netplay input upgrades 1
2018-01-23 05:01:45 +01:00
twinaphex
3fc2ddb8d2 (IOHIDManager) Add improvements - https://github.com/libretro/RetroArch/issues/4816#issuecomment-359145035 2018-01-22 06:48:56 +01:00
twinaphex
c5ffd06778 Revert "(xdk_joypad.c) Cleanups"
This reverts commit 49c399217d5b8dbd3db549506fa3d6c2a28b7293.
2018-01-21 01:48:28 +01:00
twinaphex
6c73cea470 Revert "Buildfix"
This reverts commit 832cf072477700b61d25708509acf28b6fba7347.
2018-01-21 01:48:21 +01:00
twinaphex
832cf07247 Buildfix 2018-01-21 01:44:18 +01:00
twinaphex
49c399217d (xdk_joypad.c) Cleanups 2018-01-21 01:43:19 +01:00
twinaphex
932904e07e (Xbox 360) Buildfixes 2018-01-20 23:42:10 +01:00
twinaphex
b7bbf368fe (XBox XDK) Input should work again completely 2018-01-20 23:38:32 +01:00
Twinaphex
f08031345e
Merge pull request #6144 from aliaspider/master
various / build fixes.
2018-01-20 21:54:37 +01:00
aliaspider
5db96f35fa (WIN32) various build fixes. 2018-01-20 20:05:32 +01:00
twinaphex
528e4d8cc4 xdk_joypad_axis - implement case 4/5 for Xbox 360 2018-01-20 19:57:14 +01:00
twinaphex
6311885824 (XDK1) Change D-pad to hat controls - make gamepad D-pad and analog
stick work properly
2018-01-20 19:48:29 +01:00
twinaphex
13da6bf4a2 With Xbox OG, some of the face buttons are analog buttons -
need to implement this in _button callback function
2018-01-20 19:34:01 +01:00
twinaphex
b4bb6e2ef4 Start making xdk_joypad code more similar to PC code 2018-01-20 19:05:39 +01:00
twinaphex
64e0861aee remove iteration variables 2018-01-20 18:57:19 +01:00
twinaphex
3ba978caa9 Make axis function more like PC version 2018-01-20 18:55:28 +01:00
twinaphex
e16d962c01 Start getting rid of analog_state 2018-01-20 18:54:21 +01:00
twinaphex
f25306ba22 memset g_xinput_states to 0 2018-01-20 18:50:24 +01:00
twinaphex
03a745e5b4 Remove xdk_joypad_get_buttons 2018-01-20 18:47:39 +01:00
twinaphex
0550b22a35 (XDK) Buildfix 2018-01-20 18:46:13 +01:00
twinaphex
f74e399bdf Start rewriting xdk_joypad.c 2018-01-20 18:44:35 +01:00
twinaphex
41575a63ac (XDK joypad) Cleanups 2018-01-20 17:59:59 +01:00
twinaphex
e6f637ea6b Set autoconfig binds for Xbox 2018-01-20 03:14:17 +01:00
twinaphex
d01b9c4a09 Cleanups 2018-01-19 21:25:35 +01:00
twinaphex
82f721145c (XDK) Refactor xdk_joypad.c 2018-01-19 21:24:28 +01:00
twinaphex
b4b5ed1630 Rely on xbox input subsystem to attach/detach gamepads 2018-01-19 07:02:47 +01:00
twinaphex
0731a79a4f Pass this to XInputOpen 2018-01-19 06:56:44 +01:00