Commit Graph

4404 Commits

Author SHA1 Message Date
Ben Klopfenstein 17465462b8 X11 lightgun support 2020-06-26 19:47:43 -06:00
twinaphex 1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
twinaphex 601a73fa8b Use string_starts_with_size where possible - avoids the strlen 2020-06-25 12:51:04 +02:00
twinaphex a2b83636d7 (Android) Some slight optimizations 2020-06-24 13:27:32 +02:00
twinaphex 634f18ad43 Turn more functions static 2020-06-24 10:14:03 +02:00
twinaphex 2c185fe7e2 Move input remapping code to configuration.c 2020-06-23 22:18:33 +02:00
twinaphex 1348902146 (GX Input) Cleanups 2020-06-23 19:10:27 +02:00
twinaphex 689ac432d6 MOve input_joypad_analog call to inside retroarch.c instead of the
input driver itself, and make function static
2020-06-23 18:31:40 +02:00
twinaphex c9f634e85d Cleanups 2020-06-23 17:51:45 +02:00
twinaphex 10abdc5a0e Implement get_joypad_driver stub for Xenon 360 2020-06-23 17:35:39 +02:00
twinaphex 0503467f2c Turn functions static 2020-06-23 17:32:27 +02:00
twinaphex 35c55c4b50 Potential fix for #10884 2020-06-22 20:34:40 +02:00
twinaphex 4f78264541 Cleanups 2020-06-13 17:46:39 +02:00
twinaphex cc43f3a355 (SDL2 Input) Add RARCH_DEVICE_MOUSE_SCREEN 2020-06-13 17:32:18 +02:00
twinaphex 367cf5985d (winraw_input) Fix mouse input processing 2020-06-13 17:27:12 +02:00
twinaphex bba60163f7 (Dinput) Fix RARCH_DEVICE_MOUSE_SCREEN 2020-06-13 17:22:34 +02:00
twinaphex 01bd76405f Buildfixes 2020-06-13 08:37:26 +02:00
twinaphex c7cd327b5b Rearrange input state input drivers for ANALOG - do joypad
processing first, then keyboard second
2020-06-13 05:25:10 +02:00
twinaphex dd79629015 (QNX) Get rid of qnx_is_pressed 2020-06-13 02:13:32 +02:00
twinaphex 5b81b6887b (X11) Buildfix #3 2020-06-13 02:07:43 +02:00
twinaphex 9d65f7e633 (X11) Buildfix #2 2020-06-13 02:06:24 +02:00
twinaphex 60ca3d0ad7 (X11) Buildfix 2020-06-13 02:05:16 +02:00
twinaphex 9ede38df93 (X11) Cleanups 2020-06-13 02:03:48 +02:00
twinaphex 52ff31f877 Get rid of udev_is_pressed 2020-06-13 01:54:22 +02:00
twinaphex 6cc9a3f9b4 (UWP) Buildfix + uwp_input cleanups 2020-06-13 01:01:30 +02:00
twinaphex d03a0a7b51 (WiiU) Buildfix 2020-06-12 19:33:13 +02:00
twinaphex d998f86f1f Cleanups 2020-06-12 18:41:09 +02:00
twinaphex 4a91b11806 Further input driver standardization 2020-06-12 18:28:07 +02:00
jdgleaver 2c956fbe85 (X11/udev) When fetching RETRO_DEVICE_ID_JOYPAD_MASK, only query keyboard if corresponding gamepad button is not pressed 2020-06-12 16:06:32 +01:00
jdgleaver 321ede2256 (X11/udev) Input fixes 2020-06-12 14:12:22 +01:00
twinaphex 6092de544c (Wiiu) Buildfix 2020-06-12 07:13:55 +02:00
twinaphex 0e907f01ca (winraw_input) Cleanups - use button_is_pressed 2020-06-12 06:37:36 +02:00
twinaphex c1d63ca7c1 Revert "Grab pointer to video_driver_window_get_ptr once during init"
This reverts commit 784904071a.
2020-06-12 06:36:27 +02:00
twinaphex 451a06076d Revert "(dinput_joypad) Grab window pointer once"
This reverts commit d85eb927c1.
2020-06-12 06:36:19 +02:00
twinaphex 5a064ef4ca (dinput) Cleanups - use button_is_pressed 2020-06-12 06:26:03 +02:00
twinaphex d85eb927c1 (dinput_joypad) Grab window pointer once 2020-06-12 06:12:25 +02:00
twinaphex 784904071a Grab pointer to video_driver_window_get_ptr once during init
function, then use that throughout this driver's functions
2020-06-12 06:07:20 +02:00
twinaphex eb78b608d3 Cut down on code duplication 2020-06-12 00:50:08 +02:00
twinaphex 0b95a8838a (OSX) Cleanups 2020-06-12 00:30:24 +02:00
twinaphex ecfdc867f8 Cleanups 2020-06-12 00:16:31 +02:00
twinaphex e40d381f6b (WiiU) Cleanups 2020-06-11 22:05:30 +02:00
twinaphex 255794d903 (Udev) buildfix 2020-06-11 21:40:37 +02:00
twinaphex d1d8386343 (udev) Cleanups 2020-06-11 21:38:58 +02:00
twinaphex a7ab21ac15 (Emscripten) Buildfix 2020-06-11 21:21:20 +02:00
twinaphex 88a93dc648 (OSX) Buildfix 2020-06-11 21:00:28 +02:00
twinaphex 8cc220a4d2 (CTR) Buildfix 2020-06-11 20:59:35 +02:00
twinaphex 11520f9704 (X11) Buildfix 2020-06-11 20:23:44 +02:00
twinaphex dee0c5dbca CTR buildfix + cleanups 2020-06-11 19:33:27 +02:00
twinaphex f12ac35438 Cleanups 2020-06-11 19:03:50 +02:00
twinaphex 42984968f2 (X11) Further optimizations to x_is_pressed 2020-06-11 19:00:08 +02:00
twinaphex f96e148f74 Change to 1 instead 2020-06-11 18:43:53 +02:00
twinaphex e2e5366925 Cleanups 2020-06-11 18:43:30 +02:00
Twinaphex dc967f41ec (Cocoa) Create cocoa_is_pressed 2020-06-11 18:40:14 +02:00
Autechre dc10dc4702
Merge pull request #10837 from parport0/master
Add options for moving the on-screen overlay
2020-06-11 18:03:02 +02:00
twinaphex 9c1d40c364 (Android) Buildfix 2020-06-11 17:37:23 +02:00
twinaphex 3eaf7d5e66 Further cleanups and corrections 2020-06-11 17:18:28 +02:00
twinaphex 6ddbf911e3 (SDL input) Build fix - and further cleanups in other
drivers
2020-06-11 17:12:08 +02:00
Autechre 1979b42834
Merge pull request #10836 from jdgleaver/hotkey-sublabels
Add sublabels to all hotkey bind entries
2020-06-11 16:59:10 +02:00
twinaphex cd01e0a048 Standardize input lightgun code 2020-06-11 16:58:49 +02:00
twinaphex f9c771b4a8 Standardize lightgun_aiming_state function 2020-06-11 16:50:36 +02:00
twinaphex cf3cdbbcc9 Cleanups 2020-06-11 16:49:27 +02:00
twinaphex 39279292ef (dinput) Cut down on code duplication 2020-06-11 16:42:33 +02:00
jdgleaver fa069c28f3 Add sublabels to all hotkey bind entries 2020-06-11 15:38:25 +01:00
twinaphex 4fb59f5319 (winraw_input) More fixes 2020-06-11 16:37:50 +02:00
parport0 a4590acde9 Add options for moving the on-screen overlay 2020-06-11 15:39:23 +03:00
twinaphex 479a3ab9a3 (Dinput) Optimizations - create dinput_is_pressed 2020-06-11 08:54:17 +02:00
twinaphex a14d54b3fd (winraw_input) Further optimizations 2020-06-11 08:34:30 +02:00
twinaphex 5d58acd2c0 (Android) Input driver optimizations - fill in device_model one time
inside the init function - mistake previously was putting it erroneously
inside an inner loop
2020-06-11 08:08:21 +02:00
twinaphex 108bbf0bf6 Turn this into static function 2020-06-11 07:12:54 +02:00
twinaphex d893e880ec Revert "(Android) android_input.c - optimize - hose code that always remains"
This reverts commit df4428bd7a.
2020-06-11 07:10:15 +02:00
twinaphex df4428bd7a (Android) android_input.c - optimize - hose code that always remains
the same outside of loops
2020-06-11 06:46:40 +02:00
twinaphex 02132985af Cleanups 2020-06-11 06:34:59 +02:00
twinaphex 9aafd3c723 (winraw) Cleanups - get rid of setting pointer grabbing everywhere -
clean up mouse state grabbing everywhere - would be costly in loops
2020-06-11 06:29:36 +02:00
twinaphex 703cc7198d (input drivers) cleanup log spam 2020-06-11 05:37:40 +02:00
twinaphex d924c656b7 (winraw_input) cleanups 2020-06-11 05:15:36 +02:00
twinaphex a0e6a9e1d5 (xinput joypad) Function can be made static 2020-06-11 04:53:20 +02:00
twinaphex cfc511cc6b (Dinput joypad) Some cleanups 2020-06-11 04:46:15 +02:00
twinaphex b363ed7d79 (drivers_joypad) get rid of excessive logging 2020-06-11 04:06:33 +02:00
twinaphex 2b5496a417 Move input_osk.c to retroarch.c 2020-06-10 18:21:53 +02:00
twinaphex 8daa90da23 move osk_ptr global state to rarch_state 2020-06-10 18:07:20 +02:00
twinaphex c63a65ffa5 (WiiU) Cleanups 2020-06-10 06:30:23 +02:00
twinaphex fa6ca2e39c Revert "Create input_joypad_analog_button"
This reverts commit 9e7ca7cbbe.
2020-06-10 05:50:51 +02:00
twinaphex 11cba2e805 Revert "Cleanups and documentation"
This reverts commit ec2a1e79a0.
2020-06-10 05:50:42 +02:00
twinaphex ec2a1e79a0 Cleanups and documentation 2020-06-10 05:18:59 +02:00
hizzlekizzle db63e0a60a
add hold-select to hardcoded menu gamepad combos (#10827)
* add hold-select to hardcoded menu gamepad combos
2020-06-09 21:54:28 -05:00
twinaphex 9e7ca7cbbe Create input_joypad_analog_button 2020-06-10 04:17:08 +02:00
twinaphex a7a03984f1 (input drivers) Cleanups 2020-06-10 04:00:40 +02:00
twinaphex 11a4db3120 Revert "Reduce button state from 256bit to 128bit - all the bind IDs"
This reverts commit 47456cf94b.
2020-06-09 16:11:26 +02:00
twinaphex 47456cf94b Reduce button state from 256bit to 128bit - all the bind IDs
combined right now are still under 80, so 256 bits is too
overboard for now
2020-06-08 20:13:00 +02:00
twinaphex 38f9a1b1f0 (OSK) move some global state to rarch_state 2020-06-08 16:31:10 +02:00
twinaphex cfbaa0c89d (X11) Cut down on video_driver_has_focus calls 2020-06-08 06:16:01 +02:00
twinaphex 9219eb5aaf Merge input_mapper.c into retroarch.c 2020-06-06 20:27:38 +02:00
twinaphex ec35ce7fdc Add TODO/FIXME notes 2020-05-29 10:23:48 +02:00
twinaphex ad1aa59ce1 Cleanup != NULL comparisons 2020-05-19 21:15:06 +02:00
Ash Logan 70fba3e92e (WiiU/kpad) Actually return true when kpad_init succeeds, warning fix 2020-05-17 16:43:38 +10:00
Ash Logan 41541128c5 (WiiU/hid) Warning fixes 2020-05-17 16:42:31 +10:00
Ash Logan cdaf907467 (WiiU/hid) hid.h only used in drivers_hid/wiiu, don't include everywhere 2020-05-17 16:39:41 +10:00
Ash Logan f22af81e7d (WiiU/wpad) Allow hotplugging Gamepad, support >1 channel 2020-05-17 16:32:51 +10:00
twinaphex 494c0f8fe4 (PSL1GHT) Cleanups 2020-05-12 17:06:58 +02:00
Vladimir Serbinenko cc73de48d6 Fix dos compilation 2020-05-12 03:09:38 +02:00
Alex Kornitzer cdfb8348b0 cocoa: use absolute positioning over relative
Now that we clip the window to locate the cursor correctly on re-entry
we need to do our cursor calculations using absolute coordinates
2020-05-11 00:58:06 +01:00
Alex Kornitzer edfafd9fad cocoa: fix mouse movement
The input driver was using absolute coordinate arithmetic while making
use of delta changes for each coordinate, as a result the absolute
change netted to zero. This fixes that and tries to mitigate cursor
event sync issues (sync issues will require more work).
2020-05-10 22:44:44 +01:00
A Schain 1e751d00ea
In case last hatswitch does not match cookie
For the mayflash N64 adapter, I was getting a BAD EXC ADDRESS (in mac OS 10.13) for this line (tmp was NULL). Retroarch would crash in the gui if I pressed a button from the DPAD on controller 2. With this change, it no longer crashes in the gui and still registers the button push.
2020-04-30 13:27:44 -04:00
Autechre 21f15d5cbd
Merge pull request #10490 from phcoder/msb
Remove manual MSB_FIRST definitions and switch to retro_endianness.h
2020-04-22 21:16:45 +02:00
MrHuu 92dc0dc6d0
(3DS) Allow button presses up to INPUT_MAX_USERS
This enables the 3DS to bind and use buttons and axis for users up to the maximum set by 'Max Users' in the input settings menu.
2020-04-21 20:52:49 +02:00
Vladimir Serbinenko 1fcdddf579 Remove manual MSB_FIRST definitions and switch to retro_endianness.h 2020-04-21 04:16:55 +02:00
twinaphex f3b82dc998 Buildfix 2020-04-17 16:29:23 +02:00
Autechre 018a0baed6
Merge pull request #10401 from libretro/accessibility_menu_fixes
Accessibility menu fixes
2020-04-17 03:19:17 +02:00
Vladimir Serbinenko 5b668ae421 Implement psl1ght keyboard 2020-04-17 00:56:23 +02:00
Barry Rowe 289be872f3 Added in auto-translate support, fixes for ozone and glui accessibility, and support for nvda and SAPI narration. 2020-04-13 17:46:08 -07:00
Vladimir Serbinenko 2ff9bfb24d qnx: support analog sticks 2020-04-01 16:49:44 +02:00
Vladimir Serbinenko ab34a0a34f Handle errors in qnx_input
I had errors with null driver. While this setup is not really usable,
we shouldn't crash on it
2020-04-01 16:49:44 +02:00
Vladimir Serbinenko 5a2e4237c4 Fix qnx compilation 2020-04-01 16:49:44 +02:00
Vladimir Serbinenko 2fb7ba22e5 PSL1GHT port
Working:

* packaging
* running cores
* switching cores
* gamepad including axis
* rgui
* audio
* video

Not working:

* OSD
* menus other than rgui
* shaders
* Graphical acceleration
* Proper signing
* ODE build
* rumble
* keyboard
* mouse

Not tested:

* A lot
2020-03-30 05:39:22 +02:00
FmT0 f0faedddf9
Update psp_joypad.c
Fix "Prefer Front Touch" option from Input menu for Vita toggle menu input
2020-03-16 20:07:10 +09:00
twinaphex 7f8c13ae09 (GDI/Win32) Refactor code - handle doubleclick press on title bar
inside DInput driver
2020-03-13 02:20:31 +01:00
twinaphex d3bc82d2c3 Header cleanups 2020-03-05 14:12:20 +01:00
twinaphex c66b4249ca More settings cleanups 2020-03-05 13:24:59 +01:00
twinaphex c4583a62fb Cleanups 2020-02-29 14:37:52 +01:00
twinaphex a326be71f3 Simplify remap_load_file 2020-02-29 14:33:53 +01:00
twinaphex 212318f95b Cleanups 2020-02-29 14:16:58 +01:00
twinaphex 5bb85ee5d5 (GX) Buildfix 2020-02-27 23:32:18 +01:00
twinaphex 26b3ccf2e5 Don't pass joypad_info by value 2020-02-27 07:33:14 +01:00
twinaphex 01a65fa5ba Rename menu_osk.c to input_osk.c 2020-02-26 05:49:23 +01:00
twinaphex 0ec3a8a449 (Input) Settings cleanups 2020-02-23 06:05:23 +01:00
twinaphex 8b11d9f039 Cleanups 2020-02-23 05:55:15 +01:00
twinaphex 09da302b8d Try to make it more portable for BSD 2020-02-16 19:37:59 +01:00
twinaphex dad077adf3 Cleanups 2020-02-14 14:11:25 +01:00
twinaphex 880391d0c5 (libnx) Try to silence warnings 2020-02-10 12:36:11 +01:00
twinaphex 51bc64559b Revert "(Config file) Don't save 'nul' entries in config file anymore -"
This reverts commit 4c6d46137c.
2020-02-04 01:02:40 +01:00
twinaphex 4c6d46137c (Config file) Don't save 'nul' entries in config file anymore -
config file size goes from 100KB to 20KB
2020-02-04 00:05:11 +01:00
twinaphex ca83be1db4 Cleanups 2020-02-01 04:19:22 +01:00
twinaphex 96018412c0 Cleanups 2020-02-01 03:27:58 +01:00
twinaphex 74cd84399f Cleanups - Replace '== NULL' 2020-01-30 16:47:33 +01:00
twinaphex a034909ae9 Cleanups 2020-01-30 16:35:59 +01:00
twinaphex f785e4b045 Replace while (1) with for (;;) - avoids MSVC warnings 2020-01-30 16:15:52 +01:00
Vladimir Serbinenko 193d40bae4 Cleanup AMotionEvent_getAxisValue check
I though it was a weak loading but in fact it's explicit so
loading with some define magic, so we need to check for p_AMotionEvent_getAxisValue
to be clean. Binary code is actually the same

Tested by reverting path fix
2020-01-28 17:32:38 +01:00
Vladimir Serbinenko 6d8cbd2c4b Fix so file for x64 android
In particular it affects Pixelbook which implements x64 Android
2020-01-28 17:23:46 +01:00
Vladimir Serbinenko 14c24e1fab Remove unnecessarry check for AMotionEvent_getX
Unlike getAxis getX is always present and doesn't need to be checked
2020-01-28 17:04:32 +01:00
Vladimir Serbinenko e290e9193d Fix crash on Pixelbook
AMotionEvent_getAxisValue is a weak symbol and we need
to check for its presence before calling it.
2020-01-28 15:03:16 +01:00
twinaphex 3f598a0f9c Revert "Get rid of send debug info - if we ever bring this back, needs to be"
This reverts commit c0482ff2ea.
2020-01-25 15:55:11 +01:00
twinaphex c0482ff2ea Get rid of send debug info - if we ever bring this back, needs to be
reimplemented according to new infra
2020-01-25 14:53:04 +01:00
twinaphex 7748ac207c Split up blissbox code into separate file
tasks/task_autodetect_blissbox.c
2020-01-19 06:40:07 +01:00
twinaphex 51d6b467d6 (Win32) Buildfix 2020-01-19 04:56:12 +01:00
Toad King 14c67fde7f emscripten: recreate input event listeners properly
There's a new (undocumented -_-) API for removing event listeners in emscripten
now, so use that when recreating input listeners. Fixes mouse events breaking
when loading cores.
2020-01-18 12:51:21 -06:00
twinaphex fe9022afe0 More CXX_BUILD fixes 2020-01-18 05:48:19 +01:00
twinaphex 1d2150cb45 Remove drivers_hid/null_hid.c 2020-01-06 15:52:35 +01:00
twinaphex 246863279a Get rid of null input and null joypad driver files 2020-01-06 15:28:11 +01:00
Toad King 776568a429 fix images not loading in menu in emscripten
add changes to work with latest emscripten SDK
2020-01-02 21:29:25 -06:00
twinaphex 7c63889b26 Move static inline functions over to input_bind_dialog.c - were
not used elsewhere
2020-01-01 10:53:36 +01:00
twinaphex 55de2803a4 Turn some input functions static 2020-01-01 10:22:29 +01:00
twinaphex 4de34a53e7 Turn input_driver_grab_mouse/input_driver_ungrab_mouse static 2020-01-01 09:22:23 +01:00
twinaphex 538f0c534f Backport Added alternate Turbo-Mode 'Single Button' -
For systems supporting only a single button, the turbo-button will toggle firing that button without the need to hold it.
When holding the button turbo will be suspended and resumed when the button is released. Holding the button may have a different function to just tapping it, e.g. charging the beam in R-Type on C64/Amiga.
The original implementation in RA is named 'Classic' because I have no
idea where it originates from.
2019-12-25 07:13:01 +01:00
Twinaphex 15838c2850
Merge pull request #9858 from ToadKing/emscripten-upgrades
fix bug in emscripten input code
2019-12-15 15:40:00 +01:00
Toad King f3001c9bba fix bug in emscripten input code 2019-12-14 20:57:10 -06:00
ThePhxRises 3c27300a4e [VITA] Enable touch regardless of MiniVitaTV 2019-12-14 20:50:17 +01:00
ThePhxRises 65f406a39e [VITA] MiniVitaTV Support
Set kernel model manually with sceCtrlIsMultiControllerSupported()
2019-12-14 20:50:17 +01:00
Dmitry Sergeenkov 5cdef89b86 Get rid of 128 byte device name limit for XInput device discover 2019-11-22 21:15:58 +03:00
twinaphex cbe68cbf88 Turn the find_handle/find_ident functions static 2019-11-17 22:31:57 +01:00
Rinnegatamante 064f821cf0 [VITA] Added accelerometer and gyroscope support. 2019-10-31 09:33:16 +01:00
p-sam 49b87724eb (Switch) Implement driver sensor interface 2019-10-28 16:36:46 +00:00
p-sam f7f0499601 Fix mixed indentation 2019-10-28 16:36:46 +00:00
jdgleaver 1df3e20bdd Add option to automatically rotate overlays 2019-10-04 12:15:57 +01:00
Twinaphex 4a7dfba6ee
Merge pull request #9540 from SindenLightgun/master
Fixed bug with touchscreen/lightgun
2019-10-01 19:24:22 +02:00
SindenLightgun 2e480a37ea
Fixed bug with touchscreen/
From my analysis I "believe" this is a development bug/typo and is causing issues with mouse and touchscreen input, that would affect touchscreen and lightgun APIs.
2019-10-01 12:26:13 +01:00
jdgleaver 3057c31798 (Menu Input) Add mouse/touchscreen gesture support + full gesture support for XMB 2019-09-30 16:55:41 +01:00
twinaphex 920a20f060 (GX) Silence more warnings 2019-09-22 11:35:09 +02:00
benoa 9250f649db GameCube: Fix build 2019-09-19 15:13:22 +02:00
twinaphex 1d621c412c Add HW_RVL to this - won't compile on Gamecube otherwise 2019-09-19 02:15:18 +02:00
benoa 744fac6777 Wii: Add wiimote lightgun support 2019-09-15 00:46:02 +02:00
Twinaphex 1091193ed5
Revert "[Switch] Really fix splitting/joining JoyCons via single option" 2019-08-26 14:22:58 +02:00
rsn8887 8c0c0e3eae [Switch] Really fix splitting/joining JoyCons via single option 2019-08-24 21:08:35 -05:00
twinaphex b4375e3da0 Cleanups 2019-08-15 01:21:25 +02:00
twinaphex e54e8c4a1f Cleanups 2019-08-15 01:14:25 +02:00
twinaphex d30b2ecaca Merge menu_input_dialog.c into retroarch.c 2019-08-15 01:08:34 +02:00
twinaphex 890008491c Cleanups 2019-08-14 02:49:54 +02:00
Jeffrey Davenport 25f35ed67d Bug caused by typo 2019-08-13 02:26:13 -06:00
twinaphex f7aebf02c8 No longer need input_driver_input_state 2019-08-12 18:00:31 +02:00
revvv 22669edfed update coding style for PR 2019-08-11 21:08:16 +02:00
revvv 976e4672b4 add Retrode support 2019-08-11 20:13:38 +02:00
twinaphex 7900faa419 Move menu_display_libretro to retroarch.c 2019-08-09 21:59:58 +02:00
twinaphex 3ff237e278 Cleanups 2019-08-09 16:26:58 +02:00
twinaphex a643f9e07e Refactor/reimplement mapper 2019-08-09 16:17:30 +02:00
Twinaphex 708a87247d
Merge pull request #9258 from ToadKing/emscripten-fix
emscripten: Fix GLSL not being built in
2019-08-07 04:07:30 +02:00
twinaphex 99e0d7c54a Cleanups 2019-08-07 04:05:12 +02:00
Toad King 2874c5ee6e emscripten: Fix GLSL not being built in
fix gamepad builds to work with newer emscripten
2019-08-06 20:51:18 -05:00
twinaphex 70e54b2763 Get rid of unnecessary functions 2019-08-02 18:25:21 +02:00
twinaphex a097ad8a2e Cleanups 2019-08-02 17:44:04 +02:00
twinaphex 7a2d09b4bf Cleanups/rewrites 2019-08-02 17:41:26 +02:00
twinaphex eb3753ee3c (XInput/DirectInput) Show device disconnect messages when unplugging a gamepad 2019-07-28 06:42:30 +02:00
twinaphex 91ef99f9b7 Restore this 2019-07-27 04:28:50 +02:00
twinaphex d28cadef01 Cleanups; turn more functions into static functions 2019-07-27 04:13:33 +02:00
twinaphex 65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
Yoshi Sugawara 102f27ee80 iOS/tvOS/macOS: Fix autodetect for mFi controllers: properly call autodetect add on the connect notification, and add call to disconnect on GameController disconnect notification. 2019-07-24 11:45:42 -10:00
twinaphex 2750997724 (dinput) POV defines need mmsystem.h header include 2019-07-23 19:40:22 +02:00
twinaphex 5d8d6e18b2 (Dinput joypad) Prevent input going haywire once pad is disconnected 2019-07-23 18:46:40 +02:00
twinaphex f06607141d dinput_joypad_button - further cleanups 2019-07-23 18:37:28 +02:00
twinaphex 051fb92e83 (Dinput joypad) Cleanup magic numbers mess surrounding
hat code
2019-07-23 18:27:16 +02:00
twinaphex 783027ab96 (Dinput) Lots of pointless ARRAY_SIZE checks when the element size
never changes
2019-07-23 16:07:34 +02:00
twinaphex 642298c8b0 (ps4_joypad.c) C89_BUILD fixes 2019-07-23 15:47:13 +02:00
twinaphex ea4f9b4899 dinput_joypad_button - cleanups 2019-07-23 15:34:24 +02:00
twinaphex e0672e46a5 (Xinput) This variable doesn't need to be set at every button call 2019-07-23 14:32:46 +02:00
twinaphex 02876aecae Cleanups 2019-07-23 14:07:49 +02:00
twinaphex d4255b0e55 Cleanups 2019-07-23 13:59:51 +02:00
rsn8887 c226f0a683 [SWITCH] Fix splitting and joining of joycon controllers
Before this fix, splitting and joining of joycons only ever worked
sporadically.
2019-07-22 23:30:34 -05:00
twinaphex 0f18df5d66 (PS2) Buildfix 2019-07-22 14:45:55 +02:00
twinaphex bee9984745 Update all other input drivers 2019-07-22 01:20:00 +02:00
twinaphex f9f2e2f48d (Android) This should fix the hotkey binding problems 2019-07-22 00:19:05 +02:00
orbea e13ec54dc6 Fix --disable-overlay. 2019-07-21 10:26:42 -07:00
twinaphex cba3eb3968 (Dinput) Refactor dinput_is_pressed 2019-07-21 17:53:51 +02:00
twinaphex f4104f5c9a Regression in
9c73d3305d
- joykey needs to be uint64_t and then is later cast to uint16_t -
is apparently important for hotkeys
2019-07-21 16:22:41 +02:00
twinaphex 66b88b60f2 Simplify this 2019-07-21 16:06:12 +02:00
twinaphex 7be9aef768 (PSP) Buildfix 2019-07-20 16:56:01 +02:00
twinaphex 5de9f85533 Cleanups 2019-07-19 13:01:45 +02:00
twinaphex 4c69dad0ce Define DEFAULT_MAX_PADS inside config.def.h - get rid of the messy
MAX_PADS macros everywhere
2019-07-19 12:55:38 +02:00
twinaphex e1ab933bf2 (Android) These arrays should be at least as big as MAX_USERS 2019-07-18 23:40:32 +02:00
twinaphex 61746c8179 (Android) Refactor android_input_set_rumble to be safer 2019-07-18 20:47:51 +02:00
twinaphex 09c727c0ee (Android) Fix one potential crash on older Android 2019-07-18 18:16:52 +02:00
twinaphex 9e39220390 Turn function static 2019-07-18 17:35:41 +02:00
twinaphex 0cdfd4c542 Use config_file_new_from_path_to_string entirely 2019-07-18 16:15:02 +02:00
twinaphex a6d6c21e52 Rename config_file_new_null to config_file_new_alloc 2019-07-17 19:50:32 +02:00
twinaphex 0c31437c24 Create config_file_new_null 2019-07-17 18:27:53 +02:00
twinaphex 26788850ae (linuxraw) linuxraw_analog_pressed - reimplement to avoid LGTM warnings 2019-07-16 16:54:18 +02:00
twinaphex 0257e01bee Refactor input_autoconfigure_connect - don't return
value - set input device name upon failure implicitly
2019-07-16 15:28:22 +02:00
twinaphex 67c70de8f3 (Drivers joypad) Cleanups 2019-07-16 14:41:09 +02:00
twinaphex f1ea1f1845 (Drivers joypad) Cleanups 2019-07-16 14:39:31 +02:00
twinaphex bf80376d27 Style nits 2019-07-16 14:34:37 +02:00
benoa dacf25c1a1 Wii: Fix HID driver 2019-07-12 17:05:24 +02:00
twinaphex e1613bba6d Cleanups 2019-07-12 16:24:09 +02:00
Twinaphex 28b77e83ab
Merge pull request #9090 from arstn/master
Making mouse pointer working in X11 environment with no Display
2019-07-12 16:19:14 +02:00
twinaphex 27a65714f2 Remove some globals 2019-07-12 00:21:31 +02:00
arstn 63494f88cd
Update input/drivers/udev_input.c
sure. commited already.

Co-Authored-By: Rob Loach <robloach@gmail.com>
2019-07-11 17:25:57 +02:00
arstn c222e6674a Making mouse pointer working in X11 environment with no Display 2019-07-11 09:24:01 +02:00
twinaphex abcfcca1d2 Merge dynamic.c into retroarch.c 2019-07-10 09:54:25 +02:00
twinaphex fa990849ba (Overlay) Cleanups 2019-07-10 07:07:28 +02:00
twinaphex fa2e1fb0c1 overlay_ptr is now a static global variable inside retroarch.c 2019-07-10 06:53:47 +02:00
twinaphex 09f5d2c95d Fix compilation when configuring with --disable-overlay 2019-07-10 05:39:50 +02:00
twinaphex 94af95e1b9 Start refactoring this - overlay_ptr needs to become a static
global variable confined inside retroarch.c
2019-07-10 04:43:50 +02:00
twinaphex 8dd0680cbc Merge input_overlay.c into retroarch.c 2019-07-09 18:13:41 +02:00
twinaphex 6ff25fea2b Move macros 2019-07-09 16:36:29 +02:00
Twinaphex e1d8cdffe9
Merge pull request #9074 from DSkywalk/master
fix wrong udev devices order, fixes #9071
2019-07-09 07:21:35 +02:00
twinaphex a200d9683c (dinput.c) Cleanups 2019-07-08 02:40:09 +02:00
David Skywalker 89645ac296 fix wrong udev devices order, fixes #9071 2019-07-08 01:27:41 +02:00
twinaphex 2c7e7ac083 (Android) Buildfix 2019-07-04 22:26:19 +02:00
twinaphex 6c2f65c585 Fix code analysis warnings 2019-07-04 21:54:51 +02:00
twinaphex 13aab06d2d (Android) Should hopefully fix hotkey binds being mappable for
gamepad
2019-07-04 15:20:10 +02:00
twinaphex 47b17e8d65 (dinput) Update 2019-07-04 14:05:20 +02:00
twinaphex ff0ea2921f (dinput) Buildfix 2019-07-04 14:02:43 +02:00
twinaphex cec67e412e Revert "(dinput/xinput) Simplifications"
This reverts commit 20e8dfcba5.
2019-07-04 05:20:19 +02:00
rsn8887 7e348f132e [SWITCH] Proper x/y scaling for pointer devices, fixes touch lightgun 2019-07-02 16:42:17 -05:00
rsn8887 1caaea4bdf [SWITCH] Allow touch mouse gestures such as tap to click
This adds touch gestures to the touchpad-style mouse
controls. Before this, there was only pointer motion
via dragging a finger somewhere on the screen. Now,
there's tap to click and more.

Supported touch gestures:

- pointer motion = single finger drag
- left mouse click = single finger short tap
- right mouse click = second finger short tap
  while first finger is still down
- left click drag and drop = dual finger drag
- right click drag and drop = triple finger drag
2019-06-26 00:35:05 -05:00
rsn8887 d0c8809df4 [SWITCH] Allow finger drag to act as mouse movement 2019-06-24 20:02:24 -05:00
twinaphex 2f16fb1345 (libnx) Buildfix 2019-06-24 05:09:21 +02:00
twinaphex c55aefef1e (dinput_joypad.c) Cleanups 2019-06-24 05:07:37 +02:00
twinaphex 584c0f5de5 (Android) Buildfix 2019-06-24 01:11:20 +02:00
twinaphex a739003ad4 Buildfix 2019-06-23 19:08:03 +02:00
twinaphex 9c73d3305d Insert input_joypad_pressed into drivers themselves 2019-06-23 18:20:48 +02:00
twinaphex 7a2fa44c4b (Cocoa) Add bitmask code 2019-06-23 17:05:01 +02:00
twinaphex 9e20871c3c (Wayland) Buildfix 2019-06-23 16:37:23 +02:00
twinaphex 439a07eecd (Android) Put extra parentheses around this 2019-06-23 15:56:34 +02:00
twinaphex 334c64d159 (Android) Simplify input code 2019-06-23 15:55:40 +02:00
twinaphex 1e863b0f4d Optimal way of grabbing all button states in a bitmasked value -
should allow us to do only one function call to the RA input
driver's input state callback
2019-06-23 06:09:45 +02:00
twinaphex eaf221125a (xinput_joypad.c) Small cleanups 2019-06-23 03:23:16 +02:00
twinaphex d4ed0358a7 (dinput.c) Cleanups 2019-06-23 03:14:21 +02:00
twinaphex 51365ed387 (input drivers) More simplifications 2019-06-23 02:34:35 +02:00
twinaphex ceecf4751a Simplify DOS keyboard code 2019-06-23 02:22:54 +02:00
twinaphex e51a98a295 Simplify android input code 2019-06-23 01:57:12 +02:00
twinaphex 6a72b19907 These files are no longer needed - they are inside retroarch.c 2019-06-22 00:27:51 +02:00
twinaphex 20e8dfcba5 (dinput/xinput) Simplifications 2019-06-21 09:00:59 +02:00
twinaphex 6bc1802914 Move run_ahead.c to retroarch.c - most of the runloop
should now be self-contained in one file. Allows us to
turn more functions static, remove more extraneous functions
that just consisted of a single line (mostly getters/setters), etc.
2019-06-20 09:30:44 +02:00
twinaphex d50a6b6bd2 Add video_driver_has_focus 2019-06-20 06:26:29 +02:00
radius d865c5e4a6 add some copyright on files I contributed considerably just in case 2019-06-20 05:45:17 +02:00
jdgleaver fc2c79b488 (3DS) Fix C-Stick y-axis inversion 2019-06-19 18:09:35 +01:00
twinaphex 68cbd5048c Convert input_conv_analog_id_to_bind into macro 2019-06-19 05:16:24 +02:00
twinaphex fd17e04bb1 Merg input_remote into retroarch.c 2019-06-18 01:03:33 +02:00
twinaphex b9c33713b4 Merge input_driver.c with retroarch.c 2019-06-17 18:59:56 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
twinaphex ce51cf6b33 Simplify BSV code 2019-06-17 02:23:06 +02:00
twinaphex db87e050d5 Merge movie.c into retroarch.c 2019-06-16 16:52:48 +02:00
Yoshi Sugawara 2dde223d23 Support returning the number of touches in the current input to support multi-touch inputs, like using a 2 finger touch to reload or secondary fire in lightgun games 2019-06-11 11:49:27 -10:00
twinaphex 6d17d11132 Rewrite '== false' to '!' for our own code 2019-06-06 13:50:39 +02:00
twinaphex 8bb74d0776 Added new hotkey AI Service and added requested
variables for OCR
2019-06-06 03:41:40 +02:00
Yoshi Sugawara 222d3297d2 use preprocessor macros to support compiling using Xcode 11/iOS 13 and older versions of Xcode 2019-06-05 06:50:02 -10:00
Yoshi Sugawara 22d84eaef2 Merge branch 'master' into ios13-controllers 2019-06-05 06:22:51 -10:00
Yoshi Sugawara 9e1fcf4031 iOS: Support L3/R3 in iOS 12.1, Options buttons in mfi/PS4/XBox One controllers in iOS 13 2019-06-05 06:21:06 -10:00
Brad Parker 1120a7e490 Bliss-Box: add additional pad types from firmware 3.0 2019-06-03 23:40:31 -04:00
Ryunam ed1d98d2a2 Add toggle to show/hide mouse cursor with overlays 2019-06-02 23:48:01 +02:00
Ash Logan 26d3c3634c wiiu/input: Uniquely name axis enum
Griffin!
2019-05-28 09:16:48 +10:00
Ash Logan 258b9391b7 hid: Uniquely name (more) symbols
5bf8293 missed a few, all good!
2019-05-28 09:06:31 +10:00
Ash Logan 9a89aebe73 wiiu/input: Give static variables unique names
For griffin build, where static is meaningless
2019-05-28 09:06:31 +10:00
twinaphex e5d13bd32a Rename input_common.c to input_hid_common.c 2019-05-27 15:01:36 +02:00
twinaphex 5bf829339d (HID) Uniquely name symbols 2019-05-27 14:32:40 +02:00
Twinaphex 8db0e2db7c
Revert "xfree86_keycodes: Add non-evdev keycodes to fix keyboard input on non-Linux systems with X11." 2019-05-21 17:15:59 +02:00
nia cdcb819a79 xfree86_keycodes: Add non-evdev keycodes. 2019-05-18 17:11:42 +01:00
twinaphex bc2bdd5734 config_file_read not needed anymore 2019-04-30 13:37:10 +02:00
twinaphex 4c3e0d44b8 Revert "Start using string_is_equal_memcmp and"
This reverts commit 26d6aee1eb.
2019-04-29 04:04:33 +02:00
twinaphex 26d6aee1eb Start using string_is_equal_memcmp and
string_is_equal_memcmp_fast
2019-04-28 17:23:11 +02:00
Twinaphex 077a5dd685 (OSX) CXX_BUILD buildfix 2019-04-22 10:33:30 +02:00
twinaphex 317a443741 Use config_file_read in more places 2019-04-22 02:10:12 +02:00
twinaphex b41384a0d0 (input_driver) Cleanups 2019-04-22 00:05:12 +02:00
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