Commit Graph

1197 Commits

Author SHA1 Message Date
twinaphex a0948c1d9d Remove input_x11_common.c and merge into x11_input.c 2020-07-20 01:39:55 +02:00
twinaphex f1fed5397a (Winraw) code de-duplication 2020-07-19 05:17:11 +02:00
twinaphex 2509a75477 (Udev) Code de-duplication 2020-07-19 05:07:50 +02:00
twinaphex 6e2c519513 (X11) Buildfix 2020-07-19 04:51:22 +02:00
twinaphex abc19cbe02 (X11) Cleanups 2020-07-19 04:48:14 +02:00
twinaphex d97e590aaf Reimplement multi button state functions 2020-07-19 03:18:12 +02:00
twinaphex 6540038c6b Updated PSL1GHT joypad driver's 'button' function 2020-07-18 23:10:55 +02:00
twinaphex ad2279bb29 Cleanups 2020-07-18 23:06:12 +02:00
twinaphex cb5b22b6ac (Android) Refactor axis functions 2020-07-18 22:38:23 +02:00
twinaphex 646d627a6c Move more Wayland code 2020-07-14 16:04:10 +02:00
twinaphex 88f742894d Move wayland header to input/common 2020-07-14 14:32:37 +02:00
Dylan Scott b4ac13cc5a
(Emscripten) Fix input code to ignore unknown keys 2020-07-14 03:33:55 -04:00
twinaphex 3297e464c4 (Input) Optimize input bitmask codepath 2020-07-14 01:39:07 +02:00
Francisco Javier Trujillo Mata 9d2a1b5ac4 Improve dist scripts
Improve cores folder
Improve WaitTillDeviceIsReady
Now every single driver, init and deinit the IRX binaries
Improve platform PS2
Make salamander to open proper elf
2020-07-01 17:07:53 +02:00
twinaphex a16ebe401c (UWP) Remove unused local variable 2020-06-29 13:58:13 +02:00
twinaphex aa4f84b037 (Dinput) get rid of memsets 2020-06-29 02:37:06 +02:00
Ben Klopfenstein 17465462b8 X11 lightgun support 2020-06-26 19:47:43 -06: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 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 10abdc5a0e Implement get_joypad_driver stub for Xenon 360 2020-06-23 17:35:39 +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 5a064ef4ca (dinput) Cleanups - use button_is_pressed 2020-06-12 06:26:03 +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
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
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
twinaphex 4fb59f5319 (winraw_input) More fixes 2020-06-11 16:37:50 +02: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 fa6ca2e39c Revert "Create input_joypad_analog_button"
This reverts commit 9e7ca7cbbe.
2020-06-10 05:50:51 +02: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 cfbaa0c89d (X11) Cut down on video_driver_has_focus calls 2020-06-08 06:16:01 +02: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
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 5b668ae421 Implement psl1ght keyboard 2020-04-17 00:56:23 +02: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
twinaphex 7f8c13ae09 (GDI/Win32) Refactor code - handle doubleclick press on title bar
inside DInput driver
2020-03-13 02:20:31 +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 0ec3a8a449 (Input) Settings cleanups 2020-02-23 06:05:23 +01:00
twinaphex 880391d0c5 (libnx) Try to silence warnings 2020-02-10 12:36:11 +01:00
twinaphex ca83be1db4 Cleanups 2020-02-01 04:19:22 +01:00
twinaphex a034909ae9 Cleanups 2020-01-30 16:35:59 +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 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 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
Toad King f3001c9bba fix bug in emscripten input code 2019-12-14 20:57:10 -06: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
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
benoa 9250f649db GameCube: Fix build 2019-09-19 15:13:22 +02:00
benoa 744fac6777 Wii: Add wiimote lightgun support 2019-09-15 00:46:02 +02:00
Jeffrey Davenport 25f35ed67d Bug caused by typo 2019-08-13 02:26:13 -06:00
twinaphex 65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
twinaphex 2750997724 (dinput) POV defines need mmsystem.h header include 2019-07-23 19:40:22 +02:00
twinaphex 02876aecae Cleanups 2019-07-23 14:07:49 +02: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 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 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 e1613bba6d Cleanups 2019-07-12 16:24:09 +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 a200d9683c (dinput.c) Cleanups 2019-07-08 02:40:09 +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 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 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 20e8dfcba5 (dinput/xinput) Simplifications 2019-06-21 09:00:59 +02:00
twinaphex d50a6b6bd2 Add video_driver_has_focus 2019-06-20 06:26:29 +02:00
twinaphex 68cbd5048c Convert input_conv_analog_id_to_bind into macro 2019-06-19 05:16:24 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +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
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
Brad Parker 44a06d69a6 android: add gamepad rumble support 2019-03-13 03:32:18 -04: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
Zoran Vuckovic 2b2903cfff Fix issue #8326 2019-02-28 21:56:38 +01:00
radius b549f5181b try to fix #8121 by making the interval configurable 2019-02-07 22:34:18 -05: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
orbea 5d56080312 Use the posix poll.h instead of sys/poll.h. 2019-02-01 09:58:04 -08:00
David Skywalker 347519a4d8 now X11 driver using keycodes instead keysyms, fixes international layouts problems. 2019-01-31 12:50:58 +01:00
orbea e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
krzys-h e65f87a4ee Fix warning in uwp_input.c 2019-01-13 16:01:59 +01:00
krzys-h e08f79e16b (UWP) Add keyboard mapping support in the uwp driver 2019-01-11 20:24:26 +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
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
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
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
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
Francisco Javier Trujillo Mata 90ba2df972 Put proper license in the files for the PS2 development 2018-12-26 13:48:48 +01:00
grant2258 3a0c27e753 use none zero as requested 2018-12-17 00:07:00 +00: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
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
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
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
natinusala 57db04b389 switch_input: add pointer capabilities 2018-10-08 14:36:03 +02: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 517b1b9089 Add HAVE_LIBNX ifdefs to switch_input.c/switch_joypad.c, and
features_cpu.c
2018-09-12 19:54:51 +02:00
twinaphex 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
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
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 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
gblues fb5b31faf3 Merge branch 'master' into gblues/hid 2018-04-14 14:18:03 -07:00
twinaphex a82bb0ec94 Create special type input_bits_t 2018-04-08 20:21:12 +02:00
gblues 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
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 2b02616512 Disable ENABLE_TOUCH_SCREEN_MOUSE for now until issues are resolved 2018-02-15 14:50:14 +01:00
Brad Parker 039da3bb83 C89 buildfix 2018-02-06 22:17:32 -05:00
aliaspider 5db96f35fa (WIN32) various build fixes. 2018-01-20 20:05:32 +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 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
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
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
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
misson20000 7cc614263a (NSW) add default button bindings and fix right joystick 2017-12-31 03:04:11 +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 5b37ced196 Update HID pad driver architecture
== DETAILS

The current HID implementation assumes a very low-level USB library
is being used. This causes a problem on Wii U, because the Cafe OS
only exposes a high-level interface.

To get these functions exposed to the HID pad drivers, I had to make
three changes:

1. I added the legacy "send_control" function to the HID driver
   interface
2. I modified the signature of pad_connection_pad_init() to send the
   driver pointer instead of the function pointer
3. I updated the HID pad drivers to keep the pointer to the driver
   instead of the function pointer, and updated the calls into the
   send_control function as appropriate
4. I updated the HID drivers to use the new pad init signature

== TESTING
Untested, in theory it should work without a hitch because at this
point all I've done is abstract things a little. I still need to
update the HID pad drivers to use the Wii U-specific calls as
appropriate.
2017-12-30 04:41:01 +01:00
gblues c1496a8600 WIP - reorganizing input data
== DETAILS

Looking at the apple input driver gave me an idea--moving the
HID driver into the wiiu_input_t data instead of piggy-backing
it off the wiiu_joypad driver.

- Remove changes to wiiu_joypad
- Add equivalent to wiiu_input

This is probably broke as hell. Haven't tried to compile.
2017-12-30 04:40:43 +01:00
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
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
radius ab54fda509 avoid dinput reinitialization on unrelated WM_DEVICECHANGE events 2017-12-26 20:17:26 -05: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
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
bparker06 4c9bde61b5
dinput: fix memory leak of joypad name 2017-12-05 13:54:15 -05:00
twinaphex f0c143766e Change to 256bit macros 2017-12-05 12:07:35 +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
David Walters cbfdd7bbd9 udev lightgun fixes 2017-12-03 09:40:36 +00: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
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 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
David Walters f09477d46a additional compile fixes 2017-11-28 10:36:16 +00:00
David Walters e06290a06c updated winraw driver for new lightgun/mouse binding api 2017-11-27 12:51:06 +00:00
David Walters 59c188f75c Implement new lightgun API 2017-11-26 17:09:15 +00:00
David Walters cdb5a656f2 dinput: only support hardware mouse index 0 2017-11-26 15:40:27 +00:00
David Walters 9682e2777b support for mouse button binds in Windows input drivers 2017-11-26 12:55:17 +00:00
David Walters 41df4a0555 Support for mouse buttons 4&5 2017-11-17 12:00:24 +00: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
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 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 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 a3ded01b64 Cleanups 2017-09-27 23:16:37 +02:00
Zoran Vuckovic d47de4b17e Fix mouse "absolute" move handling 2017-09-12 12:36:27 +02:00
Zoran Vuckovic 84d33fb847 Disable keyboard input if window is not active 2017-09-10 05:50:10 +02:00
twinaphex e16371b8a5 Merge input_config.c and input_driver.c 2017-08-31 02:25:04 +02:00
Ash 6b5aef09a1
[WiiU] DRC touch support as pointer device
Allow using the Gamepad's touch screen as a RETRO_DEVICE_POINTER.
Methodology could use some work, had to add an extra axis to
joypad in order to get the data transferred into the input driver.
Feel free to change this.
Needs to emulate RETRO_DEVICE_LIGHTGUN to really be useful.
Potential for Wiimote IR in future.

Partially addresses libretro/RetroArch#5294
2017-08-19 17:40:56 +10:00
twinaphex ae2435cf16 Silence some more C89_BUILD warnings 2017-08-12 18:15:26 +02:00
twinaphex 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
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 20e7ac4280 Buildfix 2017-06-26 03:50:34 +02:00
twinaphex 411ade7fb9 Mingw buildfix 2017-06-26 03:47:47 +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
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 060753258a Combine input_driver.c and input_keyboard.c 2017-06-11 17:51:12 +02:00
twinaphex 95e588ce0f Fix C89_BUILD 2017-06-10 12:52:45 +02:00
twinaphex 9b13894438 Slightly rewrite input_state for android input driver 2017-06-10 12:48:09 +02:00
twinaphex 34be5566dd (udev fix) This fixes touchpad movement inside the menu 2017-06-10 12:27:22 +02:00
twinaphex 84f5fa1f26 (epoll_common.c) Cleanups; don't use verbosity logging inside 2017-06-10 12:07:01 +02:00
twinaphex c70526b7af Fix hotplug regressions with udev 2017-06-10 11:58:22 +02:00
twinaphex e8c73c6683 Rewrite other input drivers too 2017-06-10 11:22:24 +02:00
twinaphex d32cf4c866 Slightly rewrite input_state implementations of cocoa_input.c
and linuxraw_input.c
2017-06-10 11:09:58 +02:00
twinaphex 37656eed84 (udev_input.c) Rework input_state 2017-06-10 10:58:56 +02:00
twinaphex cea6dbbb6a (wayland) Fix input issue 2017-06-10 08:40:28 +02:00
twinaphex cffe023085 Fix wayland 2017-06-10 08:33:01 +02:00
Twinaphex 6d85e1f0a6 Merge pull request #5045 from casdevel/mice
Add player mouse device selection
2017-06-10 04:13:16 +02:00
Zoran Vuckovic e698e75a51 Adapt touchpad code for multiple mice support 2017-06-09 21:17:11 +02:00
twinaphex 473aed632d Get rid of this 2017-06-09 02:14:48 +02:00
twinaphex 8980f8c1ea Get rid of useless wrapper function epoll_waiting 2017-06-08 21:52:50 +02:00
twinaphex eb08a86647 Get rid of udev_common.c 2017-06-08 21:46:26 +02:00
Zoran Vuckovic 39108f97e9 Add player mouse index handling to winraw input driver 2017-06-08 17:35:34 +02:00
Zoran Vuckovic 44930716ba Add player mouse index handling to udev input driver 2017-06-08 18:49:08 +02:00
twinaphex 5ef8b69c9c (wiiu_input.c) Minor style nits 2017-06-07 21:06:24 +02:00
Zoran Vuckovic ceca89e104 Fix DRM/KMS keyboard handling 2017-06-07 12:25:10 +02:00
twinaphex d9e6cbb065 Simplifications to SDL input driver 2017-06-07 01:45:09 +02:00
twinaphex 59c3f8b06e Cleanups 2017-06-07 01:19:44 +02:00
twinaphex 603d4d0464 (udev/x11) Simplifications 2017-06-07 01:17:55 +02:00
twinaphex 9e93bdbe27 (linuxraw_input.c) simplifications 2017-06-07 01:12:35 +02:00
Twinaphex 3dede6d71a OSX buildfix 2017-06-07 00:35:11 +02:00
twinaphex c3f5c499f3 Simplify cocoa_input 2017-06-07 00:33:03 +02:00
twinaphex afd6a2bec5 Cleanups 2017-06-07 00:10:39 +02:00
twinaphex 604a558382 Get rid of input_wl_is_pressed 2017-06-07 00:09:31 +02:00
twinaphex deb804ab2f (x11_input.c) get rid of this inline function 2017-06-06 23:50:51 +02:00