Diablodiab
47d5242dd7
Add middle mouse button support to Android input driver
...
Add lightgun support to Android input driver
2017-02-16 21:52:52 +01:00
Diablodiab
4f039cac22
This adds external mouse support to the Android input driver. It also adds support for using the touch screen as mouse in cores with mouse support (eg. ScummVM).
...
It has been tested with the ScummVM core on:
- NVIDIA Shield TV running Android Nougat 7.0
- NVIDIA Shield Tablet running Android Nougat 7.0
- NVIDIA Shield Tablet running Android Lollipop 5.1
- Huawei Honor 7 running Android Marshmallow 6.0
- HTC Desire 500 running Android Jelly Bean 4.1
It's been tested using the touch screen, a USB mouse/keyboard combo, and a bluetooth mouse.
The Android version running on the device limits the functionality and user experience of the external mouse support.
Android Nougat and/or an NVIDIA SHIELD device with NVIDIA extensions provides the best user experience:
Android API < 14:
- Only left mouse button supported
- The Android mouse cursor will be visible along with the in game mouse cursor
- When the Android mouse cursor hits the edge of the screen it will not be possible to move the in-game mouse cursor further in that direction
Android API < 24 and no NVIDIA extensions available:
- Both left and right mouse buttons supported
- The Android mouse cursor will be visible along with the in game mouse cursor
- When the Android mouse cursor hits the edge of the screen it will not be possible to move the in-game mouse cursor further in that direction
Android API > 23 and/or NVIDIA extensions available (SHIELD devices):
- Both left and right mouse buttons supported
- The Android mouse cursor will be hidden
- The mouse is not limited by the (hidden) Android mouse cursor hitting the edge of the screen
Description of how the the touchscreen mouse support works:
- You can move the in-game mouse cursor using the touch screen. The in-game mouse cursor will move relative to your movements on the touch screen, it will not be centered on where you press the screen.
- One quick tap on the touch screen results in the left mouse button being clicked
- Two taps on the screen and keeping the second tap pressed down results in a left mouse being held down until you release
- Two fingers on the touch screen results in the right mouse button being clicked
The touch screen mouse functionality is active at the same time as overlay support. This might cause some confusion when using cores that are designed for mouse support but where you have also enabled overlay controls. At the top of android_input.c there's a define that can be used to turn off this functionality if it causes more problems than it solves.
2017-02-14 22:34:46 +01:00
xhp-creations
b04bf809e3
WiiU Fix Keyboard Input
...
WiiU Fix Keyboard Input
2017-02-09 14:08:27 -05:00
xhp-creations
4915f452f5
WiiU Initial Keyboard Support
...
WiiU Initial Keyboard Support
2017-02-09 12:34:12 -05:00
Brad Parker
83619b25e6
DOS: add keyboard driver to support non-joypad keys
2017-02-05 13:55:21 -05:00
twinaphex
e3a1b1859d
Fix ./configure --disable-rgui
2017-02-04 09:20:41 +01:00
twinaphex
f31ae11d29
Silence warnings
2017-01-31 04:00:16 +01:00
aliaspider
ffbd1e838a
(3DS) build fix.
2017-01-31 03:27:26 +01:00
neville
fc2654cd0f
(iohidmanager_hid.c) Silence a whole bunch of warnings
2017-01-29 20:20:43 +01:00
twinaphex
1b3225089e
iohidmanager.c - Attempt to silence some warnings
2017-01-29 20:11:32 +01:00
twinaphex
bdaf00032e
Add comments
2017-01-26 02:49:42 +01:00
twinaphex
be617c530b
Expand input_keys_pressed
2017-01-25 04:31:55 +01:00
aliaspider
0ba9faa8bd
(CTR) build fix.
2017-01-24 10:43:35 +01:00
Brad Parker
2c97e330de
remove unused code
2017-01-24 01:04:00 -05:00
Brad Parker
57949227df
DOS: initial input/joypad driver
2017-01-24 00:55:58 -05:00
aliaspider
021b510452
(WiiU) refactors/cleanups.
2017-01-23 16:14:05 +01:00
twinaphex
0761381e2a
Fix overlay issue
2017-01-23 02:45:36 +01:00
twinaphex
daf0e90f82
input_driver.c - cleanup
2017-01-23 02:28:25 +01:00
twinaphex
3a711f6d4f
Make conditional for polling the same as input_state
2017-01-23 01:46:33 +01:00
twinaphex
18662afe56
input_poll - cleanup
2017-01-23 01:44:13 +01:00
twinaphex
a42f66d629
Streamline input_state - hopefully turbo buttons still work
2017-01-23 01:18:08 +01:00
twinaphex
0d5b3b9273
Create menu_driver_is_alive
2017-01-23 00:37:52 +01:00
twinaphex
12c5cc51c5
Create bsv_movie_get_input
2017-01-22 17:03:42 +01:00
twinaphex
5bc611c885
Small cleanup
2017-01-22 16:54:33 +01:00
twinaphex
a9a3f6b078
Another cleanup
2017-01-22 16:49:08 +01:00
twinaphex
c283d2cf26
Small micro-opts to input_state
2017-01-22 16:44:34 +01:00
twinaphex
96c8ca5a09
Header update #1
2017-01-22 13:40:32 +01:00
Brad Parker
1d3e1a6962
DOS/DJGPP buildfix
2017-01-20 18:23:45 -05:00
twinaphex
aa59b33931
Use input_config_set_device
2017-01-17 19:59:33 +01:00
twinaphex
b4cdad1a6f
Cleanups
2017-01-17 19:43:19 +01:00
twinaphex
0354ced675
Style nits
2017-01-17 19:02:49 +01:00
twinaphex
4743230b09
Some header includes shouldn't be system includes
2017-01-17 18:15:11 +01:00
twinaphex
7931436f5b
Apply xerpi diff
2017-01-17 18:12:23 +01:00
Twinaphex
014ed5e87f
Merge pull request #4441 from aliaspider/master
...
(WiiU) simplify input code + fix crash on content reload.
2017-01-17 13:16:56 +01:00
aliaspider
14660a8c12
(WiiU) simplify input code, add button labels for autoconfigs.
2017-01-17 12:41:55 +01:00
twinaphex
d519ad7017
(input_config.c) Move variable
2017-01-16 21:36:04 +01:00
aliaspider
8cb692622a
(WiiU) add support for bluetooth controllers (Wiimote, nunchuk, classic
...
controller, wiiu pro controller).
2017-01-16 18:52:39 +01:00
twinaphex
77cf4f4e06
This should fix index issue
2017-01-16 16:09:40 +01:00
twinaphex
6eac6a6447
joy_idx goes through joypad_map now
2017-01-16 15:20:14 +01:00
twinaphex
e3e8796b2b
(iohidmanager_hid.c) Stylistic cleanups
2017-01-15 21:13:01 +01:00
Twinaphex
1544a3d6e1
(OSX) Fix warnings
2017-01-15 21:07:15 +01:00
John Regan
4f352227ea
OSX Joypad Improvements
...
This commit has two main changes to the OSX HID driver:
1.
Some joysticks have invalid/incorrect 'use' assigned to buttons and
axes. For example, my RetroUSB.com Genesis Retroport reports 8 buttons,
but they're reported as 1, 2, 3, 4, 1, 2, 3, 4, and my RetroLink
Gamecube-clone controller reports 2 axes with id 50.
OSX assigns each of these elements a unique cookie value, so it's still
possible to uniquely identify a button. Whenever a controller is
connected, the driver scans for all buttons and axes. When it identifies
a duplicate 'use' id, it reassigns it a new ID.
Whenever the input callback is called, it grabs the cookie value,
finds the input element with a matching cookie, and uses that element's
id instead of the one reported by the device.
The old joystick configs should not be broken by this - I'm using the
existing 'use' value wherever possible, and only changing it when it's
broken.
The 'faked' ids are done in a deterministic way, a joystick will never
have a button's 'faked' id change between launches of RetroArch.
2.
This enables HAT switch input.
2017-01-15 12:17:47 -06:00
Aaron Kling
8a2585f8dc
Handle motion events if source is touchscreen or mouse regardless
...
of other sources being set.
API level 9 doesn't support stylus, but still needs to be handled.
Current code throws out additional sources that it doesn't
recognize. This instead ignores whether other sources are set.
2017-01-13 18:37:50 -06:00
twinaphex
6ed4de0d79
Create input_config_get_device_name
2017-01-13 16:02:10 +01:00
twinaphex
8b0127b122
(input_keyboard.c) Remove dependence on configuration.h header
2017-01-13 15:56:17 +01:00
twinaphex
17ff813310
(input_joypad_driver.c) reduce header dependencies on configuration.h
2017-01-13 15:53:14 +01:00
twinaphex
4ebf4d6938
Create input_config_get_bind_idx
2017-01-13 15:42:30 +01:00
twinaphex
0387e5e470
(input_keyboard.c) Cleanup
2017-01-13 15:26:40 +01:00
twinaphex
f9dbd4dc02
Remove config_label_to_key
2017-01-13 15:24:54 +01:00
twinaphex
b996df6447
Put back input flushing - fixes input entry
2017-01-13 15:11:00 +01:00
twinaphex
cab74cd4a2
Buildfix
2017-01-13 10:00:43 +01:00
twinaphex
ea3dd6a95b
Set device name when autoconfig connect task fails for all
...
other input drivers too
2017-01-13 05:00:13 +01:00
twinaphex
455c3f35c9
Buildfix
2017-01-13 04:42:26 +01:00
twinaphex
add7d26c3d
Set device name for xinput/dinput even when autoconfig is
...
disabled
2017-01-13 04:40:44 +01:00
twinaphex
b2ad5274b3
Cleanups/style nits
2017-01-12 09:01:07 +01:00
twinaphex
640c9aa824
Get rid of ifdef
2017-01-12 08:55:46 +01:00
Twinaphex
c5d1fe9ec5
Cleanup
2017-01-12 07:36:52 +01:00
twinaphex
404e60f7ed
Initialize all users' binds
2017-01-11 23:37:01 +01:00
twinaphex
73a5e54ca8
Initialize libretro_input_binds inside input_driver_init
2017-01-11 23:32:33 +01:00
twinaphex
ca5bdab881
Rename get_state_menu_toggle_button_combo
2017-01-11 20:29:31 +01:00
twinaphex
640d7e69f3
Make menu toggle binds work again - still latching issues
...
but same as before so no regression
2017-01-11 11:48:26 +01:00
twinaphex
b45c96cc18
(WiiU) Buildfix
2017-01-11 08:24:55 +01:00
twinaphex
819f7c1e41
Get rid of input_keys_pressed_end macro
2017-01-11 07:31:37 +01:00
twinaphex
c79da6842e
Found a better and clenaer way to flush input
2017-01-11 07:31:09 +01:00
twinaphex
d0df067e84
Ignore 'unified controls' when OSK keyboard is onscreen even
...
when unified controls are enabled
2017-01-11 06:05:21 +01:00
twinaphex
899601e7bb
Do an early return inside menu_shader_manager_init if already initialized
2017-01-11 03:36:35 +01:00
twinaphex
9daf16ee55
Fix crash at startup when enable_hotkey is mapped
2017-01-11 03:23:47 +01:00
twinaphex
4f4af01349
Fix keyboard issues with OSK
2017-01-11 02:17:03 +01:00
twinaphex
997fa98887
Style nit
2017-01-11 00:00:24 +01:00
twinaphex
5b15119f06
(PSP) Buildfix
2017-01-10 22:48:39 +01:00
twinaphex
cd105e7432
(CTR) Buildfix
2017-01-10 22:45:53 +01:00
twinaphex
6b5bf1ccc3
(wiiu_input.c) Fix build
2017-01-10 22:44:44 +01:00
twinaphex
2ed1e38021
dinput.c - silence warning
2017-01-10 20:11:51 +01:00
twinaphex
5978cf89de
Cleanups
2017-01-10 20:05:53 +01:00
twinaphex
1eb17b6315
Remove settings header includes
2017-01-10 20:03:55 +01:00
twinaphex
f3de77e93c
(dinput.c) remove dependency on settings struct
2017-01-10 20:00:07 +01:00
twinaphex
da244c177b
Fix signed/unsigned mismatch warning
2017-01-10 19:49:00 +01:00
twinaphex
8bd12368ef
Pass joypad_driver name to input_driver_init function and make
...
sure we don't need to access the settings struct from the
input driver
2017-01-10 17:59:48 +01:00
twinaphex
db6fba51c3
Cleanup dinput.c
2017-01-10 17:42:57 +01:00
twinaphex
d48141041d
Pass joypad_info to input_state function callback - less
...
settings pointer grabbing
2017-01-10 17:40:21 +01:00
twinaphex
da4d2a9f42
Remove conditionals for device JOYPAD from input_state callback functions
2017-01-10 17:05:04 +01:00
twinaphex
b44b025eab
Do conditional checking (if bind is valid) outside of input_state
...
callback function
2017-01-10 17:00:01 +01:00
twinaphex
08a2acdc95
Update input_keys_pressed_checks
2017-01-10 16:51:35 +01:00
twinaphex
baf351e1ee
CLeanup input_menu_keys_pressed_internal
2017-01-10 16:34:55 +01:00
twinaphex
98a346db2d
Cleanup input_menu_keys_pressed_internal
2017-01-10 16:29:16 +01:00
twinaphex
f26fbbef83
(input_driver.c) Move settings variable
2017-01-10 16:17:34 +01:00
twinaphex
0e487e0acd
Create input_keys_pressed_end
2017-01-10 16:15:20 +01:00
twinaphex
22b86226f8
Fix warnings
2017-01-10 16:14:49 +01:00
twinaphex
91e572d7ef
Create input_keys_pressed_checks macro
2017-01-10 16:08:31 +01:00
twinaphex
466d5fd531
(input_driver.c) Cleanups
2017-01-10 16:03:25 +01:00
twinaphex
b94c4eec2b
(input_driver.c) Cleanups
2017-01-10 16:00:20 +01:00
twinaphex
b9945f05f1
Pass joypad_info to input_joypad_analog
2017-01-10 03:53:57 +01:00
twinaphex
6376f2af68
Add rarch_joypad_info_t
2017-01-10 03:44:53 +01:00
Josh Palmer
437734e407
Rewrite QNX input & joypad drivers for proper BB10.3.1 support
2017-01-09 20:26:09 +00:00
Josh Palmer
8672b88eff
First round of momentics project fixups
2017-01-09 20:24:51 +00:00
twinaphex
485385be80
Cleanups
2017-01-09 02:13:16 +01:00
twinaphex
42686f2f81
(input_overlay.c) remove bunch of header includes
2017-01-09 01:51:30 +01:00
twinaphex
e75633064a
Add 'Y button' callback function for input binds
2017-01-05 04:52:04 +01:00
twinaphex
5bb741ffda
(input) Cleanups/nits
2017-01-03 04:55:37 +01:00
twinaphex
4e3c2b3e66
(PSP/Vita) Buildfix
2017-01-02 02:39:15 +01:00
Alcaro
7b8a5b4f5b
error: invalid conversion from ‘int’ to ‘xkb_keymap_compile_flags’
2017-01-02 02:17:32 +01:00
twinaphex
92ca53db01
No more usage of settings_t inside input_overlay.c
2017-01-01 04:57:57 +01:00
twinaphex
36a6abede7
(input_overlay.c) Cleanup
2017-01-01 04:31:22 +01:00
twinaphex
46080f2194
(input_overlay.c) Cleanup
2017-01-01 04:28:25 +01:00
twinaphex
d84b75e1de
(input_overlay.c) Cleanups
2017-01-01 04:26:21 +01:00
twinaphex
8d8fab60f9
input_overlay.c - cleanups
2017-01-01 04:21:29 +01:00
twinaphex
0ec6ef75df
Move early return check to input_driver.c
2017-01-01 04:17:58 +01:00
twinaphex
6d4659a902
(overlay) Reduce dependence on grabbing settings pointer everywhere
2017-01-01 04:12:24 +01:00
twinaphex
103042de96
Rewrite task_autodetect.c
2016-12-31 07:43:34 +01:00
radius
af02b3ac85
Allow builtin autoconfs with the XBONE controller
2016-12-25 21:03:04 -05:00
twinaphex
66f189dff6
(wiiusb_hid.c) Prevent crashes
2016-12-26 00:38:54 +01:00
twinaphex
a5e4ea2f33
C89_BUILD fix
2016-12-24 01:47:01 +01:00
twinaphex
87e5c5a1bd
input_menu_keys_pressed - remove some more boilerplate code
2016-12-23 02:28:13 +01:00
twinaphex
af5aaa9db8
Cleanup boilerplate code in input_menu_keys_pressed
2016-12-23 02:22:47 +01:00
twinaphex
32e1f96fa1
(PS3) Fix gamepad
2016-12-21 22:27:37 +01:00
twinaphex
8dcf05036c
(input_config.c) Get rid of implicit memset
2016-12-19 18:55:02 +01:00
Gregor Richards
262d77546b
Adding game/watch key
...
Adding a key to toggle between playing and spectating. This key takes
the place of the previous flip key, although player flipping does
continue to work (and must be rebound if you still want it)
2016-12-18 19:28:42 -05:00
radius
ab56b5f33c
differentiate xbox one controllers
2016-12-18 13:44:15 -05:00
Hans-Kristian Arntzen
313ac63c33
Make use of xkb_state_update_mask.
...
Fixes mod keys in Wayland it seems.
2016-12-17 20:42:48 +01:00
Hans-Kristian Arntzen
b2059dcb79
Implement basic Wayland keyboard and mouse.
2016-12-17 20:28:08 +01:00
twinaphex
feae0823ce
Prevent some implicit memsets
2016-12-17 14:40:06 +01:00
twinaphex
aafae944cb
Don't memset autoconfig_params_t
2016-12-17 14:26:13 +01:00
twinaphex
2153f3f011
Check if autodetect is enabled at beginning of connect task
2016-12-16 15:18:04 +01:00
twinaphex
209305f944
Connect task now sets PID/VID too
2016-12-16 14:02:11 +01:00
twinaphex
1b0389713d
(GX) Buildfix
2016-12-16 13:42:41 +01:00
Twinaphex
db1f3c058a
(iohidmanager_hid.c) No longer need to include configuration.h now
2016-12-16 12:36:01 +01:00
twinaphex
d9def056e7
The 'connect' task now sets the device name upon completion
2016-12-16 12:33:56 +01:00
twinaphex
62f5b2d3c3
The disconnect task now clears the device name
2016-12-16 12:20:31 +01:00
Twinaphex
5c522c643c
Merge pull request #4254 from danzel/fix-joypad-connection
...
Fix joypad_connection handling of unknown controllers
2016-12-16 12:15:40 +01:00
Dave Leaver
cd5a5c5fd7
iohidmanager_hid: Remove name from adapters when they are disconnected
2016-12-16 20:17:24 +13:00
Dave Leaver
f7c6574b37
Correctly handle adding controllers if we fail to match them to the known pad_map.
2016-12-16 20:16:55 +13:00
twinaphex
45e841c5c5
Don't include config_file.h inside input_config.h
2016-12-15 11:17:48 +01:00
Twinaphex
4964791cde
Revert "changed input binding order"
2016-12-11 19:00:03 +01:00
Patrick Scheurenbrand
d40a0e2f3a
changed input binding order
2016-12-11 13:03:02 +01:00
twinaphex
15c63c3de9
(input_driver.c) Cleanups
2016-12-11 09:13:24 +01:00
twinaphex
d2bd6677bd
(udev_joypad.c) Cleanup
2016-12-11 08:48:25 +01:00
twinaphex
e9f853ba93
Move (joykey == NO_BTN ) to input_joypad_driver
2016-12-11 08:44:55 +01:00
twinaphex
37559c6f5f
Cleanups
2016-12-11 08:31:55 +01:00
twinaphex
423578d972
(Joypad drivers) Simplify hat code
2016-12-11 07:28:33 +01:00
twinaphex
b087a7441a
Fix game focus toggle
2016-12-11 03:52:08 +01:00
twinaphex
e32d93d886
Remove functions
2016-12-07 08:14:04 +01:00
twinaphex
04a3c3f15e
Remove unused function input_driver_unset_flushing_input
2016-12-07 08:11:59 +01:00
twinaphex
dc7549434f
Add headers
2016-12-07 08:10:02 +01:00
twinaphex
a12d0d082d
Move input_translate_coord_viewport to video_driver.c
2016-12-07 08:07:11 +01:00
twinaphex
7327e98c8a
Add HAVE_XINPUT ifdef
2016-12-07 07:08:27 +01:00
twinaphex
d04309fc05
Buildfix
2016-12-07 06:16:12 +01:00
twinaphex
31a7f64f2c
Cleanups
2016-12-07 05:41:08 +01:00
twinaphex
f6dcfd21cf
(MSVC) MSVC build fixes
2016-12-07 05:39:27 +01:00
twinaphex
e3620278a8
Add HAVE_MENU ifdefs for menu code
2016-12-07 03:16:34 +01:00
twinaphex
4b1c24adf9
- Move input flushing hack to input_keys_pressed functions
...
- Move menu binding state hack to menu_input_keys_pressed
2016-12-06 20:50:29 +01:00