Commit Graph

163 Commits

Author SHA1 Message Date
Mike Robinson 6203c3162e Fallback to first working joypad driver if init failed
Fallback to the old behavior on init failure so there's no
regression if the user did not select a working joypad driver.
2014-10-03 03:05:35 +01:00
Mike Robinson b165b8fa82 Fix joypad driver setting
input_common.c was loading the first available joypad driver no
matter what input driver was selected, and the joypad driver menu
was non-functional. Allow choice of joypad driver from the menu.
2014-10-03 01:40:47 +01:00
twinaphex 532938c5fa Refactor meta_input_keys_pressed 2014-10-03 00:55:44 +02:00
twinaphex 8a1f15c460 Move rarch_check_block_hotkey to input/input_common.c and make
the function static
2014-10-03 00:46:14 +02:00
twinaphex d43b9082e7 Move input_autodetect code to input_autodetect.c 2014-09-30 17:48:31 +02:00
Twinaphex 9f5031188b Merge pull request #1066 from CyberShadow/pull-20140930-083313
Refactor old_state out of meta_input_keys_pressed into rarch_main_iterate
2014-09-30 10:40:43 +02:00
Vladimir Panteleev 0c104ffef8 Refactor old_state out of meta_input_keys_pressed into rarch_main_iterate 2014-09-30 08:35:41 +00:00
twinaphex ca9bfa18e4 Refine meta_input_keys_pressed 2014-09-29 21:23:35 +02:00
twinaphex c8ec8d9a7d Remove unused joy_keys_pressed function now 2014-09-29 21:01:59 +02:00
Vladimir Panteleev d0e970f175 Fix/reimplement input flushing
This fixes:

- menu toggle erratically not working on Android
- stray input going to libretro core when resuming content
- bound keys triggering as soon as they're bound on Android
- menu key repeat also repeating keys which should not be repeated
- issues caused by relying on timeouts for flushing

Architectural changes:

- menu_ctx_driver_t::input_postprocess now takes state and old_state
  (this allows getting rid of menu_handle_t::trigger_state)

Related changes:

- remove some no-op input_postprocess handlers (same effect as NULL)
- menu_iterate now uses the parameters passed to it, instead of
  polling menu_input
- menu_input is now merged into meta_input_keys_pressed
2014-09-29 12:58:52 +00:00
twinaphex b2b9cf5717 Rewrite input_push_analog_dpad 2014-09-26 12:56:03 +02:00
twinaphex d94e8329e8 Move stuff to config.features.h 2014-09-25 08:12:58 +02:00
twinaphex aa6d779fbc Added 1-second timeout when binding hotkeys 2014-09-25 04:44:24 +02:00
twinaphex 8015061720 Refactor menu_input - add input_keys_pressed in addition to
meta_input_keys_pressed
2014-09-25 04:19:09 +02:00
twinaphex eeda9df418 input_common.c - small cleanups 2014-09-16 07:06:23 +02:00
Higor Eurípedes 52f300b3ac (Makefile.common) Add missing xinput autoconfig object 2014-09-13 23:09:14 -03:00
Lioncash 64272ef327 Squash some more potential null pointer dereferences 2014-09-11 23:04:02 -04:00
twinaphex 75d2e13dcb Make drivers non-const 2014-09-11 07:06:20 +02:00
twinaphex 689cd6322f Indenting / style nits 2014-09-09 18:15:17 +02:00
Twinaphex 6fdc22eb0b Merge pull request #943 from lioncash/printf-fmt
Fix some printf specifiers to the correct signed-ness
2014-09-06 03:40:26 +02:00
twinaphex 24500dfeb5 (Android) Build fixes 2014-09-06 03:39:37 +02:00
twinaphex d7ca4d584c (Android) KEY_DOLLAR and KEY_EURO not defined on Android 2014-09-06 03:32:55 +02:00
Lioncash ab1ab62a6d Fix some printf specifiers to the correct signed-ness 2014-09-05 19:43:32 -04:00
Higor Eurípedes a01e43cc6d Add missing linuxraw/udev keys 2014-09-04 12:51:34 -03:00
twinaphex 514e454f16 Bump up max players to 16 2014-09-04 16:15:49 +02:00
Higor Eurípedes a7190a8da5 Reorder and add missing X11 and SDL key syms
SDL1 and SDL2 key syms have been merged.
2014-09-02 21:36:37 -03:00
twinaphex e68f62040d Cleanups, 80-char limit 2014-09-02 16:50:28 +02:00
twinaphex bf13548459 Remove extraneous elses in input code 2014-08-28 18:09:55 +02:00
twinaphex 823be1ce41 Get rid of more driver_funcs macros 2014-08-15 20:51:59 +02:00
twinaphex fab7792058 Get rid of set_keybinds - no longer used 2014-08-14 00:49:28 +02:00
twinaphex 7ff8db3f69 input_common.c - prevent unused variable warning 2014-08-12 23:00:59 +02:00
twinaphex b1d7cd038d Refactor input_push_analog_dpad 2014-08-12 20:59:05 +02:00
Higor Eurípedes e38c826fe1 (SDL*) Merge joypad drivers 2014-08-11 19:47:30 -03:00
Higor Eurípedes b6df19dffb (SDL*) Merge input drivers 2014-08-11 19:47:30 -03:00
Higor Eurípedes 609f3a8a36 (SDL2) Added joypad driver 2014-08-10 18:09:56 -03:00
Higor Eurípedes 46beb117ef (SDL2) Add input driver 2014-08-10 15:00:21 -03:00
twinaphex b76a2c2cee Refactor away input_joypad_poll - trivial wrapper function 2014-08-03 00:44:07 +02:00
twinaphex b6dc9fff03 Comment out input_common debug log 2014-08-02 19:56:18 +02:00
twinaphex 5f42c1281b Refactor input_try_autoconfigure_joypad - certain pads (like Xarcade
Tankstick) have two player pads on one device and have separate
buttons/keys per pad - so we need to query first for a name with the
'index' appended at the end - and a more generic 'name' afterwards
2014-07-28 04:28:45 +02:00
twinaphex 7730e872f8 Take out autoinput log 2014-07-28 04:08:06 +02:00
twinaphex a41c97c186 Add log for AUTOINPUT 2014-07-28 02:06:54 +02:00
Toad King 57d1cbbf26 (EMSCRIPTEN) add analog emulator support 2014-07-06 20:02:44 -04:00
Monroe88 adc7cba421 Add missing RetroKeyboard mappings to DirectInput 2014-07-01 21:06:56 -05:00
John Grub e2f8217d83 fix build
need another #endif here to go along with the new #ifdef
2014-06-14 17:25:09 -07:00
twinaphex c1501f7ffe (QNX) Start refactoring QNX input driver 2014-06-14 23:07:58 +02:00
Themaister 50ac407a9a Avoid breaking autoconfig when inside a push/pop d-pad emulation block. 2014-06-11 15:48:15 +02:00
twinaphex 31c68a7402 (Android) Input driver - cleanup pt. 1 2014-06-10 21:59:18 +02:00
twinaphex 234edda575 (Apple) Properly implement joypad - now executes init - and
also executes osx_pad_init and osx_pad_quit from joypad driver now
instead of outside code having to call it externally
2014-06-10 03:32:03 +02:00
twinaphex a7cb3e22a7 (Menu) Replace some more RGUI strings 2014-06-10 02:44:19 +02:00
twinaphex 13c5e4b1ab (GX) Reimplement controls pt. 1 2014-06-09 21:18:22 +02:00
Themaister 9bf32df360 Report autoconfigured binds in RGUI. 2014-06-09 19:23:51 +02:00
twinaphex a32c29e5ed (PSP) Refactor input autoconf 2014-06-09 18:57:17 +02:00
twinaphex 0e6d99d2de (XDK) Switch to new autoconf system 2014-06-09 18:17:37 +02:00
Themaister accc24ac8a Properly init ps3 joypad driver. 2014-06-09 16:03:42 +02:00
Themaister addba80c3b Rewrite DSP plugin interface. 2014-05-20 12:28:33 +02:00
Twinaphex 165698b9f2 Merge pull request #481 from libretro/dpad-map
Analog D-pad mapping
2014-01-08 12:01:39 -08:00
Themaister 67e7628568 Rename input_find_sk_key.
Matches up better with the conventions in input_common.
The sk-prefix was from SSNES days (how things linger on ... D:)
2014-01-08 18:24:54 +01:00
meancoot c786483635 Expand config key map table; have overlay’s use it to look up key names. 2014-01-08 12:16:22 -05:00
Themaister f57a1aa032 Add support for mapping analogs to D-pad again.
Use a cleaner approach which can feasibly work on all platforms.
Uses input_push/pop_analod_dpad to modify the joyaxis field before
polling input. This way, the RetroPad D-pad binds can inherit the
joyaxis fields from ANALOG_LEFT_X_PLUS and friends.

Also add support for the field in RGUI and saves settings.
2014-01-08 17:31:14 +01:00
Themaister 35c485aab0 Reuse bind maps in input_common for overlay. 2014-01-07 17:14:09 +01:00
twinaphex 0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
Themaister 58f8cde980 Fix PC build. 2013-12-24 11:11:25 +01:00
Toad King d7cacaa9ed start of porting wii input driver to better support RGUI. still has issues with axises 2013-12-22 19:47:33 -05:00
Themaister 977cec1378 Refactor keyboard event callbacks.
Go through input/keyboard_line.c to better hide internal logic
regarding keyboard line input.
2013-12-10 19:39:09 +01:00
Themaister f4d79eaf0e Fix minor crash and mouse. 2013-12-07 14:16:17 +01:00
Themaister c21310b261 Start adding udev input driver. 2013-12-07 14:13:40 +01:00
Themaister 61d66b7f19 Make udev joypad driver default over linuxraw.
Udev supports rumble and should be the default.
2013-12-05 10:09:41 +01:00
twinaphex f8c37fc933 (Menu) Simplify menu preprocessor conditionals - there is now
one common catch-all define called HAVE_MENU
2013-11-08 04:36:47 +01:00
twinaphex d2c87e3039 Convert most C99-style for loop initial declarations to C89-compliant
ones
2013-10-22 15:08:17 +02:00
twinaphex abb829283b Take out messy Dpad emulation code - this will require an entire
rewrite where we come up with a solution that works the same across
console/PC/mobile
2013-10-05 20:55:37 +00:00
Themaister 2bd065e359 Move TURBO key below analogs.
Avoid having it show up in menu.
2013-09-30 19:40:41 +02:00
Themaister 7229142e57 Display current keybind in RGUI. 2013-09-30 18:27:35 +02:00
Themaister 02cd05550e Reuse input_config_bind_map. 2013-09-30 18:08:47 +02:00
Themaister 4f2de6d578 Add RGUI menu toggle config. 2013-09-29 20:40:04 +02:00
Themaister c7db4aff64 Support variable strength for rumble motors. 2013-09-26 12:55:05 +02:00
Themaister 8b1ac3bc9e Add rumble tests to libretro-test. 2013-09-25 23:58:02 +02:00
Themaister a01ef18f80 Add RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE. 2013-09-25 23:21:32 +02:00
Themaister 7855781cd8 Hook up rumble interfaces to input drivers. 2013-09-25 22:59:05 +02:00
Themaister e5d0b09df5 Start adding Linux Udev joypad input. 2013-09-25 19:32:18 +02:00
Hans-Kristian Arntzen 7d90ff4011 Merge pull request #303 from libretro/emscripten
Emscripten/Javascript port
2013-09-11 01:01:29 -07:00
ToadKing b874f003ff [EMSCRIPTEN] undo SDL workarounds no longer needed 2013-09-10 22:02:54 -04:00
ToadKing a09dda3a9d [EMSCRIPTEN] add custom input driver, removes SDL dependency + adds mouse support 2013-09-10 20:21:48 -04:00
Themaister 99dbd6bd1c Clean up autoconfig stuff a bit, add headers. 2013-09-06 23:24:21 +02:00
pinumbernumber d2472eb8cb indentation fix 2013-09-06 20:53:26 +01:00
pinumbernumber 50e4dfb57c Various fixups to the internal autoconf system 2013-09-06 13:46:06 +01:00
pinumbernumber 8fd84fa46c Hardcoded joypad config fallbacks, and required changes to config_file 2013-09-05 20:44:00 +01:00
pinumbernumber 333ae68163 more small style tweaks 2013-08-26 12:13:41 +01:00
pinumbernumber f5454cd446 Initial xinput support, fix msvc build 2013-08-23 13:09:59 +01:00
ToadKing 49398698b5 initial emscripten port (no audio/files, input broken) 2013-07-17 20:26:01 -04:00
Themaister b323640d7c Make joypad driver configurable. 2013-05-04 10:24:15 +02:00
Themaister dfdcfac588 Add concept of meta "level" for hotkeys.
Used by retroarch-joyconfig to make misc key config easier.
2013-04-29 21:11:29 +02:00
Themaister a076b14daa Clean up some ifdefs. 2013-04-27 00:14:01 +02:00
Themaister f06f6e544e Don't spam OSD messages for autoconfigure. 2013-04-26 15:03:09 +02:00
Themaister cca7fce89c Add joypad autoconfig support. 2013-04-26 14:48:48 +02:00
Themaister 0ac849d825 Let retroarch-joyconfig write autoconfigs. 2013-04-26 13:25:40 +02:00
Themaister 42a9e46cb2 Input config refactor.
Move LUTs to input_common.c. Make LUTs public.
2013-04-26 11:44:54 +02:00
Themaister 9a96e6a8f3 Rewrite linuxraw-joypad. Add hotplug.
Adds plug-n-play to linuxraw-joypad.
Can plug devices in and out in flight.

linuxraw_joypad is now default joypad API on Linux,
making SDL obsolete.
2013-04-26 00:03:22 +02:00
twinaphex 3a131cf5b8 (PS3) Compile in HAVE_OVERLAY 2013-04-10 04:39:27 +02:00
Themaister 292bc36b43 Basic mouse grabbing for X11. 2013-03-29 18:55:54 +01:00
Themaister 2be53ac0f9 Add MENU_TOGGLE bind config. 2013-03-16 12:21:16 +01:00