Commit graph

72 commits

Author SHA1 Message Date
Bastien Bouclet
e66e35a3fd COMMON: Move isMouseEvent from Keymapper to Common 2020-03-09 20:00:31 +01:00
Cameron Cawley
1605b72ee8 BACKENDS: Add events for additional mouse buttons 2020-02-26 21:34:24 +01:00
lolbot-iichan
7edaf3f2f7 KEYMAPPER: Enable remapping of the mouse wheel 2020-02-19 08:04:25 +02:00
Bastien Bouclet
2177e685b7 KEYMAPPER: Allow joystick half axes to be remapped 2020-02-09 08:34:16 -06:00
Bastien Bouclet
3567c4f159 BASE: Reset the keymapper on RTL with dynamic plugins enabled
When returning to the launcher with dynamic plugins enabled, the config manager
is re-created, invalidating the pointers the keymapper keeps to the
configuration domains.

Fixes #11348.
2020-02-09 07:29:43 +01:00
Bastien Bouclet
4ad06f476b KEYMAPPER: Do a better job at keeping track of the mouse position 2020-02-01 09:36:09 +01:00
Eugene Sandulenko
d1805a582e BACKENDS: KEYMAPPER: Hid noisy warning 2020-01-29 16:48:46 +01:00
Bastien Bouclet
2ef7365401 KEYMAPPER: Change backend default bindings to replace keymap defaults
Previously backend defaults where added to the keymap defaults.
However, it became apparent backends need to change the default bindings
to resolve conflicts.
2020-01-29 08:51:30 +01:00
Bastien Bouclet
e973092aef KEYMAPPER: Enable remapping of the mouse buttons 2020-01-29 08:51:29 +01:00
Bastien Bouclet
426867f4bc KEYMAPPER: Give human readable descriptions to the keymaps 2020-01-29 08:51:29 +01:00
Bastien Bouclet
32174c9067 KEYMAPPER: Actions can now be bound to joystick buttons 2020-01-29 08:51:29 +01:00
Bastien Bouclet
df7ce0c55f KEYMAPPER: Rework HardwareInputSet not to allocate all possible inputs 2020-01-29 08:51:29 +01:00
Bastien Bouclet
df4bf6556c KEYMAPPER: Introduce custom engine actions
Custom engine actions are a new type of event the Keymapper can produce.
When an engine declares its keymap, it can declare it wants to receive
custom action events when the corresponding key is pressed, instead of
the originating hardware input events.

This system allows:
* Key bindings to be specified only once when declaring the keymap,
  instead of twice (when handling the events).
* To truly rebind keys in the keymaps dialog. When using traditional
  event mapping, the keymapper remaps the user keypress to the keypress
  expected by the game engine to perform the action. However, the engine
  still accepts the original keys.

The new concept of 'standard actions' defines a set of engine actions
that are commonly available in the games supported by ScummVM. Backends
can define default bindings for the standard actions to hardware
specific input devices.
2020-01-29 08:51:29 +01:00
Bastien Bouclet
ec9c394787 KEYMAPPER: Remove DefaultEventMapper
Now the keymapper is enabled by default, it does not make sense to have
a separate class anymore.
2020-01-29 08:51:29 +01:00
Bastien Bouclet
14663c4790 KEYMAPPER: Make the keymapper mandatory 2020-01-29 08:51:29 +01:00
Bastien Bouclet
cc336635a1 KEYMAPPER: Change custom backend action events not to be instant
Allows action consumers to choose if they want to react on the start or
on the end of an user interaction.
2020-01-29 08:51:29 +01:00
Bastien Bouclet
2d7588d9c3 EVENTS: Remove the dependency to EventSource from EventMapper 2020-01-29 08:51:29 +01:00
Bastien Bouclet
511d138bbc KEYMAPPER: Move the remap dialog to an option dialog tab
The aim is to make it easy to discover, and possible to use without a
keyboard.
2020-01-26 23:09:08 +02:00
Bastien Bouclet
285b10beef KEYMAPPER: Store hardware inputs into maps 2020-01-26 19:07:53 +01:00
Bastien Bouclet
576982bc33 KEYMAPPER: Use the default action bindings defined by the backends 2020-01-26 19:07:53 +01:00
Bastien Bouclet
17791e2f7d KEYMAPPER: Actions can now have default mappings 2020-01-26 19:07:53 +01:00
Bastien Bouclet
ade0efa762 KEYMAPPER: Multiple inputs can map to the same action 2020-01-26 19:07:53 +01:00
Bastien Bouclet
d5e2b5d8f2 KEYMAPPER: Make it clear the keymaps are owned by the keymapper
Also free all the remaining keymaps when freeing the keymapper.
2020-01-26 19:07:53 +01:00
Bastien Bouclet
9c0bc2b633 KEYMAPPER: Simplify the way keymaps are enabled and disabled 2020-01-26 19:07:53 +01:00
Bastien Bouclet
ac44469558 KEYMAPPER: Remove the domain class 2020-01-26 19:07:53 +01:00
Bastien Bouclet
930ff55421 KEYMAPPER: Simplify the event mapping logic 2020-01-26 19:07:53 +01:00
Bastien Bouclet
7edff01e69 KEYMAPPER: Move the remap event capture logic out of the keymapper 2020-01-26 19:07:53 +01:00
Bastien Bouclet
28e3f2aed7 KEYMAPPER: Remove dead code 2020-01-26 19:07:53 +01:00
Bastien Bouclet
e197a75829 KEYMAPPER: Action can generate only a single event 2020-01-26 19:07:53 +01:00
Bastien Bouclet
b7a816f1eb KEYMAPPER: Clean up the classes dependencies 2020-01-26 19:07:53 +01:00
Johannes Schickel
594aaad38f KEYMAPPER: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Tarek Soliman
c0a215282d KEYMAPPER: Add delays for *UP events coming from non-keys
Delayed entries are in a queue where each entry stores how
many milliseconds should pass based on the last entry.
2012-03-02 20:48:50 -06:00
Tarek Soliman
d12f21b31d KEYMAPPER: Map non-key custom input events
This also makes the keymapper be in charge of keymapping logic
2012-03-02 20:48:50 -06:00
Tarek Soliman
4ee1a3acea KEYMAPPER: Add non-key inputs to HardwareInput 2012-03-02 20:48:50 -06:00
Tarek Soliman
477c1b9a87 KEYMAPPER: HardwareInputSet now has defaults
Ports can add additional special keys.
SDL no longer carries the static tables.
Default behavior unchanged: HardwareInputSet() still gives an empty one.
2012-02-28 06:45:35 -06:00
Tarek Soliman
6afac4e01e KEYMAPPER: Rename HardwareKey to HardwareInput 2012-02-27 13:00:56 -06:00
Tarek Soliman
dbdfc13819 KEYMAPPER: Fix a signed/unsigned comparison warning 2012-02-22 15:16:52 -06:00
Tarek Soliman
aa42d78658 KEYMAPPER: Remove automapping dead code 2012-02-21 08:20:40 -06:00
Tarek Soliman
a0ba4eb569 KEYMAPPER: Rewrite the EventMapper API 2012-02-20 06:49:22 -06:00
Tarek Soliman
e7ade8ae05 KEYMAPPER: EventMapper must now eat all events 2012-02-20 06:49:21 -06:00
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Tarek Soliman
705761011d KEYMAPPER: Allow ports to define their own global keymap 2012-02-12 13:28:13 -06:00
Tarek Soliman
a488556dcd KEYMAPPER: Handle EVENT_MAINMENU directly 2012-02-02 19:10:01 -06:00
Tarek Soliman
37d77253cf KEYMAPPER: Add failsafe code for popping into Keymapper itself
Thanks LordHoto
2012-01-07 22:08:57 -06:00
Tarek Soliman
82e0900678 KEYMAPPER: Rename inherit flag to transparent
Less confusing
2012-01-07 21:10:05 -06:00
Tarek Soliman
366a942a3a KEYMAPPER: Simplify calling getKeymap 2011-12-30 13:03:39 -06:00
Tarek Soliman
b708d6de79 Revert "KEYMAPPER: Make global keymap that is always active"
This reverts commit ac85d134b3.
2011-11-02 10:16:16 -05:00
Tarek Soliman
ac85d134b3 KEYMAPPER: Make global keymap that is always active
Keymapper now has a global keymap outside the active keymap stack.
That global keymap is always checked after the active stack has been checked.
2011-10-27 10:46:22 -05:00
Tarek Soliman
e4f1277913 KEYMAPPER: Debugging and minor cleanup 2011-10-27 10:46:22 -05:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00