Commit Graph

727 Commits

Author SHA1 Message Date
twinaphex 4c8e5e07c0 Fix some CXX_BUILD errors 2019-01-12 18:35:14 +01:00
twinaphex b9ff2e4de1 Fix some static code analysis warnings from MSVC 2017 2019-01-10 21:47:15 +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 Javier Trujillo Mata 9370fb604d Enable 2 controller for PS2 Driver (multiplayer is not implemented yet) 2019-01-08 00:28:14 +01:00
Francisco Javier Trujillo Mata f48ffb9aac Open RetroArch Menu Long Pressing Start button 2019-01-07 01:38:48 +01:00
krzys-h fce7ca80c1 (UWP) Fix multiple gamepads on xinput 2019-01-05 21:50:58 +01:00
Francisco José García García 4204bfc67f [ORBIS] Add Menu toggle combo and some cleaning 2019-01-02 12:13:17 +01:00
orbea 7ac080ea50 sdl: Flush the joypad events.
Bastien found a fix to the issue
"The lag after 10-15 minutes issue appears to be a bug in the sdl2 input
driver in RetroArch. RetroArch never clears the SDL event queue. After a
while it is so large it takes a significant time to traverse."

Fixes https://github.com/libretro/RetroArch/issues/7868

Solution thanks to Bastien.
2019-01-01 17:16:35 -08:00
Greg V a838582b11 udev: support on FreeBSD via libepoll-shim/libudev-devd 2019-01-01 03:16:33 +03:00
Francisco José García García ea2ed2fb07 [ORBIS] More input driver changes 2018-12-31 00:14:56 +01:00
twinaphex aecd532dac UWP needs this to return true for some reason 2018-12-30 20:03:14 +01:00
twinaphex 74f391de9b This fixes all-non Xinput/Xbox pads - they were all non-working
before
2018-12-30 19:55:37 +01:00
Francisco José García García 4ad083cb97 [ORBIS] Update input driver 2018-12-30 14:00:18 +01:00
Francisco José García García 9c5a934529 [ORBIS] Untested input driver 2018-12-30 01:29:34 +01:00
krzys-h b201d669b5 First iteration of UWP support
Enough to kind of run

Working drivers: xinput, d3d11
Still missing: input driver with keyboard support, audio driver
2018-12-28 22:09:22 +01:00
Francisco Javier Trujillo Mata 90ba2df972 Put proper license in the files for the PS2 development 2018-12-26 13:48:48 +01:00
rsn8887 44cd329125 [LIBNX] Fix switching from Split Joycon mode to Dual Joycon mode 2018-12-05 18:29:28 -06:00
rsn8887 f953962d08 [LIBNX] Fix Split Joycon mode for horizontal holding 2018-12-05 18:12:55 -06:00
Francisco Javier Trujillo Mata fc9cd8f639 JoyPad implemented 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 0880bd00b0 PS2 is compiling with null drivers 2018-11-09 22:40:50 +01:00
twinaphex c17135df3e Revert "Use sceCtrlIsMultiControllerSupported to detect"
This reverts commit ef10b7897d.
2018-10-23 02:42:06 +02:00
Twinaphex 50682c9a46
Merge pull request #7014 from mickski56/master
address #6920 Proper analog trigger support
2018-10-12 01:08:39 +02:00
M4xw be85ec4627 [LIBNX] Add Split Joycon support 2018-10-01 00:03:57 +02:00
M4xw 64edf5f879 [LIBNX] Fixups and bare minimum to function 2018-09-14 20:38:42 +02:00
twinaphex 517b1b9089 Add HAVE_LIBNX ifdefs to switch_input.c/switch_joypad.c, and
features_cpu.c
2018-09-12 19:54:51 +02:00
twinaphex d08f0f1234 CXX_BUILD cleanups 2018-07-28 23:18:44 +02:00
mickski56 aa0e0de1d9
address #6920 Proper analog trigger support 2018-07-24 22:48:50 +01:00
TheOfficialFloW ef10b7897d
Use sceCtrlIsMultiControllerSupported to detect 2018-07-24 10:12:15 +02:00
Twinaphex 11244d78b0
Merge pull request #6981 from casdevel/dinput
Add dinput rumble support
2018-07-13 12:20:28 +02:00
twinaphex fab08c9cfb Only load Xinput DLL once 2018-07-12 21:39:18 +02:00
Zoran Vuckovic 544802e1a8 Add dinput rumble support 2018-07-05 20:01:23 +02:00
misson20000 dd0ad28818 NSW: fix analog sticks 2018-05-24 00:18:38 -07:00
gblues 84e9c93c35 quotes for some, braces for others 2018-05-02 22:37:34 -07:00
gblues 27bfcf3c77 Replace angle includes with quote includes
=== DETAILS

Replaced includes for things that aren't standard library headers so
they use quotes instead of brackets.

Also fixed up a couple of headers that had include-order dependencies.
2018-05-02 21:31:00 -07:00
gblues 7448fd3157 More code re-organization
=== DETAILS
Since @aliaspider wants the `wiiu/` to be something of a mini-SDK, I've
reorganized the code I put in there:

- `wiiu/main.c` now only has the ELF/RPX entrypoints, and the code used
  by those entrypoints, with RA code removed (e.g. swapped retro_sleep()
  for usleep()). These entrypoints then call main() ...
- Moved `main()` and its support functions back into `frontend/drivers/platform_wiiu.c`
  I also renamed some of the support functions I wrote, and better
  organized them within the code.
- Moved `wiiu/input/` into the `input/` hierarchy:

  * The joypad drivers now live in `input/drivers_joypad/wiiu/`
  * The HID driver now lives in `input/drivers_hid/`
  * The Wii U specific headers now live in `input/include/wiiu`
  * I added `input/include` into the include search path to avoid
    using really ugly relative includes
2018-05-01 23:23:40 -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
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 2cf89feb86 Code clean-up
== DETAILS

Now that I have a working implementation, it's time to tidy up a bit:

- there was no need for the HID subsystem's object data to have a reference
  to the global hid state (since it's global), so removed it.
- refactored the users of that member to use the global state, defining
  reusable macros.
- reorganized the information in *.h files
- removing the hid state also made the constructor changes to the hid driver
  unneeded, so I reverted those changes.

== TESTING
Confirmed clean build. Haven't tested the build yet to make sure everything
still works, though.
2018-03-31 22:25:30 -07:00
gblues 5060c2aac4 More fixes, GC pad kinda sorta works
== DETAILS

- Added a new method to the joypad_connection_t interface for
  getting a single button
- wired everything into the hidpad driver
- for testing purposes, hacking the top-level joypad driver
  so that kpad isn't used
- add a new RARCH_LOG_BUFFER method to verbosity for logging the
  contents of a binary buffer (useful for writing/debugging pad drivers)
- fix a few bugs in the wiiu GC pad driver

The button mapping isn't quite right, and I'm not sure what's
going wrong.
2018-03-29 23:37:11 -07: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 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
twinaphex 80b17668b6 Add initial VS2013 solution 2018-01-24 01:29:45 +01:00
twinaphex c5ffd06778 Revert "(xdk_joypad.c) Cleanups"
This reverts commit 49c399217d.
2018-01-21 01:48:28 +01:00
twinaphex 6c73cea470 Revert "Buildfix"
This reverts commit 832cf07247.
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 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
twinaphex f71bbeae9f (XDK) Try to autodetect all pads at startup 2018-01-19 06:49:52 +01:00
twinaphex 61ff51be2f Start using string_is_equal predominantly 2018-01-16 22:53:38 +01:00
Toad King 4fd750b48a add builtin autoconf script for emscripten gamepads with "standard" mapping 2018-01-14 04:24:37 -06:00
Toad King b3900217da clamp axis values to -1.0 - 1.0, at least firefox can report values outside that range 2018-01-14 03:43:23 -06:00
Toad King 1f8a85615c don't always clear poll state 2018-01-14 02:34:38 -06:00
Toad King de3581de73 fix analog sticks 2018-01-14 01:35:28 -06:00
Toad King 15c3f56b37 fix phantom button presses 2018-01-14 01:00:46 -06:00
Toad King 21d928ba0e add joypad driver for emscripten 2018-01-14 00:15:30 -06:00
gblues 5894d0ef86 Remove all HID code from WiiU build via ifdef
== DETAILS
We're trying to track down the source of crashes when switching cores.
To rule out the HID code, this commit does the following:

- Wraps the library imports in an ifdef
- Wraps the object files in conditionals in Makefile.wiiu
- In wiiu_joypad, calls into the hidpad driver are wrapped in ifdef

== TESTING
This didn't solve the "System memory error" crash I've been experiencing.
But, maybe it will impact the other flavors of crashes others are seeing.
2018-01-07 20:26:24 -08:00
vgmoose 890de0e79b allow joycons to work while attached 2018-01-07 12:10:28 +01:00
twinaphex edb8ecdbf8 (xdk_joypad.c) Add C codepath for XGetDeviceChanges 2018-01-03 14:13:29 +01:00
twinaphex 2884ad2d73 (360) Some buildfixes 2017-12-31 06:09:39 +01:00
misson20000 7cc614263a (NSW) add default button bindings and fix right joystick 2017-12-31 03:04:11 +01:00
Twinaphex 0389bc64fe
Merge pull request #5997 from libretro/new_hid
New HID system (courtesy of gblues)
2017-12-30 15:30:03 +01:00
twinaphex 20bb653f1e (Xbox 360) Buildfixes 2017-12-30 12:36:00 +01:00
gblues 52c754cfa8 Split wiiu_gamepad into three sub-drivers
== DETAILS
Well, after a lot of code analysis, this seems like the
best way to handle things on the Wii U without also completely
re-architecting the I/O handling in RetroArch.

How it works:

- the top-level wiiu_joypad driver is now nothing more than a
  delegator.
- the wiiu-specific drivers live in `wiiu/input/`
- wpad_driver.c handles the WiiU gamepad
- kpad_driver.c handles the wiimotes
- hidpad_driver.c will handle HID devices like the GC adapter, DS3/DS4, etc.

  (I say "will" because this isn't implemented yet)

== TESTING
Haven't actually tried the build to see if it works, but it does
compile.
2017-12-30 04:43:18 +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 5c876647ed (NSW) Small cleanups 2017-12-29 00:45:00 +01:00
misson20000 6d2a7b1f26 Nintendo Switch (libtransistor) port 2017-12-29 00:10:01 +01:00
Brad Parker 6d484b7724 xinput: check for valid function pointers before calling them 2017-12-23 23:02:29 -05:00
gblues 0f7de204f7 Last batch of whitespace cleanup (post-rebase)
-- looks like a few files committed with DOS line endings
2017-12-12 00:24:46 -08: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 c950613098 C comments 2017-12-11 11:28:48 +01:00
Peter Y. Hammond b14598657c Fixed a bug where the joypad devices were not always being assigned in the same order as they were numbered under /dev/input/. This showed up mainly when using an external USB Bluetooth dongle. In that case, controllers would be assigned often in reverse order. 2017-12-10 22:22:01 -07:00
twinaphex de9b0127f8 (MSVC) Buildfix 2017-12-06 04:33:54 +01:00
Andrés 0c9fce98a2 fix vid/pid enumeration on xinput controllers when the xinput controllers are interleaved with dinput (#5872) 2017-12-05 22:07:48 -05:00
Brad Parker f5ea4a0c65 dinput: add missing function parameter 2017-12-05 17:19:17 -05:00
Brad Parker bc4bbe79aa don't define UNICODE at all, we don't need it and it causes dinput problems (names are wchar_t) 2017-12-05 14:26:59 -05:00
twinaphex 2bdf4a5bb4 update 2017-12-05 20:08:18 +01:00
twinaphex 408878a7e1 Start making it possible for xinput_joypad to be used without
DirectInput
2017-12-05 20:04:12 +01:00
Brad Parker 35ab48ee61 xinput: copy VID/PID from dinput so autoconfig does not rely solely on HID name 2017-12-05 12:47:52 -05:00
twinaphex f0c143766e Change to 256bit macros 2017-12-05 12:07:35 +01:00
twinaphex 6c09661a64 Move defines to retro_miscellaneous.h 2017-12-05 10:42:37 +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
Ash bf3e256a43
[WiiU] Input: Make controller_patcher a compile-time option
As discussed in libretro#5357; controller_patcher is now optional. It's
off by default; though this could be changed with a simple makefile
tweak (ENABLE_CONTROLLER_PATCHER ?= 1, perhaps?)

To re-enable controller_patcher; append ENABLE_CONTROLLER_PATCHER=1 to
your usual make command.

controller_patcher was the only user of c++ constructors in the Wii U
port, so you'll need 26a006c in your tree otherwise you will have a
blackscreen on startup.
2017-12-01 18:29:21 +11:00
David Walters c5bdc02d6f replace uint64_t with retro_bits_t* for pad buttons state 2017-11-28 10:04:34 +00:00
Ash efad07e89f
[WiiU] Add proper DRC touch scaling for non-720p resolutions 2017-11-19 17:18:03 +11:00
Twinaphex b8df76271c
Merge pull request #5654 from QuarkTheAwesome/wiiu-warnings
[WiiU] Various warning fixes
2017-11-05 16:14:18 +01:00
Ash 6090aa8f8a
[WiiU] Account for 12px clamp on physical screen
Seriously, I think it's good now.
2017-11-04 20:58:25 +11:00
Ash e39c820cee
[WiiU] Change up wiiu_joypad_name semantics
Prevents warnings from GCC around the possibility of a negative index
going into hidName.
2017-11-04 20:37:30 +11:00
Ash fc79fec964
[WiiU] DRC Touch - scale to game image viewport 2017-11-04 16:14:28 +11:00
Ash a3e4a7612f
[WiiU] Fix DRC touch - proper scaling; press detection
Oops! Didn't do this quite right the first time round.
This commit fixes RETRO_DEVICE_ID_POINTER_PRESSED, which would always
return 0 due to to an implicit case to int16_t. Basically, we'd do
(val & 0x00080000) & 0xFFFF; which would return 0 every time. Fixed that
by wrapping it in a ternary. Yes, I know we could use a rotation, but
for a boolean value it really doesn't matter.
I also rewrote scaleTP to deal entirely in integers. While the
floating-point math was theoretically faster on PowerPC; it gets awkward
to cast -0x7FFF to a float.
Speaking of, the driver now actually conforms to the libretro API. Not
sure how I managed to not see the spec; but hey, now its fixed.
RETRO_DEVICE_POINTER_ID_X/Y will now return values between -0x7FFF and
0x7FFF like they're supposed to.

Big thanks to @r-type for hounding me to fix this.
Partially addresses #5294; we still need mouse emulation.
2017-11-04 15:01:58 +11:00
Glenn ec806f65f9 fixed MFI controller being set to P2 2017-10-29 18:20:39 +11:00
Francisco José García García 03524278c6 Trying to fix L2/R2/L3/R3
Related to #5431
2017-10-25 21:05:15 +02:00
Maschell 05ef63fd08 [WII U] Fix for Issue #5556
This hopefully fixes the issues when you try to use 2 Controllers with
the same vid/pid at the same time.

Tested with 2 DS4 controller via the Hid to VPAD Network Client.
Adapters with multiple ports (like the official GC-Adapter) are still
working
2017-10-17 21:38:42 +02:00
Brad Parker 38c30667c5 fix include paths 2017-10-14 23:08:43 -04:00
twinaphex d10de20bff Start compiling Griffin as C for 360 - C89 fixes 2017-10-03 04:11:41 +02:00
twinaphex e16371b8a5 Merge input_config.c and input_driver.c 2017-08-31 02:25:04 +02:00
Ash 6b5aef09a1
[WiiU] DRC touch support as pointer device
Allow using the Gamepad's touch screen as a RETRO_DEVICE_POINTER.
Methodology could use some work, had to add an extra axis to
joypad in order to get the data transferred into the input driver.
Feel free to change this.
Needs to emulate RETRO_DEVICE_LIGHTGUN to really be useful.
Potential for Wiimote IR in future.

Partially addresses libretro/RetroArch#5294
2017-08-19 17:40:56 +10:00
twinaphex ae2435cf16 Silence some more C89_BUILD warnings 2017-08-12 18:15:26 +02:00
twinaphex 805c2ad529 Buildfixes 2017-08-10 21:22:30 +02:00
twinaphex 2e7b4242f7 Cleanup 2017-08-07 01:48:21 +02:00
twinaphex 60296c0b7d Improve logs some more 2017-07-01 04:37:32 +02:00
radius 0a7968761f improve logging 2017-06-30 20:05:30 -05:00
twinaphex 36f700927e Silence some more ioctl coverity warnings 2017-06-28 07:00:28 +02:00
twinaphex a41b8bc199 Direct usage of epoll 2017-06-11 20:51:21 +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 84f5fa1f26 (epoll_common.c) Cleanups; don't use verbosity logging inside 2017-06-10 12:07:01 +02:00
twinaphex c70526b7af Fix hotplug regressions with udev 2017-06-10 11:58:22 +02:00
twinaphex 8980f8c1ea Get rid of useless wrapper function epoll_waiting 2017-06-08 21:52:50 +02:00
twinaphex eb08a86647 Get rid of udev_common.c 2017-06-08 21:46:26 +02:00
twinaphex ab087faa2a Try to move access call to maybe prevent 'time of check time of use'
coverity error
2017-06-07 23:29:29 +02:00
twinaphex 5c84f9158e Try to prevent out-of-bounds write 2017-06-07 23:03:08 +02:00
twinaphex a371815efd Try to null-terminate string 2017-06-07 22:47:07 +02:00
twinaphex eb5bf9451d (psp_joypad.c) Cleanups 2017-06-07 22:34:37 +02:00
twinaphex 4a5593255f (android_joypad.c) Small cleanup 2017-06-07 21:10:06 +02:00
twinaphex dfcbd77a6b (ctr/wiiu) Minor stylistic nits 2017-06-07 21:04:13 +02:00
twinaphex afa07219cd (linuxraw_joypad.c) Cleanups 2017-06-07 20:58:46 +02:00
twinaphex f9061ca931 Simplify udev_joypad_button 2017-06-07 20:48:33 +02:00
twinaphex 9a471d0ef4 Simplify udev_joypad.c 2017-06-07 20:44:14 +02:00
Ethan Lee bf20021338 [SDL2] Fix joypad info for SDL_GameController devices 2017-06-06 16:16:44 -04:00
twinaphex 6b3dbff75f Merge input_driver.c and input_joypad_driver.c 2017-06-06 05:56:02 +02:00
Maschell 7a2c09e9ce [Wii U ] Proper order of the HID devices.
Added individual names for the HID devices.
2017-05-20 19:26:12 +02:00
Maschell 2ac91822c3 Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 13:14:13 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
twinaphex bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
Maschell 63bb97287f [Wii U] Removed forcing Gamepad reading success 2017-05-08 21:49:24 +02:00
Maschell 4393e17ea7 [Wii U] Using the HID Controller as a own controller. Currently the stick only work when it's bind manually. Mapping from controller to retroarch input port may change when you attach a new device. 2017-05-08 21:46:34 +02:00
Maschell e695d4e8ad [WiiU] Initial controller patcher support (HID via USB and network)
- Reading config from sd cards currently broken
- Not implemeted as a driver, currently all devices will be mapped to the WiiU Gamepad driver
2017-05-08 12:24:06 +02:00
twinaphex 7a152700fa Update 2017-04-28 14:31:23 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex 1bf7cbccbe input_device_names no longer part of settings struct 2017-04-27 21:35:46 +02:00
twinaphex 20ed6eb90a Start using input_config_get_device_name 2017-04-25 16:04:28 +02:00
twinaphex f9bc2d3783 Use memcmp instead of string_is_equal where possible for
better performance
2017-04-21 22:47:15 +02:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
David Erickson da8662bb4a Detect non-standard joystick buttons
The Xbox One S controller when connected via Bluetooth
is exposing its select button with the Linux KEY_BACK
code, which is outside of the normal input code
scan range for joysticks.  This patch adds additional
scanning to pick up such extra buttons, and adds
them as buttons after the normal ranges to preserve
compatibility with existing key mappings.
2017-02-24 01:09:15 -08:00
Brad Parker 83619b25e6 DOS: add keyboard driver to support non-joypad keys 2017-02-05 13:55:21 -05:00
aliaspider ffbd1e838a (3DS) build fix. 2017-01-31 03:27:26 +01:00
aliaspider 0ba9faa8bd (CTR) build fix. 2017-01-24 10:43:35 +01:00
Brad Parker 2c97e330de remove unused code 2017-01-24 01:04:00 -05:00
Brad Parker 57949227df DOS: initial input/joypad driver 2017-01-24 00:55:58 -05:00
aliaspider 021b510452 (WiiU) refactors/cleanups. 2017-01-23 16:14:05 +01:00
twinaphex 0d5b3b9273 Create menu_driver_is_alive 2017-01-23 00:37:52 +01:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex 0354ced675 Style nits 2017-01-17 19:02:49 +01:00
twinaphex 4743230b09 Some header includes shouldn't be system includes 2017-01-17 18:15:11 +01:00
twinaphex 7931436f5b Apply xerpi diff 2017-01-17 18:12:23 +01:00
aliaspider 14660a8c12 (WiiU) simplify input code, add button labels for autoconfigs. 2017-01-17 12:41:55 +01:00
aliaspider 8cb692622a (WiiU) add support for bluetooth controllers (Wiimote, nunchuk, classic
controller, wiiu pro controller).
2017-01-16 18:52:39 +01:00
twinaphex b996df6447 Put back input flushing - fixes input entry 2017-01-13 15:11:00 +01:00
twinaphex cab74cd4a2 Buildfix 2017-01-13 10:00:43 +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 455c3f35c9 Buildfix 2017-01-13 04:42:26 +01:00
twinaphex add7d26c3d Set device name for xinput/dinput even when autoconfig is
disabled
2017-01-13 04:40:44 +01:00
twinaphex 1eb17b6315 Remove settings header includes 2017-01-10 20:03:55 +01:00
Josh Palmer 437734e407 Rewrite QNX input & joypad drivers for proper BB10.3.1 support 2017-01-09 20:26:09 +00:00
twinaphex 4e3c2b3e66 (PSP/Vita) Buildfix 2017-01-02 02:39:15 +01:00
twinaphex 103042de96 Rewrite task_autodetect.c 2016-12-31 07:43:34 +01:00
twinaphex 32e1f96fa1 (PS3) Fix gamepad 2016-12-21 22:27:37 +01:00
radius ab56b5f33c differentiate xbox one controllers 2016-12-18 13:44:15 -05:00
twinaphex aafae944cb Don't memset autoconfig_params_t 2016-12-17 14:26:13 +01:00
twinaphex 2153f3f011 Check if autodetect is enabled at beginning of connect task 2016-12-16 15:18:04 +01:00
twinaphex 209305f944 Connect task now sets PID/VID too 2016-12-16 14:02:11 +01:00
twinaphex 1b0389713d (GX) Buildfix 2016-12-16 13:42:41 +01:00
twinaphex d9def056e7 The 'connect' task now sets the device name upon completion 2016-12-16 12:33:56 +01:00
twinaphex d2bd6677bd (udev_joypad.c) Cleanup 2016-12-11 08:48:25 +01:00
twinaphex e9f853ba93 Move (joykey == NO_BTN ) to input_joypad_driver 2016-12-11 08:44:55 +01:00
twinaphex 37559c6f5f Cleanups 2016-12-11 08:31:55 +01:00
twinaphex 423578d972 (Joypad drivers) Simplify hat code 2016-12-11 07:28:33 +01:00
twinaphex 7327e98c8a Add HAVE_XINPUT ifdef 2016-12-07 07:08:27 +01:00
Brad Parker f725b48555 starting to revert unicode changes 2016-12-03 00:15:29 -05:00
Brad Parker d20acaa63d more unicode fixes 2016-12-02 23:00:27 -05:00
Brad Parker cc7bf6b4fa more unicode fixes 2016-12-02 21:11:55 -05:00
Brad Parker 3846ce1837 build fixes for MSVC, start moving back to TCHAR usage so we can switch unicode on and off 2016-12-02 12:54:39 -05:00
twinaphex 021559a877 Get rid of runloop.h dependencies inside input/ dir 2016-12-02 06:07:45 +01:00
twinaphex 5fdb5b4dcf Updates 2016-12-01 22:24:17 +01: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 debf5e0222 Rename g_udev and g_udev_mon 2016-12-01 17:39:36 +01:00
twinaphex c1e343cec8 Cleanup hid_joypad_name 2016-12-01 17:37:27 +01:00
twinaphex ebe1ac6967 (udev_joypad.c) Cleanups 2016-12-01 16:46:32 +01:00
twinaphex 793519eb61 (linuxraw_joypad.c) Cleanups 2016-12-01 16:44:47 +01:00
twinaphex b63b675274 (linuxraw_joypad.c) Cleanups 2016-12-01 16:42:21 +01:00
twinaphex d7f7d5f99a Rewrite epoll_common 2016-12-01 16:40:04 +01:00
twinaphex 63ae172a23 Add udev_common.c/.h 2016-12-01 15:02:42 +01:00
twinaphex 468644e213 Simplify udev_hotplug_available and prevent implicit memset 2016-12-01 03:59:02 +01:00
twinaphex eee077fe31 (udev) Simplify udev_joypad_handle_hotplug 2016-12-01 03:50:35 +01:00
twinaphex ce2fbbdbe2 (hid_joypad.c) Prevent null pointer dereferences 2016-11-30 05:12:28 +01:00
Twinaphex 7197be5a0d (OSX) Prevent crash 2016-11-30 05:07:08 +01:00
aliaspider e268630b84 (WiiU) skip bad vpad reads. 2016-11-10 13:03:40 +01:00
aliaspider 2abc9c7ef9 (WIIU) Home button can now trigger the main menu too. 2016-11-08 09:31:46 +01:00
FIX94 4a285fd4e1 (WiiU) fixed random pixels being displayed on game start/close and exit
(WiiU) fixed touchscreen sending invalid data which broke the menu toggle
2016-11-07 02:42:12 +01:00
Twinaphex 92a9f8aec7 Merge pull request #3887 from aliaspider/master
(WIIU) cleanup. adapt dynamic symbol loading to be able to use headers
2016-10-29 04:02:54 +02:00
aliaspider e055b7cbc1 (WIIU) cleanup. adapt dynamic symbol loading to be able to use headers
from WUT.
2016-10-29 02:56:40 +01:00
Twinaphex 453155ade3 Merge pull request #3877 from aliaspider/master
(WIIU) update.
2016-10-28 01:53:43 +02:00
aliaspider 185849d5ff (WIIU) add frontend driver, allocate mem2 2016-10-27 15:33:40 +01:00
twinaphex 6310f53587 Prevent some implicit memsets and reduce the size of some
char variables
2016-10-27 10:45:53 +02:00
twinaphex b1b2579fde Start reducing size of some char variables 2016-10-27 09:17:41 +02:00
aliaspider a4d745a471 preliminary port to the wiiu platform 2016-10-27 01:34:10 +01:00
twinaphex d6db2fe227 Change some strings 2016-10-22 04:52:46 +02:00
twinaphex a4a1e96210 Prevent more implicit memsets 2016-10-16 01:40:29 +02:00
Romain Graillot a64e497189 Renamed new settings to match change & cleaned code 2016-10-15 13:38:42 +02:00
Romain Graillot ade4e7857b Add possibility to switch touch surface on vita build 2016-10-15 13:28:35 +02:00
Francisco José García García 1ea5a80d02 (VITA) Add Backtouch enable option 2016-10-14 21:57:18 +02:00
Twinaphex db8eb903aa Merge pull request #3737 from frangarcj/master
(VITA) Disable Back Touch if in menu
2016-10-05 02:00:40 +02:00
Francisco José García García d32bd63d3d (VITA) Disable Back Touch if in menu 2016-10-05 01:34:26 +02:00
Sunguk Lee 8d09e0d421 (Vita) Improve vibration values
- Can vibrate both motors at same time
- DS3 & DS4 have difference motor speed range
- Clear vibration settings at disconnect controller
2016-10-03 18:03:20 +09:00
Francisco José García García 59d13c7131 (VITA) Fix actuator 2016-10-02 14:02:37 +02:00
Sunguk Lee bd9db4ac55 (Vita) Back touch screen use L2/R2/L3/R3 2016-10-01 04:53:35 +09:00
Sunguk Lee 90678dd3de (Vita) Autodetect connection of controllers on PSTV 2016-10-01 02:26:28 +09:00
Sunguk Lee a2d9ca3e47 (Vita) Support L2/R2 on PSTV 2016-09-30 23:53:13 +09:00
twinaphex d9d388a8fe linuxraw_joypad.c - cleanup 2016-09-25 15:11:48 +02:00
twinaphex 3f35e10014 Solve some warnings pointed out by scan-build 2016-09-25 05:55:55 +02:00
twinaphex f6a5e4d8eb Remove unused variable 2016-09-22 21:52:17 +02:00
Francisco José García García 16257d58ef Add up to 4 players 2016-09-17 14:22:45 +02:00
Francisco José García García 16de70a9d9 Update psp_joypad.c 2016-09-17 14:19:26 +02:00
twinaphex 7ddd03c558 Fix dinput/xinput 2016-09-11 15:08:07 +02:00
twinaphex c97aa5e7ea header include cleanups 2016-09-11 14:59:18 +02:00
twinaphex 075aea2289 Header include cleanups 2016-09-06 00:56:00 +02:00
twinaphex acd4dd527b Header include cleanups 2016-09-05 18:31:32 +02:00
twinaphex 1d06344567 (Vita) silence warning - RETRO_RUMBLE_DUMMY not handled in switch 2016-09-01 22:28:31 +02:00
twinaphex 6efdfdebd4 (PSP) Rumble code should be only for Vita build 2016-09-01 17:09:54 +02:00
twinaphex 9037473c7e Header include cleanups 2016-09-01 05:51:08 +02:00
Francisco José García García e3b5fdd815 (VITA) Add vibration for PSTV 2016-08-30 14:29:19 +02:00
twinaphex b5a636f22b (Vita) Prevent unused variable 2016-08-10 23:17:47 +02:00
twinaphex 30c847cc10 (PSP/Vita) Cleanup 2016-08-08 17:16:02 +02:00
Francisco José García García d0f96ed535 (VITA) Small fix 2016-08-08 17:12:52 +02:00
Francisco José García García 8dde35f221 (VITA) Final Fix for controls 2016-08-08 17:10:52 +02:00
Francisco José García García 351b3fe3f6 (VITA) Workaround for PSVita Controls vs PSTV 2016-08-08 12:56:30 +02:00
twinaphex ef6fb9b855 (Vita) Fix 2016-08-08 01:24:54 +02:00
twinaphex 8d47b30a67 Another cleanup 2016-08-08 01:23:48 +02:00
twinaphex 10e35d4d75 Small cleanup 2016-08-08 01:21:20 +02:00
twinaphex ecc625dbf1 (Vita) Implement multiplayer hack 2016-08-08 01:19:16 +02:00
twinaphex 80b82606d4 This is the same now 2016-08-07 20:35:40 +02:00
Francisco José García García ab9b2f5998 (VITA) Add PSTV two players mode 2016-08-07 20:15:43 +02:00
twinaphex 24817aeeac (Vita) Autoconfigure gamepads 2016-08-07 17:22:34 +02:00
twinaphex 33a1a70aa8 (Vita) Try this 2016-08-07 17:18:55 +02:00
twinaphex 3964dfc2de (PSP/Vita) Refactors 2016-08-07 14:55:47 +02:00
twinaphex 632cc0ef6c (Vita) Start setting up Vita for multiplayer 2016-08-07 14:52:41 +02:00
twinaphex 9e2925ea23 Start dehardcoding PSP joypad for only one gamepad - multiple
gamepads could maybe be used on PS TV
2016-08-02 17:04:00 +02:00
twinaphex 64d6e0facf (Vita) Implement proper gamepad menu toggle combo for Vita, and remove
old hack
2016-08-02 16:48:54 +02:00
Alcaro f5881c17ef Use the same format as in the autoconfigs 2016-06-30 22:06:51 +02:00
twinaphex bfa6f49ae6 Fix logically dead code warnings 2016-05-24 22:12:51 +02:00
twinaphex 974d3245d2 Fix logically dead code warnings 2016-05-23 22:04:00 +02:00
twinaphex 2691ab0c7d Rename command_event enums 2016-05-09 20:51:53 +02:00
twinaphex 523ebed112 Combine command_event.c and command.c 2016-05-09 20:30:47 +02:00
twinaphex a98ef36d36 Rename event_cmd_ctl to command_event 2016-05-09 20:20:50 +02:00
twinaphex 372d673a26 Rename event_command to event_cmd_ctl - add second parameter 2016-01-22 15:34:43 +01:00
twinaphex fbd2e9aa84 Use string_is_equal more 2016-01-21 02:48:00 +01:00
twinaphex 8caee50fcd (GX) Add way to handle power callback 2016-01-13 08:27:58 +01:00
twinaphex 347a18cb30 Update input headers 2016-01-10 04:33:01 +01:00
Ernesto Ramirez e53840f6c1 (GX) Fix input issue causing controllers to do not work at all. 2016-01-02 18:37:15 -06:00
twinaphex 33028b7603 remove these files 2016-01-02 01:36:11 +01:00
twinaphex e67491d6a9 remove HAVE_LIBSICKSAXIS 2016-01-02 01:35:34 +01:00
twinaphex 697351ee67 (input) Use string_is_empty 2015-12-26 07:54:17 +01:00
aliaspider 40ac911a05 build fix. 2015-12-24 21:17:44 +01:00
twinaphex b8bbdc6f4c Revert udev drivers 2015-12-17 03:02:48 +01:00
twinaphex 2d55dc3bda Complete namespace changes 2015-12-07 15:32:14 +01:00
twinaphex 39e9d5c5ba Start cutting down on the size of some char local variables - we
don't need PATH_MAX_LENGTH for everything
2015-12-06 13:28:20 +01:00
twinaphex 736f343d9f Create RARCH_MENU_CTL_IS_ALIVE 2015-12-05 13:49:34 +01:00
twinaphex 2f29d9f18c Take out menu/menu_driver.h include from driver.h 2015-12-05 13:22:50 +01:00
twinaphex 35da6073df (gx_joypad.c) Declare variables at top 2015-12-04 12:00:00 +01:00
twinaphex 0b9df5a069 (GX) Buildfix 2015-12-04 11:56:10 +01:00
twinaphex 50f3999e9b Backport/rewrites wmarquesr pt. 8 2015-12-04 11:11:05 +01:00
twinaphex 923433ead7 Move engine_handle_dpad code to android_input.c - copy
hat and analog state to intermediary on android_app during
poll time
2015-12-02 22:33:27 +01:00
twinaphex c3b2f84f39 Typo fix 2015-11-30 18:24:35 +01:00
twinaphex c03e1547b1 (linuxraw_joypad) Cleanups 2015-11-30 18:20:50 +01:00
twinaphex 7cb78cca58 Make g_epoll static 2015-11-30 18:14:07 +01:00
twinaphex 54655c37cd Create epoll_waiting 2015-11-30 18:08:00 +01:00
twinaphex ecbfc72e9b Create epoll_common 2015-11-30 18:05:10 +01:00
twinaphex 6d90c42bb5 We need to check for the instance where udev is only initialized
for the joypad part and not the general input driver
2015-11-30 16:56:32 +01:00
twinaphex 62260cf892 Turn g_udev static 2015-11-30 16:52:29 +01:00
twinaphex 28602d84af Make g_udev_mon static 2015-11-30 16:47:43 +01:00
twinaphex b76481b21e Create udev_mon_hotplug_available 2015-11-30 16:42:52 +01:00
twinaphex 2db1197942 Expand udev_common.c 2015-11-30 16:39:22 +01:00
twinaphex fd91cf130e Create udev_common.c/udev_common.h 2015-11-30 16:31:05 +01:00
twinaphex d15ad86705 Create hid_driver_get_data 2015-11-29 21:11:57 +01:00
twinaphex 5e1b2b3bfa Move driver->input_data to input_driver.c 2015-11-29 18:18:25 +01:00