Commit Graph

4404 Commits

Author SHA1 Message Date
twinaphex b0b1b0b782 (input_driver) Cleanup 2019-04-21 16:57:35 +02:00
twinaphex 8165b43170 (input_driver) Further simplifications 2019-04-21 16:30:12 +02:00
twinaphex 7ae0c6b2c1 (input_driver.c) Simplifications 2019-04-21 16:19:48 +02:00
twinaphex 8312d67a11 (input_driver.c) Further simplifications 2019-04-21 16:13:11 +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 a79eec8698 (input_driver.c) Cleanup 2019-04-21 07:46:52 +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 e0b59f13e2 no analog/sensitivity correction for analog buttons 2019-04-09 23:17:11 -04:00
Brad Parker 8639018976 use proper scaled radial deadzone calculation 2019-03-29 14:07:35 -04:00
Brad Parker e7891b8c1a add analog deadzone and sensitivity options, rename axis threshold 2019-03-25 23:22:19 -04:00
rsn8887 28ef222886 [VITA] Bluetooth mouse and keyboard support 2019-03-22 21:32:59 -05:00
rsn8887 5aa0d17659 [LIBNX] Fix USB keyboard support for controlling Vice core and Menu 2019-03-19 19:49:45 -05:00
rsn8887 208a68b528 [LIBNX] USB mouse support 2019-03-19 18:44:12 -05:00
rsn8887 f943688dff [LIBNX] USB keyboard support 2019-03-19 08:43:46 -05:00
Brad Parker 145013074e android buildfix 2019-03-14 21:26:39 -04:00
Brad Parker 15e489fd0a android: allow stylus/pen to move mouse without pressing down 2019-03-14 19:33:51 -04:00
Brad Parker 2f659e3e17 style nits 2019-03-14 19:33:02 -04:00
Twinaphex a8a7fba2ca
Merge pull request #8450 from Exvat/switch-rumble
Add rumble support for the switch
2019-03-13 12:28:05 +01:00
Twinaphex ae35484eea
Merge pull request #8456 from phcoder/kbd
Fix keyboard on android
2019-03-13 11:35:27 +01:00
Twinaphex 062a307b09
Merge pull request #8458 from phcoder/kbd102
input_keymaps: Add 102nd key
2019-03-13 11:34:16 +01:00
Brad Parker 44a06d69a6 android: add gamepad rumble support 2019-03-13 03:32:18 -04:00
Vladimir Serbinenko 2d56ceedfd input_keymaps: Add 102nd key 2019-03-12 23:52:50 +01:00
Vladimir Serbinenko fa1603127f Fix keyboard on Android
This bug interferes with my BK-0010 libretro port.
2019-03-12 23:45:52 +01:00
Brad Parker 954c54baee add device vibration option for cores that support rumble (with initial android implementation) 2019-03-12 13:07:16 -04:00
Exvat e7bf2a345c Add rumble support for the switch 2019-03-11 19:33:02 -07:00
Brad Parker f6dc7f4f02 android: add option to vibrate on touch 2019-03-10 21:36:52 -04:00
Twinaphex 0ff2832e83
Merge pull request #8438 from bparker06/netplay_toggle
add hotkey to toggle netplay hosting
2019-03-10 23:16:21 +01:00
Brad Parker ed5bd8023e Bliss-Box: add PSX Jogcon ID 2019-03-09 18:04:03 -05:00
Brad Parker 19ced73596 add hotkey to toggle netplay hosting 2019-03-09 17:48:03 -05:00
Brad Parker 4bb81bbb1b add F10 hotkey to send debug info, fix F3 hotkey for FPS toggle when inside menu 2019-03-09 16:03:17 -05:00
Brad Parker 10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
Twinaphex 5827e3b3af
Merge pull request #8382 from casdevel/i8326
Fix issue #8326
2019-02-28 23:26:53 +01:00
Zoran Vuckovic 2b2903cfff Fix issue #8326 2019-02-28 21:56:38 +01:00
Francisco Javier Trujillo Mata 48d46dcc44 [PS2] Analog support improvement 2019-02-27 19:43:59 +01:00
twinaphex ebae7ebc79 Input driver - Get rid of 'own driver' mechanism 2019-02-27 17:17:34 +01:00
Brad Parker 4f0d61a2ac update copyright 2019-02-22 19:13:36 -05:00
Francisco Javier Trujillo Mata c147866562 Implemented analog support for ps2 controllers 2019-02-20 19:17:14 +01:00
twinaphex 1daaf7385c 9PS2) Silence some warnings 2019-02-14 07:20:44 +01:00
twinaphex 386657a366 (menu widgets backport) Re-commit task queue changes 2019-02-08 08:00:32 +01:00
twinaphex 7022786f34 Revert parts of menu_widgets that were causing breakage, but leave
all the hooks in so we can add them back piece by piece again
2019-02-08 07:26:43 +01:00
radius b549f5181b try to fix #8121 by making the interval configurable 2019-02-07 22:34:18 -05:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
orbea 8ff0b14281 Fix C89_BUILD=1. 2019-02-06 09:16:26 -08:00
Yoshi Sugawara b06d75ec99 iOS: check if mfi controller already added to the internal list when connecting 2019-02-05 06:43:14 -10:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex 85708b7ef8 (Emscripten) Buildfixes 2019-02-03 17:15:18 +01:00
Twinaphex b321753944
Merge pull request #8144 from orbea/coreaudio
Fix warnings.
2019-02-01 19:13:49 +01:00
orbea 5d56080312 Use the posix poll.h instead of sys/poll.h. 2019-02-01 09:58:04 -08:00
orbea 5150d96074 Fix warnings. 2019-02-01 08:40:43 -08:00
Yoshi Sugawara 45185d6827 tvOS: remove the tvOS modules directory and use the iOS modules one since cores built using the iOS SDK work on tvOS
iOS: change default joypad driver to be mfi
iOS: move autodetect of mfi controller to mfi_joypad driver and set the default mapping for both iOS and tvOS
iOS: support unsupported buttons on mfi controller (select,L3,R3) by using hotkey combinations using the MENU button
tvos: use INPUT_TOGGLE_DOWN_Y_L_R as default for menu toggle gamepad combo
2019-02-01 05:33:29 -10:00
twinaphex 4b0b4e727b Cleanups 2019-01-31 15:24:21 +01:00
Twinaphex 422e421900
Merge pull request #8122 from yoshisuga/tvos2
Support for AppleTV (tvOS)
2019-01-31 15:19:10 +01:00
David Skywalker 347519a4d8 now X11 driver using keycodes instead keysyms, fixes international layouts problems. 2019-01-31 12:50:58 +01:00
Yoshi Sugawara e039472300 Merge remote-tracking branch 'upstream/master' into tvos2 2019-01-30 07:50:26 -10:00
Yoshi Sugawara a18512375b Support for tvOS
- add tvOS target
    - support code signing tvOS cores by adding an argument to the code signing cores script
    - use NSCachesDirectory for the documents directory
    - add some mfi controller handling logic to set non-game controllers to the last index to avoid interfering with operation
    - autodetect mfi controller for apple tv on startup - added autodetect to hid joypad
    - added a webserver to transfer files for tvOS
    - xcode: clean up project, remove unused folders
    - remove HAVE_MATERIALUI setting for tvos build, make it use XMB as default
    - added retroarch app icon courtesy of @MrJs
    - added auto-detect of mfi controller for apple tv
2019-01-29 10:13:46 -10:00
Rob Loach fa875692c3
Added menu toggle for 'Down+Select' 2019-01-28 11:43:57 -05:00
orbea 088860e499 Silence -Wformat-truncation warnings with DEBUG=1. 2019-01-24 10:59:53 -08:00
orbea cb602c190d Some C89_BUILD fixes. 2019-01-20 14:03:42 -08:00
Twinaphex 8cd85c4f51
Merge pull request #8034 from orbea/blank
Remove trailing blank lines.
2019-01-18 20:22:09 +01:00
krzys-h d98962189a Fix crash in xinput with verbose logging 2019-01-18 17:50:13 +01:00
orbea e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
orbea ff2e3bbbce Fix CXX_BUILD errors. 2019-01-13 11:51:33 -08:00
krzys-h e65f87a4ee Fix warning in uwp_input.c 2019-01-13 16:01:59 +01: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 4c8e5e07c0 Fix some CXX_BUILD errors 2019-01-12 18:35:14 +01:00
krzys-h e08f79e16b (UWP) Add keyboard mapping support in the uwp driver 2019-01-11 20:24:26 +01:00
twinaphex c98b2e2292 Buildfixes and more static code analysis warning fixes 2019-01-10 22:24:43 +01:00
twinaphex b9ff2e4de1 Fix some static code analysis warnings from MSVC 2017 2019-01-10 21:47:15 +01:00
krzys-h 0cff7eefa7 Initialize COM only once, globally 2019-01-10 16:48:02 +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
orbea 2b0838ac02 udev: Disable the mouse when the window has lost focus. (#7851)
Fixes https://github.com/libretro/RetroArch/issues/5520

v2: Move check to udev_handle_mouse().
v3: Change check to udev_get_mouse to fix issue reported by RobLoach.
2019-01-05 19:56:41 -05:00
krzys-h fce7ca80c1 (UWP) Fix multiple gamepads on xinput 2019-01-05 21:50:58 +01:00
orbea 849259d8f6 libretro-common: Sort config file conditionally.
This allows optionally sorting configure files and is needed to fix the
order of inputs in the autoconfig profiles which should not be sorted
alphabetically.

Fixes https://github.com/libretro/RetroArch/issues/7873
2019-01-03 15:28:32 -08:00
Francisco José García García 4204bfc67f [ORBIS] Add Menu toggle combo and some cleaning 2019-01-02 12:13:17 +01:00
Twinaphex 8f2fa4527c
Merge pull request #7849 from krzys-h/fix-7842
Fix the taskbar extension not initializing properly
2019-01-02 02:34:19 +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
krzys-h 9c75b9cb7f Add missing CoUninitialize calls, fix COM initialization problems
It turns out, some of the CoInitialize calls were failing because they
specified conflicting threading models
2019-01-01 17:30:43 +01:00
Greg V a838582b11 udev: support on FreeBSD via libepoll-shim/libudev-devd 2019-01-01 03:16:33 +03:00
Greg V f1e516bfaf keymaps: define 'x11' and 'linux' on any platform with Wayland
Such as FreeBSD
2019-01-01 03:03:29 +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 f6c8a0c5c2 Add UWP input driver
Keyboard, mouse and touch support: done
2018-12-28 22:09:30 +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
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
jdgleaver f68d756af3 (RGUI) Add user index label to control menu entries 2018-12-19 12:19:29 +00:00
jdgleaver 37acbd1ecf (3DS) Add joypad input labels 2018-12-18 16:30:05 +00:00
grant2258 3a0c27e753 use none zero as requested 2018-12-17 00:07:00 +00:00
Twinaphex fbb095cc06
Merge pull request #7730 from grant2258/mouse
fix udev mouse
2018-12-16 23:17:06 +01:00
grant2258 74de0ade03 resolve changes 2018-12-16 20:52:15 +00:00
grant2258 fd6856ce20 fix tpouchpad as well 2018-12-12 18:27:29 +00:00
grant2258 1d8dd133b7 tidy code up 2018-12-12 17:29:31 +00:00
grant2258 07b17059f1 fix udev mouse 2018-12-11 23:24:21 +00: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
Tatsuya79 d52b38eadc Add FPS counter hotkey. 2018-11-29 13:12:11 +01:00
Royerson ba435ce22a
add more model names for Xperia Play hack 2018-11-21 14:06:34 -07:00
radius 390c9a4dde xperia play hack 2018-11-18 17:34:54 -05:00
Tatsuya79 1e5192462e Analog stick to trigger remap functionality. 2018-11-10 17:27:14 +01:00
Francisco Javier Trujillo Mata fc9cd8f639 JoyPad implemented 2018-11-09 22:40:50 +01:00
Francisco Javier Trujillo Mata 8a0266cf8d PS2 Input looks to be ready 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
Stuart Carnie 5c1075127b
chore(metal): Separate legacy GL and Metal source
* Forks of Cocoa / Cocoa Touch to *_metal.* version
* Reverted original GL Cocoa / Cocoa Touch versions
* GL and Metal projects still build
2018-11-04 20:50:50 -07:00
M4xw efb71fc38e [LIBNX] Initialize HID anyway, might fix randomly having no controls 2018-10-27 19:27:24 +02:00
natinusala ce873906fc libnx: add multitouch to input driver 2018-10-24 17:23:22 +02: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
natinusala 57db04b389 switch_input: add pointer capabilities 2018-10-08 14:36:03 +02:00
rsn8887 827aa4936a [SWITCH] Use proper button labels 2018-10-03 18:50:33 -05:00
natinusala a5f122a84e libnx: improve touch scaling calc 2018-10-03 18:50:36 +02:00
natinusala fef4448ddb libnx: added touch support 2018-10-01 21:22:21 +02: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
M4xw be85ec4627 [LIBNX] Add Split Joycon support 2018-10-01 00:03:57 +02:00
twinaphex cb8148878c Add hotkeys for 'Toggle Recording' / 'Toggle Streaming' 2018-09-18 08:52:09 +02:00
radius 1c85058e72 [recording] rename bsv recording from movie to input replay 2018-09-15 21:47:23 -05:00
twinaphex bde5905eba Cleanup 2018-09-15 08:12:18 +02:00
Brad Parker 19329fe7c7 prevent out of bound array access for unmapped input binds 2018-09-15 01:21:10 -04: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
David Walters b592f254b9 Support for "OEM-102" key (usually '\' on Euro keyboards) 2018-09-02 18:24:51 +01:00
twinaphex dac4034954 Add PPC ifdefs; kIOHIDUniqueKey is not available on OSX 10.5 2018-08-30 15:56:02 +02:00
twinaphex ae0d9fd60d (Wayland) Buildfixes 2018-08-17 17:42:14 +02:00
Twinaphex 4d96fddf5e
Merge pull request #7061 from wiktorek140/sailfishos-touch
Sailfish OS  device build configuration connected with touch screen support required for device with this OS
2018-08-15 13:30:04 +02:00
twinaphex a6941fb4ed Initial work done on VS2017 solution for Android 2018-08-14 16:02:31 +02:00
Wiktor Strzębała 45799ee034 Bring up touch support for wayland subsystem for sailfish os devices
Touch code cleanup
Make variabled static as suggest bparker06
C89 compilation error fix (at least for loops)
More C89 fixes

Signed-off-by: Wiktor Strzębała <wiktorek140@tlen.pl>
2018-08-09 20:49:27 +02:00
greso 2c9fda1798 (macOS) Fix input issues
For my Xbox One Controller the min input for the hat is 1 and not 0. 0
points to the default state that is called after each button press.

On top of that the two axis for the trigger buttons were ignored. I
added some additional axis that are not present on my controller but
will probably help for other input devices.
2018-08-07 19:51:50 +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
Yoshi Sugawara 0a710564e1 issue 6751: read input of overlay for remapped keyboard keys 2018-07-22 11:32:52 -10:00
twinaphex ea09c29e04 Update implementations for other input drivers - not all input
drivers support this yet
2018-07-15 14:34:02 +02:00
twinaphex 9a1ac6d77b (rwebinput) Fix game focus toggle 2018-07-15 14:22:16 +02:00
twinaphex 13431c7cbf (udev) Fix game focus toggle for udev input driver 2018-07-15 14:20:26 +02:00
twinaphex 98190294db (winraw_input) Fix game focus toggle for winraw_input 2018-07-15 14:18:35 +02:00
twinaphex d50850762b Fix game focus toggling for DInput driver 2018-07-15 14:17:10 +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
radius 717e45dc52 Add mouse wheel support
enable hold to bind on android

cleanup
2018-06-29 21:12:47 -05:00
radius fef9b63bc0 Revert "Disable ENABLE_TOUCH_SCREEN_MOUSE for now until issues are resolved"
This reverts commit 2b02616512.
2018-06-29 21:12:47 -05:00
Twinaphex fd11b205da Silence bunch of warnings 2018-06-21 07:52:01 +02:00
Twinaphex 467aa30131 Cleanups 2018-06-21 07:26:05 +02:00
twinaphex 981b0eec91 Take this out 2018-06-19 06:28:38 +02:00
twinaphex 54a95eed83 These defines are not available on Android NDK APIs lower than 24 2018-06-18 01:56:22 +02:00
Gregor Richards af357c1afe Fix input when the joypad driver is NULL. 2018-06-01 23:22:04 -04:00
Twinaphex 743ab2351c
Merge pull request #6829 from fr500/overrides
only apply deadzone on analog to digital remapping, not analog to analog
2018-05-27 21:08:52 +02:00
radius c2c5265916 only apply deadzone on analog to digital remapping, not analog to analog 2018-05-27 11:58:52 -05:00
misson20000 dd0ad28818 NSW: fix analog sticks 2018-05-24 00:18:38 -07:00
Tatsuya79 dd3c9dd838
call input_remapping_set_defaults before loading a new remap 2018-05-16 13:30:57 +02:00
radius f81ea09f20 add saving, deletion options for per-dir remaps 2018-05-13 23:17:44 -05:00
rsn8887 6d5115a50d (Vita/PSP) Use proper button labels, fix inverted R-Stick Y axis 2018-05-09 22:55:33 -05:00
Twinaphex 8484ea4154
Merge pull request #6672 from gblues/master
Cleanup of Wii U launcher code
2018-05-06 15:24:00 +02:00
ceb33 bafd2af885 remove custom debug output 2018-05-05 13:33:15 +02:00
ceb33 67784c85cf update and merge to current Retroarch version 2018-05-05 12:59:04 +02:00
ceb33 9008684651 re-add callback to manage usb device plugged in while retroarch is running 2018-05-05 12:48:01 +02:00
Twinaphex de1bf58997 Buildfix 2018-05-03 20:39:03 +02:00
twinaphex 3796e52018 (OSX) Go back to old code - connect handler was broken 2018-05-03 20:31:28 +02:00
Twinaphex 909ffd4de4
Update input_driver.c 2018-05-03 15:28:26 +02:00
twinaphex 4fac2b339c Remove unused variable 2018-05-03 13:20:05 +02:00
twinaphex 28025802da Try to fix build failure 2018-05-03 13:11:38 +02:00
gblues 84e9c93c35 quotes for some, braces for others 2018-05-02 22:37:34 -07:00
radius 7bdbd005a8 fix #6700 2018-05-02 23:32:40 -05: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
twinaphex eac899f573 Try to fix build for targets that don't have HAvE_OVERLAY defined 2018-05-02 13:52:27 +02: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
radius 3304dad729 fix #6631 2018-05-01 18:09:04 -05:00
Brad Parker a1aefc901c Qt WIMP GUI 2018-04-30 14:33:05 -04:00
radius 7b82c8a9bc fix #6644 2018-04-28 11:56:21 -05:00
radius 5e1a698fa2 fix #6644 2018-04-28 11:42:48 -05:00
gblues f378e2bfcf Fix WaveBird support for the Wii U GCA
== DETAILS
Thanks to JacobM at GBAtemp for helping me test this.

The WaveBird wasn't being properly picked up due to the port status byte
being different from normal GC controllers. (Why? who knows. Probably
so games could detect the WB and show WB-specific OSDs).

This implementation should be more future-proof, to handle any other
unexpected status bytes.
2018-04-25 21:28:33 -07:00
Twinaphex 6ac4032735
Merge pull request #6580 from gblues/gblues/hid
Working HID driver for Wii U [TESTING NEEDED]
2018-04-25 23:10:39 +02:00
gblues f6b33b1d30 missing file 2018-04-24 06:37:02 -07:00
gblues 1d84c0eca1 Fix analog for DS3, plus some cleanups
== DETAILS

- DS3 analog wasn't working mainly because I forgot to actually declare the
  axes in input/input_autoconfig.c when declaring the pad. Whoops.
- I also moved the axis decoding logic to a more central place, because it
  clearly is not Wii U specific.
- Removed some dead commented-out code

== TESTING

Can use analog inputs on both GCA and DS3. Tested in Mario 3 on Nestopia core.

Haven't tested with any actual analog games, but I did confirm via logging
that the correct ranges are produced.
2018-04-23 23:22:27 -07:00
gblues f7135bcee6 Fix analog reading on GCA
== DETAILS
After a little trial and error, I got analog input working for the
Wii U GC adapter.

DS3 might work, but it's untested.
2018-04-22 23:47:07 -07:00
gblues ed742c48e0 Fix hotplugging
== DETAILS
So, it turns out that there *is* a autoconfig disconnect handler. Took digging
through tasks/task_autodetect.c to find it!

So, I added a call to the handler when the pad gets disconnected.

This seems to solve the problem of the pad not disappearing from the menu.

(At the very least, the user's pad index reverts to "none" which is still
an improvement)

== TESTING
Tested manually, made sure it didn't crash or leak slots.
2018-04-22 17:34:20 -07:00
gblues 0c92fab0b9 Fix GameCube button detection
This should fix the issue where R/L buttons didn't register when doing
input detection.

This also brings the GC pad in line with the rest of the gamepads in
input_autodetect_builtin.c.

Also fixed a really stupid bug that was part of why analog inputs aren't
being read. Analog still isn't working, mind, but it's a lot closer to
working now that it's actually getting down into the pad driver level!
2018-04-20 00:00:33 -07:00
gblues 53738e4a0d Allow Wii U GCA to work without 2nd cable attached
=== DETAILS

So, the GCA has 2 USB connections; one is the data connection, and the
second is used to drive rumble.

Due to a driver bug, if the second cable wasn't attached, the pads wouldn't
get detected.

I fixed that bug.
2018-04-18 23:12:45 -07:00
radius 8198e5c0b2 fix #6596 2018-04-19 09:54:16 -05: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 4cd301bd92 Add pad unregistration
== DETAILS

I think this will fix the problem with duplicate pads--pads weren't properly
de-initializing and registering as disconnected. When a pad is disconnected,
the slot should properly release now.
2018-04-14 21:30:44 -07:00
gblues 6ab91a422e Small cleanup to adapt to upstream code changes
retro_bits_t turned into input_bits_t and there were parts of my
code that needed to update.

== TESTING
No idea if upstream changes broke anything, but it compiles cleanly
now.
2018-04-14 14:34:13 -07:00
gblues fb5b31faf3 Merge branch 'master' into gblues/hid 2018-04-14 14:18:03 -07:00
gblues 97e09d179f Fix deadlocks when device is unplugged
== DETAILS
TIL that it's bad to call synchronization code from callbacks.

To avoid that, I made the following changes:

- Implemented an atomic swap (see previous commit) to avoid explicit
  locking when working with the event list
- ensure locks are only acquired in either the main thread or the
  I/O polling thread
- use an explicit polling loop; we still use async reads, but the
  read doesn't immediately re-invoke itself.
- remove the sleep in the polling thread.
- remove unnecessary locking in the thread cleanup call--verified that
  the list can't be modified while it is being executed.

== TESTING
I tested locally, and was able to disconnect/reconnect USB devices several times without the worker thread getting deadlocked.
2018-04-14 13:30:34 -07:00
gblues dca36ebaf8 Add small snippet for atomic value swapping
Fortunately, the gcc port implements the builtins and, from basic
testing, they seem to work.

This is only really useful on Wii U--other platforms have more
robust atomic operations, or aren't using gcc to build.
2018-04-14 01:26:26 -07:00
twinaphex 6761ec471d Silence some Coverity warnings 2018-04-12 21:39:31 +02:00
twinaphex 0fb766b921 Move variables 2018-04-09 16:15:31 +02:00
twinaphex be5057eafc Cleanups 2018-04-09 00:38:44 +02:00
twinaphex a5c7b79842 Move BIT256_CLEAR_ALL_PTR outside of function 2018-04-09 00:34:07 +02:00
twinaphex 7b5a0bf706 Move clear operation outside of keys_pressed functions 2018-04-09 00:31:03 +02:00
Andrés 47a528801d
Merge pull request #6547 from fr500/master
add comment
2018-04-08 17:22:32 -05:00
twinaphex 2cb14e730f Initialize to false by default 2018-04-09 00:21:22 +02:00
radius 215868f755 add comment 2018-04-08 17:21:17 -05:00
radius 066d181535 cleanup 2018-04-08 16:58:48 -05:00
twinaphex 4cd4de3bd3 Simplify input_overlay_add_inputs_inner 2018-04-08 23:20:06 +02:00
Twinaphex 8dc63653e5 Remove unused variables 2018-04-08 23:17:45 +02:00
twinaphex 3a4d094277 MSVC buildfix 2018-04-08 23:13:20 +02:00
twinaphex bc70477005 (input_mapper.c) Some more refactors 2018-04-08 23:08:21 +02:00
twinaphex a646fd3e65 (input_mapper.c) Small non-functional cleanups 2018-04-08 22:36:48 +02:00
radius 968c692a04 remap-redux: allow the menu to display manual keybinds 2018-04-08 14:50:30 -05:00
twinaphex 1dd73f86b7 Simplify this code somewhat 2018-04-08 21:45:10 +02:00
twinaphex 9bcaac1abc Simplify input_mapper_state 2018-04-08 21:38:57 +02:00
twinaphex 24b694d674 Grab joypad_driver only once 2018-04-08 21:07:04 +02:00
twinaphex 30090db941 Simplify input_get_state_for_port for analogs 2018-04-08 21:04:42 +02:00
twinaphex 0ed69fd170 Simplify input_state analog code remapping somewhat 2018-04-08 20:49:02 +02:00
twinaphex a82bb0ec94 Create special type input_bits_t 2018-04-08 20:21:12 +02:00
radius 2b9b829459 remap-redux part2: fix saving, loading and set defaults 2018-04-08 12:13:51 -05:00
radius f517ca3b56 remap-redux part2: fix right stick 2018-04-08 12:13:50 -05:00
radius 72065aee0b remap-redux part2: analog to analog input rules are working for left stick to left stick and left stick to right, for some reason not for right stick to right
stick
(inverting axes) or right stick to left...
2018-04-08 12:13:50 -05:00
radius c608951ff8 remap-redux part2:
- remapping analogs to buttons works 100%
    - remapping to analogs needs the "new input rules written" based on the value and the new axis
2018-04-08 12:13:50 -05:00
radius 0ed9f05571 remap-redux part2:
- remapping analogs to buttons works 100%
- remapping analogs to other analogs still messed up for some reason
- need to reset input of the original axis in input_driver.c still
2018-04-08 12:13:49 -05:00
radius f662d9f65f remap-redux part2: start adding analog remapping 2018-04-08 12:13:49 -05:00
radius 06860bf704 remap-redux part2: rewrite keymapper to work like gamepad mapper 2018-04-08 12:13:49 -05:00
radius 3792a5e502 remap-redux part2: cleanup 2018-04-08 12:13:49 -05:00
radius fa3dfd5f63 remap-redux part2: finally user 2 mapping works! 2018-04-08 12:13:48 -05:00
radius 4260423e48 remap-redux part2: let's use this function instead, add logging 2018-04-08 12:13:48 -05:00
radius 1fa28f0e31 remap-redux part2: let's use this function instead, add logging 2018-04-08 12:13:47 -05:00
radius d8d22a9c40 remap-redux part2: simplify this code a bit, still not working 2018-04-08 12:13:47 -05:00
radius e42e79db28 remap-redux part2: rename variable 2018-04-08 12:13:47 -05:00
radius 958216ede9 remap-redux part2: change remap file labels because old ones are incompatible 2018-04-08 12:13:46 -05:00
radius e130afff73 remap-redux part2: cleanup 2018-04-08 12:13:46 -05:00
radius 5efba1c257 remap-redux part2: better wraparound, skip analogs, add RARCH_UNMAPPED 2018-04-08 12:13:46 -05:00
radius be2c648596 remap-redux part2: after 60 attempsts, new mapper works, N:1 mapping too 2018-04-08 12:13:43 -05:00
radius 7f5fe5ebff remap-redux part 2: add controller sublabel 2018-04-08 12:13:43 -05:00
radius c4754815b6 remap-redux part 2: fix small issue with keymapper 2018-04-08 12:13:43 -05:00
radius 34649d1abf remap-redux part 2: start inverting the gamepad mapper columns 2018-04-08 12:13:42 -05:00
radius 51edf47ed2 remap-redux part 2: cleanup keymapper code 2018-04-08 12:13:42 -05:00
radius f6ee035011 remap-redux part 2: only add items for devices set to RETRO_DEVICE_KEYBOARD (or a subclass) 2018-04-08 12:13:41 -05:00
radius c57f8722e5 remap-redux part 2: restore original var names 2018-04-08 12:13:41 -05:00
radius 2bfb5ec0df remap-redux part 2: fix nits, hookup left/right callbacks 2018-04-08 12:13:40 -05:00
radius ed334cd1dd remap-redux part 2: allow multiple gamepads to work for the keymapper 2018-04-08 12:13:40 -05:00
gblues 4433cbebc6 Get digital inputs for Sony DualShock 3 working
== DETAILS

- fix the bitshift math
- read the right bytes out of the ds3 data packet
- remove verbose logging in critical path
- stop caring about errors in the hid read loop -- seems to just
  be benign "device not ready" -- or at least, that's what I'm assuming
  given that the read eventually succeeds.

== TESTING
Played Mario 3 with the DS3 with no issues.
2018-04-05 23:03:38 -07:00
gblues 46dad14d5f Merge branch 'master' into gblues/hid 2018-04-03 20:30:06 -07:00
gblues af08e5015a More work on Dual Shock 3 driver
== DETAILS

- update to not try starting the read loop until after the device
  is successfully initialized
- add new HID wrapper macros needed by ds3 driver
- add some debug logging to help with troubleshooting
- add button map for DS3

== TESTING
Tested with local build. DS3 init is not working.
2018-04-02 23:16:49 -07: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 39e4167df6 Start work on DualShock 3 driver
== DETAILS

The WiiU GC adapter is working!

Next up: DualShock 3

I have the skeleton of the driver started, need to work out the
activation packet.

== TESTING

The DS3 driver is broke as hell right now.
2018-03-30 23:00:14 -07:00
gblues d65bd90e67 Fix GC pad button mapping 2018-03-30 18:57:34 -07:00
twinaphex 8acc085dec (input_overlay.c) Get rid of some forward declarations 2018-03-30 13:57:50 +02:00
twinaphex 94254e4c79 (IOHIDManager) Cleanups 2018-03-30 11:49:25 +02:00
Twinaphex 86bfd8f4fc
Merge pull request #6497 from ceb33/master
fix to have a deterministic HID device registration
2018-03-30 11:40:24 +02:00
ceb33 c6d6fc7098 fix memory leak 2018-03-30 11:00:38 +02:00
ceb33 82e2cc7c73 set hid device registration deterministic (sorting by ascending location_id), this solve the issue where game with same vid and pid where sometime swapped by the OS 2018-03-30 10:43:54 +02: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
gblues 89c1ba7929 Keep HID pads from clobbering gamepad/wiimotes
== DETAILS

Trying to do weird pad math just wasn't working so I bit the bullet and just
let it allocate all 16 pads in the slot list, then just mark 0-4 as
connected so that the slot allocator would start at 5.

I can see it detect the pad, but no idea if it works. Out of time for
today.
2018-03-29 23:37:11 -07:00
gblues 1eea48d0c8 Fix crash on exit bug
== DETAILS

Turns out freeing memory that's already been freed is.. bad.

Fix two double-free instances; one due to over-freeing and the other
due to wrong order-of-operations causing a double free.

Also updated logging a little.

== TESTING

The GC adapter still clobbers slot 0, but the "emergency exit" sequence
works to quit RA cleanly.
2018-03-29 23:37:11 -07:00
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 56389466aa.
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 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 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
twinaphex f71bbeae9f (XDK) Try to autodetect all pads at startup 2018-01-19 06:49:52 +01:00
twinaphex 897c1654ab Reduce usage of string_is_not_equal_fast 2018-01-17 01:03:48 +01:00
twinaphex 61ff51be2f Start using string_is_equal predominantly 2018-01-16 22:53:38 +01:00
Toad King ccb45a068d fix compiler warning 2018-01-15 04:52:35 -06:00
Toad King 460ceaef97 queue keyboard events and only process them when polling
fixes hitting enter from search box also selecting underlying menu item
2018-01-14 14:37:25 -06: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
Toad King 38ec1acf8e add mouse support to emscripten 2018-01-13 20:51:30 -06:00
Toad King 0ce1fa7751 fix search box in menu 2018-01-13 20:47:15 -06:00
Toad King 1e212b4248 use emscripten HTML5 API for keyboard events instead of old JS library 2018-01-13 17:56:00 -06:00
Toad King a77f9c37c6 start on bringing the emscripten video code up to speed with latest emscripten
fix rwebinput
2018-01-13 00:05:07 -06:00
twinaphex 7cbe4ba9a8 Turn some variables static 2018-01-12 01:37:23 +01:00
radius 3b334b60d6 add display name and config name to autoconf 2018-01-11 17:06:14 -05:00
David Walters c76545bf6c Compile fix. 2018-01-11 17:03:18 +00:00
David Walters 3dc3534498 Merge branch 'master' of https://github.com/libretro/RetroArch into udev_lightgun_api 2018-01-08 14:37:05 +00: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
radius 3ee75e86c5 ake the hack less specific 2018-01-06 13:47:54 -05:00
gblues 5b13f85967 Use the right value for BIT256_GET macro
== DETAILS

The BIT256_GET() macro expects a bit number (from 0-255), and we're giving it
a 32-bit mask (0x000080000).

Solution:

- Define VPAD_BUTTON_xxx_BIT macros using the bit number
- Use said macro in wiiu_input.c
- organizational cleanup:

  * put VPAD_BUTTON_TOUCH into the enum in stead of as a hokey define
  * put the touch bits in the right order
  * put in placeholder enums for (currently) unused bits
2018-01-05 20:03:10 -08:00
Gregor Richards c8ec048459 More netplay flip nonsense to tear out. 2018-01-05 14:27:02 -05:00
Gregor Richards 8d5a79fc69 Removing long-obsolete now-disfunctional "netplay flip players" feature 2018-01-05 14:27:02 -05:00
twinaphex cf8e7cd362 (wiiu) small style nits; declare variables at top; C comments 2018-01-05 13:09:05 +01:00
Ian House 5311544c65 Added overlay led driver, fixed a bug in the rpi led driver 2018-01-04 12:56:57 -05:00
twinaphex edb8ecdbf8 (xdk_joypad.c) Add C codepath for XGetDeviceChanges 2018-01-03 14:13:29 +01:00
twinaphex b57f0d95c2 Try to fix Apple iOS build - error: initializer element is not a compile-time constant 2018-01-01 15:27:52 +01:00
Alcaro 7fd4d5013d C89 2017-12-31 23:46:11 +01:00
twinaphex bd16fd49ab Fix ./configure --disable-rgui 2017-12-31 17:53:11 +01:00
twinaphex 5aa159431e Prevent potential crash 2017-12-31 07:15:18 +01:00
Twinaphex 768be8b9c8
Merge pull request #6011 from gblues/master
Fix a couple crash bugs
2017-12-31 07:08:03 +01:00
twinaphex 2884ad2d73 (360) Some buildfixes 2017-12-31 06:09:39 +01:00
Brad Parker 8a8687ec9c add missing ifdef for device change fix and include 2K in the version check 2017-12-30 23:07:59 -05:00
twinaphex b464014a51 C89_BUILD fixes 2017-12-31 03:27:55 +01:00
misson20000 7cc614263a (NSW) add default button bindings and fix right joystick 2017-12-31 03:04:11 +01:00
gblues 11fed40c79 Fix another crash bug in joypad_connect
== DETAILS

I fixed a similar bug in a past commit, with the same root cause: making
assumptions about the length of the array.

- Add validation to joypad_connection_init() so that if >MAX_USERS is
  requested, a warning is logged and only MAX_USERS is allocated.
- Rewrote the iteration routines so they strictly use the
  joypad_is_end_of_list() method to detect the end.
2017-12-30 16:36:54 -08: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 65c177a0ee Move HID driver into wiiu/ code
== DETAILS

RetroArch's general HID drivers are intended as a full-on substitute for
other input drivers such as XInput, DInput, SDL, etc. The Wii U port is,
to my knowledge, the first case of heterogenous input drivers working
concurrently.

As such, I've moved things around:

- The HID driver source is moved into the wiiu/input/ directory alongside
  the joypad subdrivers.
- We no longer use the input_hid_init_first() method to instantiate; instead
  we just init the wiiu HID driver directly.
- The HID pad driver and HID subsystem driver enjoy a tighter coupling,
  mainly having to do with the initialization of the joypad connections
  list, because there's no way to inform the HID driver's init() method
  how many slots to allocate.

== TESTING
Will test in a moment, but at  least it compiles cleanly. ;)
2017-12-30 04:43:38 +01:00
gblues 704cc61fd8 Fix bug in autodetect macro, gamepad now works properly
== DETAILS
The gamepad didn't work because I had tried to rename the pad from
'WIIU Gamepad' to 'WiiU Gamepad'.

I added some debug logging and (to cut out a lot of trial-and-error)
discovered that the reason it didn't work was because a bug in a macro
was  using the define literally instead of substituting it (so e.g.
the autodetect handler was trying to match 'WiiU Gamepad' against the
literal string 'PAD_NAME_WIIU_GAMEPAD').

- Fixed the macro bug
- Left a minimal amount of the debug logging in place; may come in
  handy for someone else.
- Updated wpad/kpad/hidpad to use the define constants

== TESTING
Did a test build and confirmed the gamepad responded.
2017-12-30 04:43:33 +01: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 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 8f900de65e Clean up USB VID/PID declarations
== DETAILS

USB Vendor and Product IDs are in little-endian byte order, and they
need to be byteswapped on big-endian systems.

This approach allows us to use the standard hex notation for the VID/HID
values, and give them meaningful names, and only swap on the platforms
that need it. Also prevents having to abuse SWAP16() in the platform-
specific code.
2017-12-30 04:43:03 +01:00
gblues 0f66bc3297 Implement HID read loop, add debug logging
== DETAILS

I haven't figured out how I'm going to get the data read via HIDRead()
funneled back to the adapter--the handle_packet() method doesn't actually
get called anywhere.

I'm probably going to need to do more tweaking to the function pointer
list.

This commit also adds logging for the data read via HIDRead.

== TESTING

I used my "stress test" (which I used to reproduce the crash caused
by the old HID implementation), and it did not crash.
2017-12-30 04:41:30 +01:00
gblues 7954dab835 Progress on I/O handling
== DETAILS

Starting to implement the I/O handling on the HID driver.

The old implementation basically had a never-ending HIDRead() callback
set up, so that callback N would start the read process for invocation
N+1.

We will take the same approach here; but now that the I/O thread is
happenning on its own core, we should be able to let it run full-
throttle without impacting emulator performance.

Of course, this hinges on the callback actually running on the same
core as the syscall was initiated on.

== TESTING
Can confirm that the read_loop_callback gets invoked on the same core
that the HIDRead() was invoked on.
2017-12-30 04:41:25 +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 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 d0adbd194e Revert changes to joypad API
== DETAILS

Premature. Still learning my way around the codebase.
2017-12-30 04:40:53 +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 5804233ca8 Start fleshing out wiiu_hid driver
== DETAILS

- Added entrypoints into `input/connect/joypad_connection.c` to allow
  a max value to be passed in, instead of using single macro value
- Created a hand-off between the HID attach handler and the worker thread
- Created a pad initializer in `wiiu_hid.c` leveraging the new functionality
  added to `joypad_connection.c`

== TESTING
Compiles cleanly. At best, doesn't do anything. Might crash--not ready
to test quite yet.
2017-12-30 04:40:39 +01:00
gblues e98b006715 HID worker thread is now operational
== DETAILS
After wasting some cycles trying to isolate a crash, I went back to
basics.

I enabled the network logging, and put in a bunch of logging lines,
and noticed that the HID thread wasn't actually starting.

I did quite a bit of experimenting, working with different
memory alignments, and finally got it working.

== TESTING
As you can see, I put a log output inside the worker thread. When
I run the build, I can see the TICK messages. I can also see that
the thread shuts down as expected.

Also! The HID callback works as expected too! I have the GC
adapter, and when I register the HID callback it fires and I get the
following data:

    [INFO] USB device attach event
    [INFO]                 handle: 2058729
    [INFO]   physical_device_inst: 0
    [INFO]                    vid: 0x7e05
    [INFO]                    pid: 0x3703
    [INFO]        interface_index: 0
    [INFO]              sub_class: 0
    [INFO]               protocol: 0
    [INFO]     max_packet_size_rx: 37
    [INFO]     max_packet_size_tx: 5

Note that these are raw dumps of the data passed to the method,
so e.g. the VID/PID might be byte-swapped from how they're usually
represented.

Have not done the stress test to try to reproduce the crash.
2017-12-30 04:40:33 +01:00
gblues 192f5875b9 Simplify, add logging, revert some of the changes
== DETAILS
The old code was crashing; I did a minimalized branch and the crash
went away, so I'm bringing that over here. Meaning I'll have to
redo some of the other work I'd put in, but oh well.

(now watch it start crashing again)

== TESTING
Can confirm it builds. Wii U is busy ATM so I can't test.
2017-12-30 04:40:23 +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
gblues 5c5e5be649 More progress on the HID driver
== DETAILS
I think I've about got the thread startup/teardown code worked
out. Logically, anyway, if not accurately.

The challenge has been figuring out how best to integrate the
features of HID2VPAD.

I found `input/connect/joypad_connection.c` and this seems like
the logical place for:

- Special-case driver for the Switch Pro controller
- Any other special cases HIDTOVPAD supports that core RetroArch
  doesn't
- Parsing of HIDTOVPAD config file to add custom button mapping

== TESTING
Compiles. Haven't tested with a real Wii U. Probably doesn't work
though. I very likely have the threading bit wrong.
2017-12-30 04:40:01 +01:00
gblues c3736adb77 Start implementing HID polling thread
== DETAILS

Looking at the other HID USB drivers, it looks like the typical
implementation is to start up a background thread to do the
polling, rather than wait for RA to invoke the poll() method.

This commit sets up the skeleton of the background thread:

- The thread gets created in init()
- The thread gets stopped in free()

Right now the body of the thread is a 10ms sleep.

== TESTING

It compiles cleanly, and links. Don't know if it actually works.
2017-12-30 04:39:56 +01:00
gblues 203876a206 More progress on the HID driver
== DETAILS
I think I've about got the thread startup/teardown code worked
out. Logically, anyway, if not accurately.

The challenge has been figuring out how best to integrate the
features of HID2VPAD.

I found `input/connect/joypad_connection.c` and this seems like
the logical place for:

- Special-case driver for the Switch Pro controller
- Any other special cases HIDTOVPAD supports that core RetroArch
  doesn't
- Parsing of HIDTOVPAD config file to add custom button mapping

== TESTING
Compiles. Haven't tested with a real Wii U. Probably doesn't work
though. I very likely have the threading bit wrong.
2017-12-30 04:39:44 +01:00
gblues 1657079c45 Start implementing HID polling thread
== DETAILS

Looking at the other HID USB drivers, it looks like the typical
implementation is to start up a background thread to do the
polling, rather than wait for RA to invoke the poll() method.

This commit sets up the skeleton of the background thread:

- The thread gets created in init()
- The thread gets stopped in free()

Right now the body of the thread is a 10ms sleep.

== TESTING

It compiles cleanly, and links. Don't know if it actually works.
2017-12-30 04:39:39 +01:00
gblues 7e56881b88 Some cleanups 2017-12-30 04:39:34 +01:00
gblues 3b92cce6bf Start wiring up the HID driver
- add alloc/free for necessary objects
- register callback with Wii U OS

Don't think I've put the unregister bit in, so this is very likely
broken.
2017-12-30 04:39:25 +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 d49b7b28b6 input_poll - cleanup 2017-12-29 23:12:35 +01:00
twinaphex a6afddae04 current_input_data and current_input are no longer globals 2017-12-29 23:03:25 +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
Twinaphex c7c71cb01f Fix Apple build 2017-12-27 22:36:10 +01:00
Twinaphex b1c0fe7d0d Fix CXX_BUILD for Apple 2017-12-27 22:33:32 +01:00
radius 2cab3a7e4e fix some nits 2017-12-27 15:43:03 -05:00
radius c3e6ac96aa only reinit when HID devices are attached 2017-12-27 15:34:18 -05:00
Twinaphex d64154bf40
Merge pull request #5965 from fr500/master
avoid dinput reinitialization on unrelated WM_DEVICECHANGE events
2017-12-27 05:55:38 +01:00
bparker06 2dcd2bc5c6
Fix relative path 2017-12-26 22:02:11 -05:00
radius ab54fda509 avoid dinput reinitialization on unrelated WM_DEVICECHANGE events 2017-12-26 20:17:26 -05:00
radius 7d9193555a fix menu toggle with keymapper active 2017-12-26 01:20:36 -05:00
Brad Parker 6d484b7724 xinput: check for valid function pointers before calling them 2017-12-23 23:02:29 -05:00
twinaphex 95e807749d Simplification/cleanup 2017-12-18 07:09:44 +01:00
twinaphex 422ce9396c Cleanup - input_key_pressed 2017-12-18 06:14:48 +01:00
twinaphex 69f85556a3 Get rid of meta_key_pressed 2017-12-18 05:59:57 +01:00
twinaphex 7b210ccf37 Don't call meta key pressed if not bound 2017-12-18 05:49:17 +01:00
twinaphex 1978689dcb Rewrite input_keys_pressed_iterate 2017-12-18 05:22:45 +01:00
twinaphex 9b9cf7b036 Cleanups 2017-12-18 05:13:57 +01:00
twinaphex 3c5d2f047c Create input_keys_pressed_iterate 2017-12-18 05:09:16 +01:00
Twinaphex 26f483b22d
Merge pull request #5882 from hiddenasbestos/dolphinbar
Mayflash DolphinBar
2017-12-17 16:48:26 +01:00
David Walters 02f6301607 fix reversed logic 2017-12-17 12:46:21 +00:00
David Walters adffa5fc4c Fixes for overlay buttons 2017-12-17 12:36:18 +00:00
Brad Parker 8c0adf3594 move path_file_rename and path_file_remove into VFS 2017-12-14 13:32:26 -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
Monroe88 cfde6a44db input_driver: Map Delete key to Y button for non-unified menu keyboard controls 2017-12-09 14:17:54 -06:00
Fabio 0d58d9ca0d
Added label to wii controllers, inverted the right stick Y axis of classic controller
The right stick Y axis of classic controller was wrong
2017-12-09 08:24:19 +01:00
David Walters 124ddcd27a Add dolphin bar VID/PID - treat like a wii over bluetooth connection 2017-12-07 23:44:29 +00: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
Twinaphex d881931254
Merge pull request #5867 from hiddenasbestos/more_devices
Don't limit available input devices to user count.
2017-12-06 01:43:52 +01:00
Brad Parker f5ea4a0c65 dinput: add missing function parameter 2017-12-05 17:19:17 -05:00
David Walters 609bcb4dc2 fix device indexing 2017-12-05 22:03:56 +00:00
David Walters 0d189ae067 Don't limit available input devices to user count. 2017-12-05 21:21:29 +00: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
Twinaphex 7ab7ed35b7
Merge pull request #5863 from bparker06/xinput
xinput: copy VID/PID from dinput so autoconfig does not rely solely on HID name
2017-12-05 20:01:16 +01:00
bparker06 4c9bde61b5
dinput: fix memory leak of joypad name 2017-12-05 13:54:15 -05: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
twinaphex 3ccce249ea Fixes hotkey issues with MSVC 2017-12-05 08:50:24 +01:00
neville 43f6a03110 (OSX PPC) Buildfixes 2017-12-04 02:59:06 +01:00
David Walters cbfdd7bbd9 udev lightgun fixes 2017-12-03 09:40:36 +00:00
bparker06 78bf72e29e
blissbox: add atari pad type 2017-12-02 13:33:09 -05:00
David Walters c453675d38 lightgun support in udev 2017-12-02 13:24:17 +00:00
Twinaphex 5f0a9fffbb
Merge pull request #5827 from hiddenasbestos/input_driver_x11
Add new lightgun/mouse-bind features to X11 driver
2017-12-02 09:18:17 +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 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
twinaphex 6c69002ab4 Start adding not-complete kqueue codepaths - bparker - see if you can
finish this up
2017-11-30 07:28:59 +01:00
twinaphex 62280439b7 Rename epfd to fd 2017-11-30 07:00:25 +01:00
David Walters 05578f0634 Show VID/PID values for unsupported devices. (#5825) 2017-11-29 15:56:18 -05:00
David Walters 5f095677a7 fix for wiiu build (#5826) 2017-11-29 15:55:31 -05:00
David Walters 7dfcc169de Add new lighgun/mouse-bind features to X11 driver 2017-11-29 18:32:58 +00:00
Brad Parker 5453853001 remove extra paren 2017-11-29 11:32:32 -05:00
Brad Parker f41187df22 remove extra brace 2017-11-29 11:17:13 -05:00
Brad Parker 44b70efb68 style nits 2017-11-29 10:42:39 -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
Brad Parker def24ef8eb blissbox: print message if detecting update mode or old firmware versions, override vid/pid check for autoconfig profiles, misc comments 2017-11-28 21:25:54 -05:00
Brad Parker 2dd64d9c11 Initial blissbox support, requires firmware 2.0. Currently limited to platforms with libusb support. 2017-11-28 18:25:12 -05:00
David Walters f09477d46a additional compile fixes 2017-11-28 10:36:16 +00: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
David Walters e06290a06c updated winraw driver for new lightgun/mouse binding api 2017-11-27 12:51:06 +00:00
twinaphex cdf1d9a417 Indent nits 2017-11-27 03:53:46 +01:00
Twinaphex d93b9ebf4d Silence warning 2017-11-27 03:53:25 +01:00
twinaphex dfebea9109 Cleanups 2017-11-26 22:58:36 +01:00
twinaphex 00d57af005 C89_BUILD fixes 2017-11-26 22:53:42 +01:00
twinaphex e35394d4bd Fix MSVC 2003 build 2017-11-26 22:41:34 +01:00
David Walters 59c188f75c Implement new lightgun API 2017-11-26 17:09:15 +00:00
David Walters dbd9bf3b46 New lightgun binds 2017-11-26 16:59:48 +00:00
David Walters c733f96a16 listen for mouse buttons/wheel when binding input 2017-11-26 15:42:47 +00:00
David Walters cdb5a656f2 dinput: only support hardware mouse index 0 2017-11-26 15:40:27 +00:00
David Walters 59812e9509 include mouse buttons in block hotkey check 2017-11-26 13:23:39 +00:00
David Walters 9682e2777b support for mouse button binds in Windows input drivers 2017-11-26 12:55:17 +00:00
David Walters 25efae0630 Show mbutton binds on settings list; comma separate joy and key bins 2017-11-26 11:56:02 +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 b3a53ac8ca Show "---" for unbound controls, not "(Key: )" 2017-11-24 21:36:49 +00:00
Twinaphex 45fb685375
Merge pull request #5762 from hiddenasbestos/extend_input_bits
Extend input bind limit to 256
2017-11-24 14:48:53 +01: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
twinaphex 7ac5eda1e1 Rewrite input_mapper code - no longer have an internal pointer
inside input_mapper
2017-11-24 02:37:53 +01:00
David Walters b0e383d5f0 Extend input bind limit to 128 2017-11-23 23:04:09 +00:00
Ash efad07e89f
[WiiU] Add proper DRC touch scaling for non-720p resolutions 2017-11-19 17:18:03 +11:00
David Walters 795057bacf Support for RETRO_DEVICE_INDEX_ANALOG_BUTTON 2017-11-17 22:46:23 +00:00
David Walters 41df4a0555 Support for mouse buttons 4&5 2017-11-17 12:00:24 +00:00
daniel jimenez e91bae38cf Introduce button mappings for generic usb controller 2017-11-13 22:08:24 -08:00
twinaphex ac14f8bb2a Rearrange some struct members 2017-11-12 17:02:14 +01: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 a7c8cc88e5 win32: support local multibyte encoding for file paths 2017-10-14 23:13:24 -04:00
Brad Parker 38c30667c5 fix include paths 2017-10-14 23:08:43 -04:00
twinaphex c68db61188 Silence more Clang warnings 2017-10-11 22:49:13 +02:00
Twinaphex affd56f293 Merge pull request #5515 from casdevel/winraw-lightgun
Add lightgun device capability
2017-10-09 02:42:09 +02:00
Zoran Vuckovic 5c46e176d5 Add keyboard/mouse device index logging 2017-10-07 06:59:45 +02:00
Zoran Vuckovic 082629ccd5 Add lightgun device capability 2017-10-06 08:19:22 +02:00
Zoran Vuckovic 12d0f4107a Use int32_t instead of __s32 2017-10-05 10:00:20 +02:00
Zoran Vuckovic 135b636bd4 Add "absolute" mouse support 2017-10-05 05:18:53 +02:00
twinaphex 8238545bef Cleanups 2017-10-04 06:53:47 +02:00
twinaphex cf9ab18cab (360) Buildfix 2017-10-03 04:21:25 +02:00
twinaphex d10de20bff Start compiling Griffin as C for 360 - C89 fixes 2017-10-03 04:11:41 +02:00
twinaphex 3090f3ff3a (task_database.c) Rewrite char arrays 2017-09-29 20:47:54 +02:00
twinaphex 5b9f90dd9a (input overlay) Reorder variables in struct 2017-09-29 17:11:42 +02:00
twinaphex ff48af4d06 Update 2017-09-28 18:57:00 +02:00
twinaphex 9eba2c8e39 Fix CXX_BUILD on Windows 2017-09-28 18:53:09 +02:00
twinaphex 221939ccb5 Cleanups 2017-09-28 00:53:13 +02:00
twinaphex a3ded01b64 Cleanups 2017-09-27 23:16:37 +02: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
Brad Parker 836111b99b C89 buildfix 2017-09-16 19:06:55 -04:00
Twinaphex 76aa866af8 Merge pull request #5438 from casdevel/fix5215
Fix mouse "absolute" move handling
2017-09-12 21:14:56 +02:00
Zoran Vuckovic d47de4b17e Fix mouse "absolute" move handling 2017-09-12 12:36:27 +02:00
radius 804c62cc9e clear the remap flags 2017-09-12 01:47:43 -05:00
radius 6a561f6414 input remapping cleanups 2017-09-11 22:49:39 -05:00
radius 5dc52d9489 resetting remaps should include keymaps 2017-09-11 02:04:27 -05:00
radius 551d85630e android build fixes 2017-09-11 00:21:48 -05:00
radius 9abbf47a8d fix defaults 2017-09-11 00:21:47 -05:00
radius c8752ec630 add left/right callbacks 2017-09-11 00:21:46 -05:00
radius 503658b446 cleanup 2017-09-11 00:21:45 -05:00
radius efce234dc4 save and load keymaps from file 2017-09-11 00:21:44 -05:00
radius 654db9caac it should work with the SET_KEYBOARD_CALLBACK now 2017-09-11 00:20:21 -05:00
radius cd72bd1bb4 implement keymapper 2017-09-11 00:20:21 -05:00
radius fe8a0657b4 add input_mapper scafolding 2017-09-11 00:20:20 -05:00
Twinaphex 4adbba2513 Merge pull request #5426 from casdevel/issue5162
Disable keyboard input if window is not active
2017-09-11 06:19:15 +02:00
twinaphex e1237f6d58 Reduce stack usage 2017-09-11 06:15:09 +02:00
Zoran Vuckovic 84d33fb847 Disable keyboard input if window is not active 2017-09-10 05:50:10 +02:00
twinaphex 3301c04a97 input_remapping.c - reduce stack usage 2017-09-09 23:03:28 +02:00
twinaphex 3b26263126 Cleanup input_config_get_prefix 2017-09-08 06:28:40 +02:00
twinaphex d6bcc45bb8 Reduce size of input_bind_map member variables 2017-09-08 06:11:19 +02:00
twinaphex d1a41a742f Reduce joykey_label/joyaxis_label char arrays 2017-09-08 06:01:21 +02:00
twinaphex c3bb76a05e Try to reduce variable sizes 2017-09-08 05:58:48 +02:00
twinaphex 24dc35d97b Cleanups 2017-08-31 12:17:06 +02:00
twinaphex 44a1a429c8 Change type of pid/vid to uint16_t 2017-08-31 12:14:27 +02:00
Rob Loach fa75f47995
Fix includes of input_config 2017-08-30 23:14:27 -04:00
Rob Loach d993bd3dcf Remove input_config.h include 2017-08-30 23:10:12 -04:00
Rob Loach 40f4d805a8 Fix non-existent include of input_config.h 2017-08-30 23:01:12 -04:00
twinaphex e16371b8a5 Merge input_config.c and input_driver.c 2017-08-31 02:25:04 +02:00
twinaphex 0c5781ba8d (input_config.c) Cleanups 2017-08-31 01:57:51 +02:00
twinaphex d8f27886ad Reduce size of input driver ids to uint16_t - should be enough 2017-08-30 14:02:18 +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 24878694f8 Silence some warnings 2017-08-14 07:13:50 +02:00
twinaphex ae2435cf16 Silence some more C89_BUILD warnings 2017-08-12 18:15:26 +02:00
twinaphex cfde480e82 Add some C89_BUILD rules 2017-08-12 17:41:34 +02:00
twinaphex 7a490aa6d6 Use C-style comments 2017-08-10 21:25:30 +02:00
twinaphex 805c2ad529 Buildfixes 2017-08-10 21:22:30 +02:00
twinaphex 5101895cc9 (dinput) Buildfix 2017-08-09 16:53:06 +02:00
twinaphex 4e49155147 Cleanup 2017-08-09 15:54:24 +02:00
twinaphex ee275c85d8 (dinput.c) Cleanups 2017-08-09 15:51:27 +02:00
twinaphex ca80f13b2b Try to be somewhat safer here in case of null pointer derefences 2017-08-09 02:42:19 +02:00
denu8thell c5b36320df Added option to change controller port to listen to for showing overlay input. 2017-08-08 09:56:27 -05:00
denu8thell 8e69a348e6 Add support for buttons that are multiple inputs. 2017-08-08 07:49:02 -05:00
denu8thell f0606d60d2 Add option and menu setting for viewing inputs on overlay. 2017-08-08 06:50:39 -05:00
denu8thell 4ed715d0f3 Remove commented code in input_driver.c 2017-08-08 05:39:18 -05:00
denu8thell 23b2e4488a Add keyboard overlay support to input_overlay_add_inputs. 2017-08-08 05:32:34 -05:00
denu8thell cc06b8b62e Added analog overlay support to input_overlay_add_inputs. 2017-08-08 05:10:44 -05:00
denu8thell 0df4186191 reduce scope of input_overlay_add_inputs to file. 2017-08-08 02:48:46 -05:00
denu8thell 4c31d41920 Moved input_overlay_add_inputs call out of input_driver.c, shortened arguments. 2017-08-08 02:31:26 -05:00
denu8thell 3d4e36455d use input_state instead of current_input->input_state. 2017-08-07 22:22:48 -05:00
denu8thell c882e64653 Added button press lightup on overlay.
input_overlay_add_inputs added, still need to implement dpad and analog visuals on overlay. Also still needs to be restructured so input_overlay_post_poll is only called once.
2017-08-07 21:59:05 -05:00
twinaphex 2e7b4242f7 Cleanup 2017-08-07 01:48:21 +02:00
radius 7b09cd34db fix #5257 2017-08-06 20:02:17 -05:00
twinaphex 86dbcaf563 C89 buildfix 2017-08-06 17:09:30 +02:00
twinaphex 912c7265e6 Get rid of some warnings 2017-08-06 14:03:09 +02:00
radius 2db79242c9 remove remaps 2017-08-05 11:21:07 -05:00
radius a973d5dc8a allow saving analog dpad mode and libretro device to remap files 2017-08-05 11:21:06 -05:00
radius 9862b75b4b allow specifying libretro device and analog dpad mode on remap files 2017-08-05 11:21:06 -05:00
radius f5360d0d82 extra devices 2017-08-04 01:17:32 -05:00
radius 2ef75cb300 buildfix 2017-08-04 01:11:31 -05:00
radius a6b24b4d42 fire tv hack 2017-08-04 01:09:05 -05:00
Zoran Vuckovic 2a92b22128 Add mice info log 2017-07-28 13:03:26 +02:00
Brad Parker b9036e26a7 fix buffer overflow 2017-07-22 16:08:05 -04:00
Zoran Vuckovic aa99f4f5ba Disable keyboard input and restrict mouse input in some cases 2017-07-18 01:16:48 +02:00
Brad Parker e067dac2a4 fix keyboard regression with mupen cores 2017-07-08 17:39:29 -04:00
twinaphex dc521b42d1 Cleanup 2017-07-05 11:55:17 +02:00
twinaphex ffc393cafc Get rid of unused variables 2017-07-02 20:58:32 +02:00
Paolo Bonzini d1dc2e9670 add support for remote control devices and other ID_INPUT_KEY devices
* the remote control presents itself as ID_INPUT_KEY, not
ID_INPUT_KEYBOARD.  However, ID_INPUT_KEYBOARD is a subset of
ID_INPUT_KEY.

* the remote control lacks the backspace and enter keys, which are hard
coded in RetroArch. It has "back" and "ok" instead, so map those to
RETROK_BACKSPACE and RETROK_ENTER as well.

Remote controls also have no ESC key, but that one is customizable
and I used the Power key of the remote (which already has a mapping
to RETROK_POWER).

The functionality provided is really the bare minimum, but it is enough
to teach a kid "press the power button here to watch TV"; compared to
pressing L1+R1+START+SELECT and navigating to the RetroArch's "quit"
menu item, that hopefully has more chances of success.
2017-07-02 10:50:00 +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 fe829e5eb0 Fix C89_BUILD 2017-06-28 18:01:04 +02:00
twinaphex 36f700927e Silence some more ioctl coverity warnings 2017-06-28 07:00:28 +02:00
twinaphex fa8db9b4d2 Silence another Coverity warning 2017-06-28 06:59:00 +02:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 20e7ac4280 Buildfix 2017-06-26 03:50:34 +02:00
twinaphex 411ade7fb9 Mingw buildfix 2017-06-26 03:47:47 +02:00
twinaphex 5d1cfc47cc C89_BUILD fixes 2017-06-25 04:05:34 +02:00
Twinaphex 5c5c5ecbdf Revert "udev input: support controlling the menu with a TV remote control" 2017-06-22 20:53:07 +02:00
Twinaphex 8068bcccbe Merge pull request #5076 from bonzini/master
udev input: support controlling the menu with a TV remote control
2017-06-21 23:35:22 +02:00
twinaphex f087419165 Rename platform_linux.c to platform_unix.c 2017-06-19 17:38:49 +02:00
Paolo Bonzini d5cdbca322 add support for remote control devices and other ID_INPUT_KEY devices
* the remote control presents itself as ID_INPUT_KEY, not
ID_INPUT_KEYBOARD.  However, ID_INPUT_KEYBOARD is a subset of
ID_INPUT_KEY.

* the remote control lacks the backspace and enter keys, which are hard
coded in RetroArch. It has "back" and "ok" instead, so map those to
RETROK_BACKSPACE and RETROK_ENTER as well.

Remote controls also have no ESC key, but that one is customizable
and I used the Power key of the remote (which already has a mapping
to RETROK_POWER).

The functionality provided is really the bare minimum, but it is enough
to teach a kid "press the power button here to watch TV"; compared to
pressing L1+R1+START+SELECT and navigating to the RetroArch's "quit"
menu item, that hopefully has more chances of success.
2017-06-19 15:09:13 +02:00
Paolo Bonzini f850e64037 add volume down and volume up keys 2017-06-19 13:22:34 +02:00
twinaphex 914acd3956 Revert "Get rid of some warnings"
This reverts commit 3d45ba29d8.
2017-06-18 20:02:50 +02:00
twinaphex b134c5d23c Revert "Set joypad_info.axis_threshold only once"
This reverts commit 605d877279.
2017-06-18 20:01:48 +02:00
twinaphex 605d877279 Set joypad_info.axis_threshold only once 2017-06-18 19:56:31 +02:00
twinaphex 3d45ba29d8 Get rid of some warnings 2017-06-18 19:47:40 +02:00
twinaphex 5c973b6649 Add another entry to debug logging 2017-06-18 15:52:17 +02:00
twinaphex 2d76e98c22 Add debug logging 2017-06-18 15:48:44 +02:00
Twinaphex 6db8aa8a65 Merge pull request #5067 from danieljg/master
Added code for single port psx to ps3 adapter
2017-06-18 11:16:15 +02:00
Daniel Jimenez 5267b630f8 Added code for single port psx to ps3 adapter
On branch master
 Changes to be committed:
	modified:   ../griffin/griffin.c
	modified:   ../input/connect/connect_ps2adapter.c
	new file:   ../input/connect/connect_psxadapter.c
	modified:   ../input/connect/joypad_connection.c
	modified:   ../input/connect/joypad_connection.h
2017-06-17 14:19:09 -07:00
Brad Parker fca0e52bdd win32: make includes lowercase to fix cross-compilation on linux 2017-06-13 22:25:47 -04:00
twinaphex 1598042e8e (udev) Keyboard should work again in DRM/KMS 2017-06-12 12:09:19 +02:00
twinaphex a41b8bc199 Direct usage of epoll 2017-06-11 20:51:21 +02:00
twinaphex e92feb85af Use epoll functions directly 2017-06-11 20:44:02 +02:00
twinaphex 895c817fa5 ifdef this 2017-06-11 19:56:14 +02:00
twinaphex 5e0e970c92 Cleanups 2017-06-11 19:48:40 +02:00
Brad Parker 42e56c8432 fix all_users_control_menu logic 2017-06-11 12:28:47 -04: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 68516cf74c (input_keyboard.c) cleanups 2017-06-11 17:35:48 +02:00
twinaphex e2d4ff5614 Don't need ctype 'isprint' here anymore 2017-06-11 16:56:31 +02:00
twinaphex 9ec396c0ea Remove some dead code 2017-06-11 16:51:50 +02:00
twinaphex 5081d03194 Cleanups 2017-06-11 16:26:27 +02:00
twinaphex 7e9cb39519 Use BIT64_SET 2017-06-11 16:24:24 +02:00
twinaphex 612cb54cfe Merge input_hid_driver 2017-06-11 08:56:36 +02:00
twinaphex 95e588ce0f Fix C89_BUILD 2017-06-10 12:52:45 +02:00
twinaphex 9b13894438 Slightly rewrite input_state for android input driver 2017-06-10 12:48:09 +02:00
twinaphex 34be5566dd (udev fix) This fixes touchpad movement inside the menu 2017-06-10 12:27:22 +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 e8c73c6683 Rewrite other input drivers too 2017-06-10 11:22:24 +02:00
twinaphex d32cf4c866 Slightly rewrite input_state implementations of cocoa_input.c
and linuxraw_input.c
2017-06-10 11:09:58 +02:00
twinaphex 37656eed84 (udev_input.c) Rework input_state 2017-06-10 10:58:56 +02:00
twinaphex cea6dbbb6a (wayland) Fix input issue 2017-06-10 08:40:28 +02:00
twinaphex cffe023085 Fix wayland 2017-06-10 08:33:01 +02:00
Twinaphex 6d85e1f0a6 Merge pull request #5045 from casdevel/mice
Add player mouse device selection
2017-06-10 04:13:16 +02:00
Zoran Vuckovic e698e75a51 Adapt touchpad code for multiple mice support 2017-06-09 21:17:11 +02:00
twinaphex 473aed632d Get rid of this 2017-06-09 02:14:48 +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 b633b8ad2d Get rid of implicit memset 2017-06-08 21:38:05 +02:00
Zoran Vuckovic 39108f97e9 Add player mouse index handling to winraw input driver 2017-06-08 17:35:34 +02:00
Zoran Vuckovic 44930716ba Add player mouse index handling to udev input driver 2017-06-08 18:49:08 +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 c711749973 (iohidmanager_hid.c) Cleanups 2017-06-07 21:14:34 +02:00
twinaphex 4a5593255f (android_joypad.c) Small cleanup 2017-06-07 21:10:06 +02:00
twinaphex 5ef8b69c9c (wiiu_input.c) Minor style nits 2017-06-07 21:06:24 +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
sh!zeeg 5887c46e08 [INPUT]: fix KP0, KP1, KP2, KP3 keys on GNU/Linux 2017-06-07 19:52:20 +03:00
Zoran Vuckovic ceca89e104 Fix DRM/KMS keyboard handling 2017-06-07 12:25:10 +02:00
twinaphex 486660471e (Android) Buildfix 2017-06-07 03:01:00 +02:00
twinaphex d9e6cbb065 Simplifications to SDL input driver 2017-06-07 01:45:09 +02:00
twinaphex 59c3f8b06e Cleanups 2017-06-07 01:19:44 +02:00
twinaphex 603d4d0464 (udev/x11) Simplifications 2017-06-07 01:17:55 +02:00
twinaphex 9e93bdbe27 (linuxraw_input.c) simplifications 2017-06-07 01:12:35 +02:00
Twinaphex 3dede6d71a OSX buildfix 2017-06-07 00:35:11 +02:00
twinaphex c3f5c499f3 Simplify cocoa_input 2017-06-07 00:33:03 +02:00
twinaphex afd6a2bec5 Cleanups 2017-06-07 00:10:39 +02:00
twinaphex 604a558382 Get rid of input_wl_is_pressed 2017-06-07 00:09:31 +02:00
twinaphex deb804ab2f (x11_input.c) get rid of this inline function 2017-06-06 23:50:51 +02:00
twinaphex 3d61c7fdfc MSVC buildfix 2017-06-06 23:19:07 +02:00
Ethan Lee bf20021338 [SDL2] Fix joypad info for SDL_GameController devices 2017-06-06 16:16:44 -04:00
Zoran Vuckovic d88b76c26f Add L/R virtual keys handling 2017-06-06 13:50:41 +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 7685f93d00 input_menu_keys_pressed - don't use input_joypad_pressed 2017-06-06 07:59:41 +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 0bd998665b Turn this function into static INLINE 2017-06-06 05:38:01 +02:00
twinaphex 007bb0de39 Buildfix 2017-06-06 05:36:12 +02:00
twinaphex 9ebfb36b4e Use rarch_keysym_lut directly 2017-06-06 05:17:25 +02:00
twinaphex e276142be3 (udev_input.c) Cleanup 2017-06-06 04:18:35 +02:00
twinaphex 4f22c3d13e (x11_input.c) Simplifications 2017-06-06 04:15:45 +02:00
twinaphex 15c4f82dec (udev_input.c) Cleanups 2017-06-06 03:59:52 +02:00
twinaphex c3c772a79a (udev) Avoid warning with helgrind - input descriptor -1 is invalid 2017-06-05 05:18:38 +02:00
radius 304a647248 dlopen libandroid from lib64 instead 2017-06-04 21:20:39 -05:00
twinaphex 8b945a103f (udev_input.c) Set st_dev manually 2017-06-04 21:16:35 +02:00
Zoran Vuckovic ab793b92a3 Remove XKBCOMMON code 2017-06-04 07:23:32 +02:00
Zoran Vuckovic 1911aadc19 Remove duplicate keyboard handling 2017-06-04 07:16:57 +02:00
twinaphex 85058fbe5c (udev_input.c) Some cleanups and a runtime check for X11 2017-06-03 18:54:04 +02:00
Zoran Vuckovic 210da4d204 Add ifdef checks for X11-specific code 2017-06-03 18:01:27 +02:00
Zoran Vuckovic 05a90f7f70 Add mouse grab/ungrab feature 2017-06-03 16:26:08 +02:00
Zoran Vuckovic 39a9ac8444 Add pointer handling to fullscreen mode 2017-06-03 12:46:53 +02:00
Twinaphex a8f1831a62 Merge pull request #5010 from casdevel/udev
Add multiple mice support to udev input driver
2017-06-02 16:45:13 +02:00
Zoran Vuckovic f740776105 Fix capabilities report 2017-06-02 09:47:43 +02:00
Zoran Vuckovic 11559f294a Add multiple mice support to udev driver 2017-06-02 07:57:07 +02:00
Zoran Vuckovic a47ab76500 Add missing keymaps 2017-05-31 00:35:28 +02:00
Zoran Vuckovic 8c9e72aec1 Remove unused code 2017-05-30 21:05:55 +02:00
Zoran Vuckovic 451db1fac5 Add multiple mice support 2017-05-30 05:50:38 +02:00
twinaphex 4f678dfdfc Cleanups 2017-05-25 15:04:55 +02:00
Brad Parker a04b54006d win32: disable winraw input driver for targets older than XP 2017-05-23 21:03:00 -04:00
twinaphex 80b5bcd16c Cut down on some code duplication 2017-05-24 02:02:01 +02:00
Twinaphex 79d35d158a Use variable 2017-05-22 14:16:48 +02:00
twinaphex 98a3d80e71 Cleanups 2017-05-22 13:57:13 +02:00
twinaphex ec79d8c46a Cleanups - don't keep setting joypad_info members needlessly - do
it once
2017-05-22 12:49:12 +02:00
twinaphex 371c3e56de Get rid of empty function 2017-05-22 12:43:50 +02:00
twinaphex 10df6d3b54 Rewrite pressed functions 2017-05-22 12:40:19 +02:00
twinaphex f62490b14f Don't have inline static functions 2017-05-22 12:34:34 +02:00
twinaphex d48ec2a9e6 Turn conditional into else if 2017-05-22 12:24:23 +02:00
twinaphex d78e1da956 Cut down on code duplication 2017-05-22 12:21:11 +02:00
twinaphex e7d3f36a22 Call input_driver_pressed_keys_internal only once 2017-05-22 12:15:20 +02:00
twinaphex f321763b1c Cleanups 2017-05-22 00:12:23 +02:00
twinaphex c0c3bb3dbd Cleanup 2017-05-22 00:11:46 +02:00
twinaphex 4963ff31f0 keyboard_event_xkb.c - cleanup 2017-05-22 00:11:28 +02:00
twinaphex 70bbe92154 Simplify input_menu_keys_pressed 2017-05-21 22:32:29 +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 8bf552dacd Move this code to retroarch.c 2017-05-21 21:42:13 +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 4d4b00f877.
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
twinaphex 3e00c632bd Pass value instead of pointer 2017-05-21 20:47:53 +02:00
twinaphex 136a435c43 Fix keys while in binding mode 2017-05-21 20:42:46 +02:00
twinaphex d8d11c5dcc (x11_input.c) Cleanups 2017-05-20 20:57:14 +02:00
twinaphex f83a26c8b0 (udev_input.c) Simplifications 2017-05-20 20:50:23 +02:00
twinaphex 9f6dc975da Simplify udev_input.c 2017-05-20 20:35:42 +02:00
Twinaphex 8b4c92291f Merge pull request #4948 from Maschell/wiiu_controller_patcher
[Wii U] Adding support for HID Controllers
2017-05-20 20:28:58 +02:00
Maschell a8a2d7730f Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 20:19:04 +02:00
twinaphex 46182e090b Merge keyboard_event_win32.cpp with win32_common.cpp 2017-05-20 19:46:27 +02:00
twinaphex 5a9dbf7e4f Merge keyboard files for udev/x11 2017-05-20 19:44:04 +02:00
Maschell 2da8a18086 Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 19:27:13 +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
twinaphex 0742ebec21 Get rid of local_enable variable 2017-05-20 16:32:57 +02:00
twinaphex 6fea8f14c5 Call video_driver_cb_has_focus directly 2017-05-20 14:11:50 +02:00
Maschell 2ac91822c3 Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 13:14:13 +02:00
Zoran Vuckovic 25e08cf6c4 Fix one pointer cast warning 2017-05-19 16:48:03 +02:00
twinaphex 59fb7700b8 Combine menu_driver.c and menu_display.c 2017-05-19 15:25:14 +02:00
twinaphex b086b72ff9 (winraw_input.c) Minor cleanups 2017-05-19 12:58:44 +02:00
twinaphex f185c1ef1f (MSVC) Buildfix 2017-05-19 06:30:49 +02:00
Zoran Vuckovic 1bc945e3dc Add Windows raw input driver 2017-05-18 18:48:41 +02:00
twinaphex a0fcbf85a1 Cleanup 2017-05-18 09:36:59 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
twinaphex 8eca08c6ac Start using string_is_equal_fast/string_is_not_equal_fast macros
instead of straight memcmp
2017-05-16 03:20:59 +02:00
twinaphex bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
twinaphex 42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
Twinaphex cc9e951b44 Cleanup 2017-05-11 07:37:20 +02:00
twinaphex 2906bec7a8 Create input_driver_get_uint 2017-05-11 07:36:21 +02:00
twinaphex 9a6e137a56 Get rid of header include 2017-05-10 07:10:05 +02:00
twinaphex ef8094836f Create input_driver_get_float 2017-05-10 07:07:06 +02:00
twinaphex f928e57064 Combine video_context_driver.c and video_driver.c 2017-05-09 01:25:59 +02:00
twinaphex bac9973354 Cleanups 2017-05-09 00:58:01 +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 d9c5013d42 Pass settings struct around 2017-05-06 06:46:48 +02:00
twinaphex 6d4ac23f26 Cleanup 2017-04-29 16:20:26 +02:00
twinaphex ac7f1cc5e2 C89_BUILD buildfix 2017-04-29 14:06:08 +02:00
twinaphex 969403fadb Header include cleanups 2017-04-29 13:20:50 +02:00
twinaphex e6ab06a701 Move path variables 2017-04-29 00:39:29 +02:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
twinaphex 67ab87669f Update 2017-04-28 21:20:00 +02:00
twinaphex 05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex fa9b641ef0 (Android) Buildfix 2017-04-28 15:53:38 +02:00
twinaphex 7b9c146ae9 (iOS) Buildfix 2017-04-28 15:04:00 +02:00
twinaphex 0da40fb3aa Move all float settings 2017-04-28 14:57:55 +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 eb34553fae Cleanup 2017-04-27 21:40:31 +02:00
twinaphex b9f110679a Remove unused variable 2017-04-27 21:38:39 +02:00
twinaphex 1bf7cbccbe input_device_names no longer part of settings struct 2017-04-27 21:35:46 +02:00
Francisco José García García be87a8cdc7 [VITA] Fixing PSTV controls 2017-04-26 22:26:41 +02:00
twinaphex 549ed6fc6b (Android) Buildfix 2017-04-26 15:43:16 +02:00
Twinaphex c51e4397b0 remove unused variable 2017-04-26 03:00:21 +02:00
twinaphex 3dc26db377 Simplify libretro_input_binds 2017-04-26 02:43:39 +02:00
twinaphex 58fcf421b5 Simplify input_poll 2017-04-26 02:35:41 +02:00
twinaphex e179108080 Cleanups 2017-04-26 00:24:59 +02:00
twinaphex a146dfee79 Use input_config_binds directly 2017-04-25 23:47:23 +02:00
twinaphex 33dda78ea8 Cleanups 2017-04-25 23:32:38 +02:00
twinaphex fc5d240297 Get rid of some now-unused functions 2017-04-25 23:30:50 +02:00
twinaphex f0eaef9d51 Cleanups 2017-04-25 22:14:56 +02:00
twinaphex 3087ceb482 Don't go through all these slow wrapper functions 2017-04-25 20:47:21 +02:00
twinaphex 5f9f43929a Turn settings->input.binds into static struct inside input_config.c 2017-04-25 18:54:01 +02:00
twinaphex 53c9acacd6 Wrap access to settings->input.binds completely 2017-04-25 18:50:49 +02:00
twinaphex c68c8a8cfe Rewrite this 2017-04-25 18:48:06 +02:00
twinaphex 87f05b3a7b Cleanups 2017-04-25 18:32:08 +02:00
twinaphex 8d0e3d7777 Wrap settings->input.binds 2017-04-25 18:27:18 +02:00
twinaphex 4845c4b4db Cleanup 2017-04-25 18:20:10 +02:00
twinaphex 3b3b008614 Move code to input_config_reset 2017-04-25 18:18:37 +02:00
twinaphex d66aff8fbd Start wrapping settings->input.binds 2017-04-25 18:12:13 +02:00
twinaphex e1e83b17b7 Wrap settings->input.libretro_device 2017-04-25 17:14:46 +02:00
twinaphex c871faa1f5 Move pid/vid arrays out of settings struct and move them
to input_config
2017-04-25 16:49:54 +02:00
twinaphex 6ace8ce66a Rewrite autoconf_binds and move it to task_autodetect.c - take
it out of the settings struct
2017-04-25 16:33:30 +02:00
twinaphex 20ed6eb90a Start using input_config_get_device_name 2017-04-25 16:04:28 +02:00
twinaphex f4b168f9b6 Call functions from task_autodetect.c 2017-04-25 15:53:30 +02:00
twinaphex 1c93cc4b18 Update logs 2017-04-23 12:00:49 +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 271edb4ca1 We don't want uppercase for these instances 2017-04-21 14:26:35 +02:00
twinaphex d1664481c2 Don't call input_remote_state unless pointer is non-NULL 2017-04-20 10:57:09 +02:00
twinaphex 69a3bf6a31 Create bsv_movie_is_playback_{on|off} 2017-04-20 10:40:11 +02:00
twinaphex f4071ba6ec Set axis_threshold 2017-04-18 05:11:44 +02:00
radius d70d04c473 improve shield portable hack 2017-04-16 16:48:37 -05:00
twinaphex 7f4b490fdb Prevent implicit memsets with struct video_viewport 2017-04-15 19:43:52 +02:00
Tatsuya79 5649f084e3 Make mouse relative again. 2017-03-31 17:28:49 +02:00
Jean-André Santoni 0b05fdf0b5 (Input) Fix shift release in xkb 2017-03-13 00:52:42 +01:00
twinaphex 58c08c0c02 Cleanups 2017-02-27 09:33:20 +01:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
Twinaphex aa2e7dc794 Silence warning 2017-02-26 03:53:05 +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
twinaphex 75188800b1 Use C comments 2017-02-19 04:37:40 +01:00
Diablodiab 2cbd1898e8 Android input driver mouse support fixes:
- Fix bug with cursor moving down to the right
- Remove handling of "copy" and "thread" input states simplifying the driver
2017-02-19 02:57:28 +01:00
Diablodiab 47d5242dd7 Add middle mouse button support to Android input driver
Add lightgun support to Android input driver
2017-02-16 21:52:52 +01:00
Diablodiab 4f039cac22 This adds external mouse support to the Android input driver. It also adds support for using the touch screen as mouse in cores with mouse support (eg. ScummVM).
It has been tested with the ScummVM core on:
- NVIDIA Shield TV running Android Nougat 7.0
- NVIDIA Shield Tablet running Android Nougat 7.0
- NVIDIA Shield Tablet running Android Lollipop 5.1
- Huawei Honor 7 running Android Marshmallow 6.0
- HTC Desire 500 running Android Jelly Bean 4.1

It's been tested using the touch screen, a USB mouse/keyboard combo, and a bluetooth mouse.

The Android version running on the device limits the functionality and user experience of the external mouse support.
Android Nougat and/or an NVIDIA SHIELD device with NVIDIA extensions provides the best user experience:

Android API < 14:
- Only left mouse button supported
- The Android mouse cursor will be visible along with the in game mouse cursor
- When the Android mouse cursor hits the edge of the screen it will not be possible to move the in-game mouse cursor further in that direction

Android API < 24 and no NVIDIA extensions available:
- Both left and right mouse buttons supported
- The Android mouse cursor will be visible along with the in game mouse cursor
- When the Android mouse cursor hits the edge of the screen it will not be possible to move the in-game mouse cursor further in that direction

Android API > 23 and/or NVIDIA extensions available (SHIELD devices):
- Both left and right mouse buttons supported
- The Android mouse cursor will be hidden
- The mouse is not limited by the (hidden) Android mouse cursor hitting the edge of the screen

Description of how the the touchscreen mouse support works:
- You can move the in-game mouse cursor using the touch screen. The in-game mouse cursor will move relative to your movements on the touch screen, it will not be centered on where you press the screen.
- One quick tap on the touch screen results in the left mouse button being clicked
- Two taps on the screen and keeping the second tap pressed down results in a left mouse being held down until you release
- Two fingers on the touch screen results in the right mouse button being clicked

The touch screen mouse functionality is active at the same time as overlay support. This might cause some confusion when using cores that are designed for mouse support but where you have also enabled overlay controls. At the top of android_input.c there's a define that can be used to turn off this functionality if it causes more problems than it solves.
2017-02-14 22:34:46 +01:00
xhp-creations b04bf809e3 WiiU Fix Keyboard Input
WiiU Fix Keyboard Input
2017-02-09 14:08:27 -05:00
xhp-creations 4915f452f5 WiiU Initial Keyboard Support
WiiU Initial Keyboard Support
2017-02-09 12:34:12 -05:00
Brad Parker 83619b25e6 DOS: add keyboard driver to support non-joypad keys 2017-02-05 13:55:21 -05:00
twinaphex e3a1b1859d Fix ./configure --disable-rgui 2017-02-04 09:20:41 +01:00
twinaphex f31ae11d29 Silence warnings 2017-01-31 04:00:16 +01:00
aliaspider ffbd1e838a (3DS) build fix. 2017-01-31 03:27:26 +01:00
neville fc2654cd0f (iohidmanager_hid.c) Silence a whole bunch of warnings 2017-01-29 20:20:43 +01:00
twinaphex 1b3225089e iohidmanager.c - Attempt to silence some warnings 2017-01-29 20:11:32 +01: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
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 0761381e2a Fix overlay issue 2017-01-23 02:45:36 +01:00
twinaphex daf0e90f82 input_driver.c - cleanup 2017-01-23 02:28:25 +01:00
twinaphex 3a711f6d4f Make conditional for polling the same as input_state 2017-01-23 01:46:33 +01:00
twinaphex 18662afe56 input_poll - cleanup 2017-01-23 01:44:13 +01:00
twinaphex a42f66d629 Streamline input_state - hopefully turbo buttons still work 2017-01-23 01:18:08 +01:00
twinaphex 0d5b3b9273 Create menu_driver_is_alive 2017-01-23 00:37:52 +01:00
twinaphex 12c5cc51c5 Create bsv_movie_get_input 2017-01-22 17:03:42 +01:00
twinaphex 5bc611c885 Small cleanup 2017-01-22 16:54:33 +01:00
twinaphex a9a3f6b078 Another cleanup 2017-01-22 16:49:08 +01:00
twinaphex c283d2cf26 Small micro-opts to input_state 2017-01-22 16:44:34 +01:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
Brad Parker 1d3e1a6962 DOS/DJGPP buildfix 2017-01-20 18:23:45 -05:00
twinaphex aa59b33931 Use input_config_set_device 2017-01-17 19:59:33 +01:00
twinaphex b4cdad1a6f Cleanups 2017-01-17 19:43:19 +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
Twinaphex 014ed5e87f Merge pull request #4441 from aliaspider/master
(WiiU) simplify input code + fix crash on content reload.
2017-01-17 13:16:56 +01:00
aliaspider 14660a8c12 (WiiU) simplify input code, add button labels for autoconfigs. 2017-01-17 12:41:55 +01:00
twinaphex d519ad7017 (input_config.c) Move variable 2017-01-16 21:36:04 +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 77cf4f4e06 This should fix index issue 2017-01-16 16:09:40 +01:00
twinaphex 6eac6a6447 joy_idx goes through joypad_map now 2017-01-16 15:20:14 +01:00
twinaphex e3e8796b2b (iohidmanager_hid.c) Stylistic cleanups 2017-01-15 21:13:01 +01:00
Twinaphex 1544a3d6e1 (OSX) Fix warnings 2017-01-15 21:07:15 +01:00
John Regan 4f352227ea OSX Joypad Improvements
This commit has two main changes to the OSX HID driver:

1.

Some joysticks have invalid/incorrect 'use' assigned to buttons and
axes. For example, my RetroUSB.com Genesis Retroport reports 8 buttons,
but they're reported as 1, 2, 3, 4, 1, 2, 3, 4, and my RetroLink
Gamecube-clone controller reports 2 axes with id 50.

OSX assigns each of these elements a unique cookie value, so it's still
possible to uniquely identify a button. Whenever a controller is
connected, the driver scans for all buttons and axes. When it identifies
a duplicate 'use' id, it reassigns it a new ID.

Whenever the input callback is called, it grabs the cookie value,
finds the input element with a matching cookie, and uses that element's
id instead of the one reported by the device.

The old joystick configs should not be broken by this - I'm using the
existing 'use' value wherever possible, and only changing it when it's
broken.

The 'faked' ids are done in a deterministic way, a joystick will never
have a button's 'faked' id change between launches of RetroArch.

2.

This enables HAT switch input.
2017-01-15 12:17:47 -06:00
Aaron Kling 8a2585f8dc Handle motion events if source is touchscreen or mouse regardless
of other sources being set.

API level 9 doesn't support stylus, but still needs to be handled.
Current code throws out additional sources that it doesn't
recognize. This instead ignores whether other sources are set.
2017-01-13 18:37:50 -06:00
twinaphex 6ed4de0d79 Create input_config_get_device_name 2017-01-13 16:02:10 +01:00
twinaphex 8b0127b122 (input_keyboard.c) Remove dependence on configuration.h header 2017-01-13 15:56:17 +01:00
twinaphex 17ff813310 (input_joypad_driver.c) reduce header dependencies on configuration.h 2017-01-13 15:53:14 +01:00
twinaphex 4ebf4d6938 Create input_config_get_bind_idx 2017-01-13 15:42:30 +01:00
twinaphex 0387e5e470 (input_keyboard.c) Cleanup 2017-01-13 15:26:40 +01:00
twinaphex f9dbd4dc02 Remove config_label_to_key 2017-01-13 15:24:54 +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 b2ad5274b3 Cleanups/style nits 2017-01-12 09:01:07 +01:00
twinaphex 640c9aa824 Get rid of ifdef 2017-01-12 08:55:46 +01:00
Twinaphex c5d1fe9ec5 Cleanup 2017-01-12 07:36:52 +01:00
twinaphex 404e60f7ed Initialize all users' binds 2017-01-11 23:37:01 +01:00
twinaphex 73a5e54ca8 Initialize libretro_input_binds inside input_driver_init 2017-01-11 23:32:33 +01:00
twinaphex ca5bdab881 Rename get_state_menu_toggle_button_combo 2017-01-11 20:29:31 +01:00
twinaphex 640d7e69f3 Make menu toggle binds work again - still latching issues
but same as before so no regression
2017-01-11 11:48:26 +01:00
twinaphex b45c96cc18 (WiiU) Buildfix 2017-01-11 08:24:55 +01:00
twinaphex 819f7c1e41 Get rid of input_keys_pressed_end macro 2017-01-11 07:31:37 +01:00
twinaphex c79da6842e Found a better and clenaer way to flush input 2017-01-11 07:31:09 +01:00
twinaphex d0df067e84 Ignore 'unified controls' when OSK keyboard is onscreen even
when unified controls are enabled
2017-01-11 06:05:21 +01:00
twinaphex 899601e7bb Do an early return inside menu_shader_manager_init if already initialized 2017-01-11 03:36:35 +01:00
twinaphex 9daf16ee55 Fix crash at startup when enable_hotkey is mapped 2017-01-11 03:23:47 +01:00
twinaphex 4f4af01349 Fix keyboard issues with OSK 2017-01-11 02:17:03 +01:00
twinaphex 997fa98887 Style nit 2017-01-11 00:00:24 +01:00
twinaphex 5b15119f06 (PSP) Buildfix 2017-01-10 22:48:39 +01:00
twinaphex cd105e7432 (CTR) Buildfix 2017-01-10 22:45:53 +01:00
twinaphex 6b5bf1ccc3 (wiiu_input.c) Fix build 2017-01-10 22:44:44 +01:00
twinaphex 2ed1e38021 dinput.c - silence warning 2017-01-10 20:11:51 +01:00
twinaphex 5978cf89de Cleanups 2017-01-10 20:05:53 +01:00
twinaphex 1eb17b6315 Remove settings header includes 2017-01-10 20:03:55 +01:00
twinaphex f3de77e93c (dinput.c) remove dependency on settings struct 2017-01-10 20:00:07 +01:00
twinaphex da244c177b Fix signed/unsigned mismatch warning 2017-01-10 19:49:00 +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 db6fba51c3 Cleanup dinput.c 2017-01-10 17:42:57 +01:00
twinaphex d48141041d Pass joypad_info to input_state function callback - less
settings pointer grabbing
2017-01-10 17:40:21 +01:00
twinaphex da4d2a9f42 Remove conditionals for device JOYPAD from input_state callback functions 2017-01-10 17:05:04 +01:00
twinaphex b44b025eab Do conditional checking (if bind is valid) outside of input_state
callback function
2017-01-10 17:00:01 +01:00
twinaphex 08a2acdc95 Update input_keys_pressed_checks 2017-01-10 16:51:35 +01:00
twinaphex baf351e1ee CLeanup input_menu_keys_pressed_internal 2017-01-10 16:34:55 +01:00
twinaphex 98a346db2d Cleanup input_menu_keys_pressed_internal 2017-01-10 16:29:16 +01:00
twinaphex f26fbbef83 (input_driver.c) Move settings variable 2017-01-10 16:17:34 +01:00
twinaphex 0e487e0acd Create input_keys_pressed_end 2017-01-10 16:15:20 +01:00
twinaphex 22b86226f8 Fix warnings 2017-01-10 16:14:49 +01:00
twinaphex 91e572d7ef Create input_keys_pressed_checks macro 2017-01-10 16:08:31 +01:00
twinaphex 466d5fd531 (input_driver.c) Cleanups 2017-01-10 16:03:25 +01:00
twinaphex b94c4eec2b (input_driver.c) Cleanups 2017-01-10 16:00:20 +01:00
twinaphex b9945f05f1 Pass joypad_info to input_joypad_analog 2017-01-10 03:53:57 +01:00
twinaphex 6376f2af68 Add rarch_joypad_info_t 2017-01-10 03:44:53 +01:00
Josh Palmer 437734e407 Rewrite QNX input & joypad drivers for proper BB10.3.1 support 2017-01-09 20:26:09 +00:00
Josh Palmer 8672b88eff First round of momentics project fixups 2017-01-09 20:24:51 +00:00
twinaphex 485385be80 Cleanups 2017-01-09 02:13:16 +01:00
twinaphex 42686f2f81 (input_overlay.c) remove bunch of header includes 2017-01-09 01:51:30 +01:00
twinaphex e75633064a Add 'Y button' callback function for input binds 2017-01-05 04:52:04 +01:00
twinaphex 5bb741ffda (input) Cleanups/nits 2017-01-03 04:55:37 +01:00
twinaphex 4e3c2b3e66 (PSP/Vita) Buildfix 2017-01-02 02:39:15 +01:00
Alcaro 7b8a5b4f5b error: invalid conversion from ‘int’ to ‘xkb_keymap_compile_flags’ 2017-01-02 02:17:32 +01:00
twinaphex 92ca53db01 No more usage of settings_t inside input_overlay.c 2017-01-01 04:57:57 +01:00
twinaphex 36a6abede7 (input_overlay.c) Cleanup 2017-01-01 04:31:22 +01:00
twinaphex 46080f2194 (input_overlay.c) Cleanup 2017-01-01 04:28:25 +01:00
twinaphex d84b75e1de (input_overlay.c) Cleanups 2017-01-01 04:26:21 +01:00
twinaphex 8d8fab60f9 input_overlay.c - cleanups 2017-01-01 04:21:29 +01:00
twinaphex 0ec6ef75df Move early return check to input_driver.c 2017-01-01 04:17:58 +01:00
twinaphex 6d4659a902 (overlay) Reduce dependence on grabbing settings pointer everywhere 2017-01-01 04:12:24 +01:00
twinaphex 103042de96 Rewrite task_autodetect.c 2016-12-31 07:43:34 +01:00
radius af02b3ac85 Allow builtin autoconfs with the XBONE controller 2016-12-25 21:03:04 -05:00
twinaphex 66f189dff6 (wiiusb_hid.c) Prevent crashes 2016-12-26 00:38:54 +01:00
twinaphex a5e4ea2f33 C89_BUILD fix 2016-12-24 01:47:01 +01:00
twinaphex 87e5c5a1bd input_menu_keys_pressed - remove some more boilerplate code 2016-12-23 02:28:13 +01:00
twinaphex af5aaa9db8 Cleanup boilerplate code in input_menu_keys_pressed 2016-12-23 02:22:47 +01:00
twinaphex 32e1f96fa1 (PS3) Fix gamepad 2016-12-21 22:27:37 +01:00
twinaphex 8dcf05036c (input_config.c) Get rid of implicit memset 2016-12-19 18:55:02 +01:00
Gregor Richards 262d77546b Adding game/watch key
Adding a key to toggle between playing and spectating. This key takes
the place of the previous flip key, although player flipping does
continue to work (and must be rebound if you still want it)
2016-12-18 19:28:42 -05:00
radius ab56b5f33c differentiate xbox one controllers 2016-12-18 13:44:15 -05:00
Hans-Kristian Arntzen 313ac63c33 Make use of xkb_state_update_mask.
Fixes mod keys in Wayland it seems.
2016-12-17 20:42:48 +01:00
Hans-Kristian Arntzen b2059dcb79 Implement basic Wayland keyboard and mouse. 2016-12-17 20:28:08 +01:00
twinaphex feae0823ce Prevent some implicit memsets 2016-12-17 14:40:06 +01: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 db1f3c058a (iohidmanager_hid.c) No longer need to include configuration.h now 2016-12-16 12:36:01 +01:00
twinaphex d9def056e7 The 'connect' task now sets the device name upon completion 2016-12-16 12:33:56 +01:00
twinaphex 62f5b2d3c3 The disconnect task now clears the device name 2016-12-16 12:20:31 +01:00
Twinaphex 5c522c643c Merge pull request #4254 from danzel/fix-joypad-connection
Fix joypad_connection handling of unknown controllers
2016-12-16 12:15:40 +01:00
Dave Leaver cd5a5c5fd7 iohidmanager_hid: Remove name from adapters when they are disconnected 2016-12-16 20:17:24 +13:00
Dave Leaver f7c6574b37 Correctly handle adding controllers if we fail to match them to the known pad_map. 2016-12-16 20:16:55 +13:00
twinaphex 45e841c5c5 Don't include config_file.h inside input_config.h 2016-12-15 11:17:48 +01:00
Twinaphex 4964791cde Revert "changed input binding order" 2016-12-11 19:00:03 +01:00
Patrick Scheurenbrand d40a0e2f3a changed input binding order 2016-12-11 13:03:02 +01:00
twinaphex 15c63c3de9 (input_driver.c) Cleanups 2016-12-11 09:13:24 +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 b087a7441a Fix game focus toggle 2016-12-11 03:52: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
twinaphex dc7549434f Add headers 2016-12-07 08:10:02 +01:00
twinaphex a12d0d082d Move input_translate_coord_viewport to video_driver.c 2016-12-07 08:07:11 +01:00
twinaphex 7327e98c8a Add HAVE_XINPUT ifdef 2016-12-07 07:08:27 +01:00
twinaphex d04309fc05 Buildfix 2016-12-07 06:16:12 +01:00
twinaphex 31a7f64f2c Cleanups 2016-12-07 05:41:08 +01:00
twinaphex f6dcfd21cf (MSVC) MSVC build fixes 2016-12-07 05:39:27 +01:00
twinaphex e3620278a8 Add HAVE_MENU ifdefs for menu code 2016-12-07 03:16:34 +01:00
twinaphex 4b1c24adf9 - Move input flushing hack to input_keys_pressed functions
- Move menu binding state hack to menu_input_keys_pressed
2016-12-06 20:50:29 +01:00
twinaphex 77df0ef3ae Rebase input_key_pressed/input_menu_keys_pressed 2016-12-06 18:12:35 +01:00
Adriano Moura 6b99eeaf88 Implements a hotkey for toggling mouse grabbing, hiding and hotkey blocking. Usefull for playing tyrquake with kb/m. 2016-12-06 03:32:28 -02:00
Adriano Moura 21eb2fd71f Just an attempt at trying to fix x11 keyboard events. Allows you to play tyrquake with a kb on linux. 2016-12-06 03:32:10 -02:00
Adriano Moura 4434bd221a Fixes an issue where mouse is only sampled half the time.
Very obvious when aiming with a mouse like in tyrquake.
2016-12-06 03:31:21 -02:00
twinaphex b7ea2306af Remove unused input_driver_unset_hotkey_block 2016-12-05 05:40:51 +01:00
twinaphex ecbfc7fd8a (input_driver.c) Cleanups 2016-12-05 05:34:38 +01:00
twinaphex 2ba311274e Simplify input_translate_coord_viewport 2016-12-05 05:18:36 +01:00
twinaphex 6e28aa30bb Simplifications 2016-12-04 22:23:27 +01:00
twinaphex a762dbcdfb Simplify input_poll 2016-12-04 22:22:00 +01:00
twinaphex bbbcc97f57 Simplify input_push_analog_dpad 2016-12-04 22:20:47 +01:00
twinaphex 6cdb823bb4 Turn input_push_analog_dpad into macro 2016-12-04 21:37:47 +01:00
twinaphex 85aa88f665 Simplify input_push_analog_dpad 2016-12-04 21:30:50 +01:00
twinaphex 185925cf3a Update input_pop_analog_pads 2016-12-04 21:08:49 +01:00
twinaphex c19a6dd018 Turn input_pop_analog_dpad into macro 2016-12-04 20:23:52 +01:00
twinaphex 59c317dc1d Pass pointers to input_push_analog_dpad 2016-12-04 20:20:35 +01:00
twinaphex 0fdb8881cb Pass pointer variables to input_pop_analog_dpad 2016-12-04 20:17:55 +01:00
twinaphex 1c21c001c6 Cleanups 2016-12-04 19:52:52 +01:00
Brad Parker e39031cbd0 revert rest of unicode changes 2016-12-03 00:15:29 -05:00
Brad Parker f725b48555 starting to revert unicode changes 2016-12-03 00:15:29 -05:00
twinaphex d36e7700f7 (input_driver.c) Style nits 2016-12-03 06:14:57 +01: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 d891f1c90b remove explicit unicode def/undefs 2016-12-02 14:34:29 -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 d3151927bf (Emscripten) Buildfix 2016-12-02 17:41:44 +01:00
twinaphex 021559a877 Get rid of runloop.h dependencies inside input/ dir 2016-12-02 06:07:45 +01:00
twinaphex dd5736b273 Turn check_input_driver_block_hotkey into macro 2016-12-02 05:26:37 +01:00
twinaphex 70557fdee6 (Wii) Buildfix 2016-12-02 00:24:54 +01:00
twinaphex 779b680264 (Android) Buildfix 2016-12-01 23:05:36 +01:00
Twinaphex 0d79bc754c (OSX) Buildfix 2016-12-01 22:51:46 +01:00
twinaphex 5fdb5b4dcf Updates 2016-12-01 22:24:17 +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 0bd94b9b54 Move extern variable prototype to input_autodetect.c 2016-12-01 20:26:35 +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 a692b5953f Put parentheses around conditionals 2016-12-01 18:38:11 +01:00
twinaphex a485f1559d Move static bool variable 2016-12-01 18:36:50 +01:00
twinaphex 71ea15fed2 Use string_is_empty 2016-12-01 18:35:30 +01:00
Brad Parker ba54f20626 initial libcaca video driver 2016-12-01 12:13:45 -05: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 a9e627ca57 (udev_input.c) Rename static function 2016-12-01 17:33:41 +01:00
twinaphex 31a95b8972 (android_input.c) Get rid of HAVE_MENU ifdefs 2016-12-01 17:31:26 +01:00
twinaphex 200be98052 (udev_input.c) use udev_common.c 2016-12-01 16:51:43 +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 9afa24ea70 Reuse udev_common.c function 2016-12-01 15:05:17 +01:00
twinaphex 63ae172a23 Add udev_common.c/.h 2016-12-01 15:02:42 +01:00
twinaphex a726fc2d8e Further cleanups 2016-12-01 04:12:56 +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 bd53c33069 Move input_get_auto_bind to input_config.c 2016-12-01 03:43:51 +01:00
twinaphex c351aed001 (input_driver.c) Cleanups 2016-12-01 03:38:25 +01:00
twinaphex 5337e494c6 More small cleanups 2016-12-01 03:01:32 +01:00
twinaphex e6eeb8e559 Simplify check_input_driver_block_hotkey 2016-12-01 03:01:32 +01:00
Brad Parker 3ac51389bb dinput: catch null pointer 2016-11-30 02:07:29 -05: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
Twinaphex 17dc79a002 Buildfixes/silence unused variable warnings 2016-11-30 04:32:59 +01:00
Brad Parker 367dea6723 unicode-ify a couple other windows files, start changing function names to W version explicitly 2016-11-29 20:32:24 -05:00
twinaphex 42a3ec2cf7 Do conditional check before calling function 2016-11-27 15:43:00 +01:00
twinaphex 44131ff639 (input_overlay.c) Prevent crashes 2016-11-27 15:34:19 +01:00
twinaphex 4e8bb52038 (input_overlay.c) Remove more hacks 2016-11-27 15:21:53 +01:00
twinaphex 267fdbe21e (input_overlay.c) remove more hacks 2016-11-27 15:17:44 +01:00
twinaphex 7f339a8f84 More hacks from input_overlay.c removed 2016-11-27 15:12:48 +01:00
twinaphex bbb2ffea9c Remove nasty input overlay hack for input_overlay_set_scale_factor 2016-11-27 15:10:09 +01:00
twinaphex e9846aae68 (Android) Remove unused variables 2016-11-27 15:02:14 +01:00
twinaphex 1ab6cc5b47 Remove dead OSK code 2016-11-27 02:52:13 +01:00
twinaphex 80798ab924 Remove hacky 'OSK Keyboard' overlay 2016-11-27 02:46:09 +01:00
twinaphex 21e9bde569 Silence warning 2016-11-21 15:00:57 +01:00
twinaphex 95254aa79b Remove 'back as menu toggle' setting 2016-11-21 13:05:23 +01:00
radius 281aa1df72 this is redundant now, remap files should only be used for.. remaps 2016-11-20 12:50:54 -05:00
twinaphex 1df7b924bf Merge branch 'master' of https://github.com/libretro/RetroArch 2016-11-20 13:37:16 +01:00
twinaphex 0a42940332 (Menu keyboard) Implement pageup/pagedown 2016-11-20 13:36:57 +01:00
radius 53ab0cdb55 add menu setting and fix for keyboard 2016-11-19 13:48:24 -05:00
radius f343bc45fb remove these settings that we never properly implemented 2016-11-19 12:57:12 -05: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
twinaphex d4b4cd92bb Translate string 2016-11-08 01:17:10 +01:00
Brad Parker c9727f735b update JP translation, add 2 new translatable strings 2016-11-07 17:28:26 -05: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 cfa01f623d input_remapping_state - remove function and inline inside input_driver.c
input_state function
2016-11-06 15:42:26 +01:00
Alcaro dd9a810451 This warning doesn't need to be here 2016-11-06 12:02:37 +01:00
Twinaphex 92b3a24943 Merge pull request #3940 from aliaspider/master
(WIIU) GX2
2016-11-05 15:07:31 +01:00
aliaspider 0433cae3c9 (WIIU) misc. 2016-11-05 15:01:43 +01:00
twinaphex dad26e0956 Header cleanup 2016-11-05 14:10:30 +01:00
twinaphex c35d723b40 Fix C89_BUILD 2016-11-04 14:29:02 +01:00
twinaphex 5db3f4528d (input_keyboard.c) Cleanups 2016-11-03 23:10:42 +01:00
aliaspider 176dd79f33 (WIIU) misc. 2016-11-02 22:06:15 +01:00
Brad Parker f5cac72735 fix backspacing of unicode chars in OSK 2016-11-02 16:16:04 +01:00
twinaphex 04e3059f7f Remove unused variable 2016-11-02 14:17:22 +01:00
twinaphex 2091c4cc2f (Menu) Left analog stick controls the menu now 2016-11-02 13:44:34 +01:00
twinaphex 4945075201 Prevent warning 2016-10-31 08:00:57 +01:00
Brad Parker 18cce4cfc9 fix OSK hang in Windows because we are getting a down event for keycode 0... 2016-10-30 01:14:50 -04:00
twinaphex 696abbed83 C89_BUILD fix 2016-10-30 03:30:32 +01:00
twinaphex 950e67b8a2 Use BIT64_SET 2016-10-30 02:58:26 +01:00
Brad Parker 1a73b1d144 OSK cleanup, add katakana support 2016-10-29 19:51:02 -04:00
Jean-André Santoni 01985c7460 OSK memory fix and hiragana support 2016-10-29 23:54:06 +02:00
Jean-André Santoni 97e13c4409 Preliminary changes for the utf8 OSK 2016-10-29 22:43:34 +02:00
twinaphex 21c7f562f7 Optimize input code 2016-10-29 15:53:14 +02:00
twinaphex 3d91e4087f input_keys_pressed - get rid of early return 2016-10-29 15:37:28 +02:00
twinaphex 9926686c83 Get rid of hardcoded MAX_USERS 2016-10-29 08:44:01 +02:00
Brad Parker 3354c07810 fix joypad A button in OSK 2016-10-28 23:47:17 -04:00
twinaphex 763a925a17 Fix Android build 2016-10-29 04:59:56 +02:00
twinaphex ce98a4dd19 Get rid of now unused input_driver_key_pressed 2016-10-29 04:57:28 +02:00
twinaphex 0d5d3b27be No longer use key_pressed 2016-10-29 04:48:51 +02:00
twinaphex f1b2caa138 Rewrite input_keys_pressed 2016-10-29 04:41:45 +02:00
twinaphex 9eecd774d1 input_menu_keys_pressed - second joypad driver should be
working now too
2016-10-29 04:33:57 +02:00
twinaphex 93af926f76 Cleanups 2016-10-29 04:09:50 +02:00
Twinaphex d231642856 Merge pull request #3888 from libretro/menu_input
Menu input
2016-10-29 04:05:30 +02: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
twinaphex 5d90b774da Fixes remaining input issues courtesy of bparker 2016-10-29 04:00:36 +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
radius 6a950526d5 add group for other android atv devices 2016-10-28 20:49:44 -05:00
radius a900bc41a8 fix l3/r3 2016-10-28 20:05:38 -05:00
radius cb2e78e46d add android standard gamepad builtin autoconf 2016-10-28 18:15:24 -05:00
Twinaphex 535215eefa Merge pull request #3879 from libretro/master
Merge
2016-10-28 07:44:10 +02:00
Twinaphex 453155ade3 Merge pull request #3877 from aliaspider/master
(WIIU) update.
2016-10-28 01:53:43 +02:00
Twinaphex 7e5ee4f86c Prevent uninitialied variable 2016-10-27 21:47:15 +02:00
Brad Parker d1d5584d18 update copyright 2016-10-27 11:47:10 -04:00
aliaspider 185849d5ff (WIIU) add frontend driver, allocate mem2 2016-10-27 15:33:40 +01:00
twinaphex 1b6e7da2ce Merge branch 'menu_input' 2016-10-27 10:54:49 +02:00
twinaphex 6310f53587 Prevent some implicit memsets and reduce the size of some
char variables
2016-10-27 10:45:53 +02:00
twinaphex c1b59df7ae Reduce size of char variables 2016-10-27 09:32:07 +02:00
twinaphex 60d313bf6a Reduce size of more char variables 2016-10-27 09:21:03 +02:00
twinaphex b1b2579fde Start reducing size of some char variables 2016-10-27 09:17:41 +02:00
twinaphex 8d6be4b700 Reduce size of some messages (was PATH_MAX_LENGTH by default,
which can default to 4096)
2016-10-27 09:13:36 +02:00
twinaphex 53ad28ffde Backport this patch 2016-10-27 07:03:37 +02:00
twinaphex d246d320c7 Get rid of messy 'all_users_control_menu' hack - will be dealt
with better once menu_input branch has been merged
2016-10-27 07:00:13 +02:00
twinaphex 65685c3a9d Update input_menu_keys_pressed 2016-10-27 06:55:08 +02:00
twinaphex 2a0dba3009 Move all_users_control_menu code to input/input_driver.c 2016-10-27 06:53:06 +02:00
twinaphex 660f021dbc Simplify input_menu_keys_pressed 2016-10-27 06:49:18 +02:00
twinaphex 5ac9905540 Simplify code 2016-10-27 06:47:31 +02:00
twinaphex f778bee856 Add input_menu_keys_pressed to master 2016-10-27 06:38:02 +02:00
twinaphex 8f30b3e706 Update menu_keys_pressed 2016-10-27 06:34:53 +02:00
Twinaphex 2cd82ff2c2 Merge pull request #3870 from libretro/master
Merge
2016-10-27 04:49:46 +02:00
twinaphex b9909bf5ba Add CONFIG_BIND_ALT 2016-10-27 04:03:24 +02:00
aliaspider a4d745a471 preliminary port to the wiiu platform 2016-10-27 01:34:10 +01:00
Twinaphex d1c04ad711 Merge pull request #3868 from libretro/master
Prevent more potential crashes
2016-10-27 01:24:15 +02:00
twinaphex 5fc6519328 Prevent more potential crashes 2016-10-27 01:21:01 +02:00
twinaphex a9a2749af9 Add input_menu_keys_pressed 2016-10-27 00:13:29 +02:00
Twinaphex 26547be5ed Try to prevent another crash 2016-10-26 23:05:14 +02:00
Twinaphex 90fbc09f82 Fix remaining crash on OSX 2016-10-26 10:34:24 +02:00
twinaphex 8ce882c829 Should hopefully fix most of the remaining issues 2016-10-26 10:29:26 +02:00
twinaphex d6901685f7 Prevent crash with udev driver 2016-10-26 10:21:56 +02:00
twinaphex 858f96d082 Try to prevent crashes when amount of selected users is less
than what a core can support
2016-10-26 10:19:22 +02:00
twinaphex 948b206b60 Get rid of using hardcoded labels 2016-10-25 19:50:03 +02:00
Brad Parker c70ac3986c make input hotkey/user bind strings translatable 2016-10-24 18:22:53 -04:00
twinaphex 2663d8e694 (input_keyboard.c) Simplify code 2016-10-24 07:09:50 +02:00
twinaphex f17080091b Simplify input_keyboard_event 2016-10-24 07:06:59 +02:00
twinaphex 5ea2078638 Attempt buildfix 2016-10-24 06:40:09 +02:00
twinaphex 7a18b053c4 C89_BUILD fixes 2016-10-24 05:57:13 +02:00
twinaphex 3702fde113 Simplify some input/video functions 2016-10-24 03:05:55 +02:00
twinaphex 294f54ebf0 Cleanup udev_pointer_state 2016-10-24 02:47:29 +02:00
twinaphex d5d49e602c Cleanup input_joypad_analog 2016-10-23 21:59:53 +02:00
twinaphex b0ed69f05c Optimize android_keyboard_port_input_pressed 2016-10-23 20:43:14 +02:00
twinaphex 57457c2d70 Optimize apple_input_is_pressed 2016-10-23 20:42:09 +02:00
twinaphex 647ffca76c Optimize input_joypad_pressed code 2016-10-23 20:37:12 +02:00
twinaphex 2f12d8982c input_joypad_pressed - small opts 2016-10-23 20:08:27 +02:00
twinaphex 8cc5b09428 Get rid of slow wrapper function input_driver_state 2016-10-23 04:38:08 +02:00
twinaphex f03e22b003 Revert "Do away with some NULL checks"
This reverts commit 07d86a7feb.
2016-10-22 17:45:14 +02:00
twinaphex 07d86a7feb Do away with some NULL checks 2016-10-22 17:31:20 +02:00
twinaphex d24c1a280d input_poll - avoid function call 2016-10-22 17:29:19 +02:00
twinaphex 671f9cc8cc retro_input_t can go now 2016-10-22 17:03:59 +02:00
twinaphex e2b16a1f15 Use straight uint64_t types for input states 2016-10-22 17:03:20 +02:00
twinaphex ba6ae50e70 Revert "input_keys_pressed - start splitting up big for loop into"
This reverts commit a564ac0701.
2016-10-22 16:23:16 +02:00
twinaphex a564ac0701 input_keys_pressed - start splitting up big for loop into
optimized smaller parts
2016-10-22 07:05:19 +02:00
twinaphex 4d002ec682 Don't have to grab this 2016-10-22 06:33:15 +02:00
twinaphex 6226abb3f8 (input_driver.c) Small cleanups 2016-10-22 06:05:05 +02:00
twinaphex 8fbec2348e Move turbo button code to input_poll (should verify if
turbo buttons still work up to this point)
2016-10-22 06:00:42 +02:00
twinaphex 9d3228e523 More translatable strings 2016-10-22 04:57:46 +02:00
twinaphex d6db2fe227 Change some strings 2016-10-22 04:52:46 +02:00
twinaphex e2de11a698 Cleanup some more strings 2016-10-22 04:23:40 +02:00
twinaphex 88738b4ef5 Don't need to do analog dpad code for input_keys_pressed 2016-10-21 22:37:49 +02:00
twinaphex ee8176772d Move state tracker nput code to input/input_driver.c 2016-10-21 22:19:35 +02:00
twinaphex aa795a9238 input_keys_pressed - small cleanup 2016-10-21 22:04:20 +02:00
twinaphex 6b30c41595 Simplify input_keys_pressed 2016-10-21 21:12:12 +02:00
twinaphex 87fb7738f7 Cleanups 2016-10-20 03:42:57 +02:00
twinaphex e85fca7b75 input_state and input_keys_pressed - prevent some more
function calls
2016-10-20 03:39:32 +02:00
twinaphex 5eb5195169 input_keys_pressed - get rid of unnecessary for loop 2016-10-20 03:10:36 +02:00
twinaphex 4a56ed618a Simplify input_keys_pressed 2016-10-20 02:39:45 +02:00
twinaphex 6746b06e73 input_driver_keys_pressed - merge into input_keys_pressed 2016-10-20 02:24:45 +02:00
twinaphex f08609361e input_keys_pressed - prevent extraneous leaf function calls 2016-10-20 02:22:48 +02:00
twinaphex 546dd0422f Don't call extraneous functions inside input_keys_pressed 2016-10-20 02:20:40 +02:00
twinaphex 4b807b482f Create runloop_poll 2016-10-20 02:17:17 +02:00
twinaphex a4a1e96210 Prevent more implicit memsets 2016-10-16 01:40:29 +02:00
twinaphex b2dcd44c3a (input_driver.c) Prevent implicit memsets 2016-10-16 01:20:50 +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 80339014a5 (input_config.c) Prevent implicit memsets 2016-10-09 08:58:44 +02:00
twinaphex 119479f705 (input_autodetect) Don't do implicit memsets of char variables 2016-10-09 08:55:17 +02:00
twinaphex 37f3942985 (Vita) Hook up L3/R3 in autoconfig 2016-10-07 08:24:48 +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
Twinaphex 183dc914c4 (Cocoa) Add stub scrollWheel callback 2016-10-05 02:00:11 +02:00
Francisco José García García d32bd63d3d (VITA) Disable Back Touch if in menu 2016-10-05 01:34:26 +02:00
twinaphex 39fd6560f6 (input_autodetect.c) Cleanups 2016-10-04 10:40:37 +02:00
twinaphex 7d06e6c48f Use string_is_equal instead of strncmp 2016-10-04 10:18:17 +02:00
twinaphex 72caa55e7b Cleanup input_autodetect.c 2016-10-04 10:16:52 +02:00
twinaphex b3d4fe398b autoconfig should be fixed now for XInput - wrong binds 2016-10-04 08:21:32 +02:00
twinaphex 8b889084f6 Get rid of ret variable 2016-10-04 07:41:58 +02:00
twinaphex f8d64b703e Simplify input_autoconfigure_joypad_from_conf_internal 2016-10-04 07:39:41 +02:00
twinaphex c2bb410d8d Take out HAVE_BUILTIN_AUTOCONFIG - always include it 2016-10-04 07:33:57 +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
twinaphex 91b1889873 (X11) Mouse input is no longer registered when we are on the
titlebar of the window or we are no longer inside the window
2016-10-03 06:50:00 +02:00
Francisco José García García 59d13c7131 (VITA) Fix actuator 2016-10-02 14:02:37 +02:00
twinaphex d376ea0c9d Merge fixes 2016-10-01 08:24:02 +02:00
twinaphex 8f163e6972 Revert "Move global->name to paths.c"
This reverts commit 6ee7b733aa.
2016-10-01 08:18:23 +02:00
twinaphex 4567fdef52 Take out libretro_device from global struct 2016-10-01 06:22:57 +02:00
Sunguk Lee bd9db4ac55 (Vita) Back touch screen use L2/R2/L3/R3 2016-10-01 04:53:35 +09:00
Twinaphex ded68451ce Merge pull request #3697 from d3m3vilurr/vita-extend-input
(Vita) Improve controller features of PSTV
2016-09-30 19:33:04 +02: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 6ee7b733aa Move global->name to paths.c 2016-09-30 06:11:11 +02:00
twinaphex 9384875ab0 Don't use HAVE_NETPLAY any more 2016-09-29 21:07:10 +02: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 49a9f189e9 Prevent divide by zero 2016-09-24 17:08:46 +02:00
twinaphex 7fdc38bf30 Prevent null pointer dereference 2016-09-22 21:57:55 +02:00
twinaphex e8deea65a9 Remove unused variable 2016-09-22 21:55:54 +02:00
twinaphex f6a5e4d8eb Remove unused variable 2016-09-22 21:52:17 +02:00
twinaphex 7dcf9dfa75 (libusb) Silence warning 'value stored to 'adaptor' is never read 2016-09-22 21:49:59 +02:00
radius 55b865d375 remove this pad, the pad is named Standard Gamepad 2016-09-21 21:41:36 -05:00
twinaphex 6a02cf174e udev_input_poll - add early return in case udev is NULL 2016-09-18 20:32:16 +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 9ee5931c5e Nits 2016-09-14 23:37:20 +02:00
twinaphex 3247de9afa Cleanup 2016-09-12 18:39:46 +02:00
twinaphex 93d98069b2 Cleanups 2016-09-12 16:45:26 +02:00
twinaphex 29c05599a3 Cleanup enum 2016-09-11 17:37:05 +02:00
twinaphex b93ef046a7 Header include cleanups 2016-09-11 16:31:23 +02:00
twinaphex 51b0e61712 Cleanups 2016-09-11 16:24:02 +02:00
twinaphex 9d9471413d (Emscripten) Buildfix 2016-09-11 15:24:33 +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 012e069f86 Get rid of general.h includes 2016-09-11 13:21:56 +02:00
twinaphex 74c186c184 Cleanups 2016-09-08 08:08:50 +02:00
twinaphex 642e46779b Cleanups 2016-09-06 23:59:43 +02:00
twinaphex 075aea2289 Header include cleanups 2016-09-06 00:56:00 +02:00
twinaphex d4122806ab (Android) Buildfix 2016-09-05 18:34:21 +02:00
twinaphex acd4dd527b Header include cleanups 2016-09-05 18:31:32 +02:00
twinaphex 4571dc33fc header include cleanups 2016-09-05 17:29:19 +02:00
radius f0485db137 Gamepad is named like this in emscripten 2016-09-03 22:21:10 -05:00
Brad Parker a17679a0c5 add input option to allow any user to control the menu 2016-09-03 19:01:29 -04:00
Twinaphex f5a4b402d7 (OSX) Fix some crashes that could occur 2016-09-03 23:27:53 +02:00
Brad Parker 0eb1777a1f remove extra semicolons 2016-09-03 10:30:21 -04:00
twinaphex f93047145d Use SN_TARGET_PSP2 ifdef too 2016-09-03 07:41:56 +02:00
twinaphex 88eea511db Remove if 0 blocks 2016-09-03 07:40:57 +02:00
twinaphex 429165e966 Combine autoconfig builtin files into one 2016-09-03 07:39:26 +02:00
twinaphex 7ee6b9f466 Add TODO/FIXME note 2016-09-03 07:05:25 +02:00
twinaphex 9df9b79869 Add builtin_sdl2 2016-09-03 07:02:17 +02:00
twinaphex 1d06344567 (Vita) silence warning - RETRO_RUMBLE_DUMMY not handled in switch 2016-09-01 22:28:31 +02:00
twinaphex 8e8ff95139 input_keyboard.c - add stdlib.h 2016-09-01 18:51:22 +02:00
twinaphex 9806dec502 C89_BUILD buildfix 2016-09-01 18:22:29 +02:00
twinaphex 467451fccc Cleanup more header includes 2016-09-01 18:18:55 +02:00
twinaphex 20f7d82f95 More header include cleanups 2016-09-01 18:07:44 +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
twinaphex c8d5381779 header include cleanups 2016-09-01 05:48:20 +02:00
twinaphex 19f352371d Remove more header includes 2016-09-01 05:40:57 +02:00
Francisco José García García e3b5fdd815 (VITA) Add vibration for PSTV 2016-08-30 14:29:19 +02:00
twinaphex ba7d638b99 Use string_is_equal 2016-08-29 18:46:41 +02:00
radius 90f5a2730a remove these two duplicated lines 2016-08-27 11:15:58 -05:00
Alcaro ba6796b98f Kill some warnings 2016-08-26 18:33:03 +02:00
twinaphex 81e76ca5e7 (MSVC 2003) Buildfixes 2006-01-17 06:28:35 +01: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