Commit Graph

591 Commits

Author SHA1 Message Date
Gregor Richards af357c1afe Fix input when the joypad driver is NULL. 2018-06-01 23:22:04 -04:00
Twinaphex 909ffd4de4
Update input_driver.c 2018-05-03 15:28:26 +02:00
twinaphex 28025802da Try to fix build failure 2018-05-03 13:11:38 +02:00
radius 7bdbd005a8 fix #6700 2018-05-02 23:32:40 -05:00
twinaphex eac899f573 Try to fix build for targets that don't have HAvE_OVERLAY defined 2018-05-02 13:52:27 +02: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
gblues fb5b31faf3 Merge branch 'master' into gblues/hid 2018-04-14 14:18:03 -07: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
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 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 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 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 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 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
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 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
Ryunam c5775fd73c Implement Slow motion toggle 2018-03-10 18:42:45 +01:00
twinaphex 5139241e87 Fix Python codepath 2018-02-19 09:11:33 +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 61ff51be2f Start using string_is_equal predominantly 2018-01-16 22:53:38 +01:00
Toad King 21d928ba0e add joypad driver for emscripten 2018-01-14 00:15:30 -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
Gregor Richards 8d5a79fc69 Removing long-obsolete now-disfunctional "netplay flip players" feature 2018-01-05 14:27:02 -05:00
twinaphex b464014a51 C89_BUILD fixes 2017-12-31 03:27:55 +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 1beba28d02 Only call HIDSetup/HidTeardown once
== DETAILS
I did a minimalist edit of the HID thread that stripped out all
HID* syscalls, and this stopped the crashing. I then re-added just
the HIDSetup() and HIDTeardown() calls, and the crash came back.

This smells like an OS bug. To work around it, I've put the
HIDSetup() and HIDTeardown() calls into the app init/shutdown
section, so they only get called once in the application lifetime
and not each time the input driver is initialized.
2017-12-30 04:40:15 +01:00
Nathan Strong e80d99dbae Delete controller_patcher; start on proper HID driver
== DETAILS

We discovered that the controller_patcher code was causing
the WiiU to intermittently crash when switching ROMs.

Changes:

- Completely extricates the controller_patcher code
- Create a skeleton wiiu_hid driver
- Wire up the build system to build/link it successfully

== TESTING

Has not been tested. Probably doesn't crash, since the
skeleton driver is just a copy of the null driver.
2017-12-30 04:38:57 +01:00
twinaphex 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
misson20000 6d2a7b1f26 Nintendo Switch (libtransistor) port 2017-12-29 00:10:01 +01: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
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
Monroe88 cfde6a44db input_driver: Map Delete key to Y button for non-unified menu keyboard controls 2017-12-09 14:17:54 -06: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
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
neville 43f6a03110 (OSX PPC) Buildfixes 2017-12-04 02:59:06 +01: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 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 59812e9509 include mouse buttons in block hotkey check 2017-11-26 13:23:39 +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 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
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
David Walters 795057bacf Support for RETRO_DEVICE_INDEX_ANALOG_BUTTON 2017-11-17 22:46:23 +00:00
twinaphex c68db61188 Silence more Clang warnings 2017-10-11 22:49:13 +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
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 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 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 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
twinaphex e16371b8a5 Merge input_config.c and input_driver.c 2017-08-31 02:25:04 +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 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 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 5d78c2209f Remove obsolete header 2017-06-06 08:30:01 +02:00
twinaphex efdfb29d50 Turn input_joypad_is_pressed into static inline function 2017-06-06 08:12:53 +02:00
twinaphex 7685f93d00 input_menu_keys_pressed - don't use input_joypad_pressed 2017-06-06 07:59:41 +02:00
twinaphex 6b3dbff75f Merge input_driver.c and input_joypad_driver.c 2017-06-06 05:56:02 +02:00
twinaphex 4f678dfdfc Cleanups 2017-05-25 15:04:55 +02:00
Brad Parker a04b54006d win32: disable winraw input driver for targets older than XP 2017-05-23 21:03:00 -04:00
twinaphex 80b5bcd16c Cut down on some code duplication 2017-05-24 02:02:01 +02:00
Twinaphex 79d35d158a Use variable 2017-05-22 14:16:48 +02:00
twinaphex 98a3d80e71 Cleanups 2017-05-22 13:57:13 +02:00
twinaphex ec79d8c46a Cleanups - don't keep setting joypad_info members needlessly - do
it once
2017-05-22 12:49:12 +02:00
twinaphex 371c3e56de Get rid of empty function 2017-05-22 12:43:50 +02:00
twinaphex 10df6d3b54 Rewrite pressed functions 2017-05-22 12:40:19 +02:00
twinaphex f62490b14f Don't have inline static functions 2017-05-22 12:34:34 +02:00
twinaphex d48ec2a9e6 Turn conditional into else if 2017-05-22 12:24:23 +02:00
twinaphex d78e1da956 Cut down on code duplication 2017-05-22 12:21:11 +02:00
twinaphex e7d3f36a22 Call input_driver_pressed_keys_internal only once 2017-05-22 12:15:20 +02:00
twinaphex 70bbe92154 Simplify input_menu_keys_pressed 2017-05-21 22:32:29 +02:00
twinaphex d7de9facc3 Simplify input_keys_pressed 2017-05-21 22:31:15 +02:00
twinaphex 77d83b4782 Cleanups 2017-05-21 21:55:20 +02:00
twinaphex 8bf552dacd Move this code to retroarch.c 2017-05-21 21:42:13 +02:00
twinaphex f8f25602e8 Get rid of old_input variable 2017-05-21 21:24:01 +02:00
twinaphex a35e452ec3 Use trigger_input only for menu 2017-05-21 21:19:07 +02:00
twinaphex 68ecade37d Revert "Call button combo toggle for quick menu toggle from runloop_check_state"
This reverts commit 4d4b00f877.
2017-05-21 20:57:36 +02:00
twinaphex 4d4b00f877 Call button combo toggle for quick menu toggle from runloop_check_state 2017-05-21 20:53:33 +02:00
twinaphex 3e00c632bd Pass value instead of pointer 2017-05-21 20:47:53 +02:00
twinaphex 136a435c43 Fix keys while in binding mode 2017-05-21 20:42:46 +02:00
twinaphex 0742ebec21 Get rid of local_enable variable 2017-05-20 16:32:57 +02:00
Zoran Vuckovic 1bc945e3dc Add Windows raw input driver 2017-05-18 18:48:41 +02:00
twinaphex a0fcbf85a1 Cleanup 2017-05-18 09:36:59 +02:00
Twinaphex cc9e951b44 Cleanup 2017-05-11 07:37:20 +02:00
twinaphex 2906bec7a8 Create input_driver_get_uint 2017-05-11 07:36:21 +02:00
twinaphex ef8094836f Create input_driver_get_float 2017-05-10 07:07:06 +02:00
twinaphex bac9973354 Cleanups 2017-05-09 00:58:01 +02:00
twinaphex d9c5013d42 Pass settings struct around 2017-05-06 06:46:48 +02:00
twinaphex ac7f1cc5e2 C89_BUILD buildfix 2017-04-29 14:06:08 +02:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
twinaphex 05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex 0da40fb3aa Move all float settings 2017-04-28 14:57:55 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex eb34553fae Cleanup 2017-04-27 21:40:31 +02:00
Twinaphex c51e4397b0 remove unused variable 2017-04-26 03:00:21 +02:00
twinaphex 3dc26db377 Simplify libretro_input_binds 2017-04-26 02:43:39 +02:00
twinaphex 58fcf421b5 Simplify input_poll 2017-04-26 02:35:41 +02:00
twinaphex 33dda78ea8 Cleanups 2017-04-25 23:32:38 +02:00
twinaphex 3087ceb482 Don't go through all these slow wrapper functions 2017-04-25 20:47:21 +02:00
twinaphex 53c9acacd6 Wrap access to settings->input.binds completely 2017-04-25 18:50:49 +02:00
twinaphex d66aff8fbd Start wrapping settings->input.binds 2017-04-25 18:12:13 +02:00
twinaphex 6ace8ce66a Rewrite autoconf_binds and move it to task_autodetect.c - take
it out of the settings struct
2017-04-25 16:33:30 +02:00
twinaphex d1664481c2 Don't call input_remote_state unless pointer is non-NULL 2017-04-20 10:57:09 +02:00
twinaphex 69a3bf6a31 Create bsv_movie_is_playback_{on|off} 2017-04-20 10:40:11 +02:00
twinaphex f4071ba6ec Set axis_threshold 2017-04-18 05:11:44 +02:00
twinaphex 58c08c0c02 Cleanups 2017-02-27 09:33:20 +01:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
twinaphex 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
twinaphex be617c530b Expand input_keys_pressed 2017-01-25 04:31:55 +01:00
Brad Parker 57949227df DOS: initial input/joypad driver 2017-01-24 00:55:58 -05: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 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
twinaphex b4cdad1a6f Cleanups 2017-01-17 19:43:19 +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 b996df6447 Put back input flushing - fixes input entry 2017-01-13 15:11:00 +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 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 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 d48141041d Pass joypad_info to input_state function callback - less
settings pointer grabbing
2017-01-10 17:40:21 +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