Matthew Jimenez
b4083476d5
KEYMAPPER: Allow mapped actions without modifier keys when no mapped actions exist for current modifier keys
2020-05-30 19:37:20 +02:00
Bastien Bouclet
046be21193
KEYMAPPER: More complete keyboard repeat handling
2020-04-18 17:12:03 -07:00
Paul Gilbert
8bcebdec5f
ULTIMA4: Enable keymapper actions to optionally trigger on kbd repeats
2020-04-18 17:12:03 -07:00
Bastien Bouclet
9cc2fee887
SDL: Enable joystick input by default
...
Game controller input is now enabled whenever a compatible device is
connected. The keymapper's keymaps are refreshed when a joystick is added
or removed.
Fixes #10366 .
2020-03-16 18:41:27 +01:00
Bastien Bouclet
dbb2c73a6b
KEYMAPPER: Update the logic for multiple global / game keymaps
...
It is valid for actions from different keymaps of the same type to be
triggered by a single event.
2020-03-11 05:07:06 +01:00
Eugene Sandulenko
ef80498843
KEYMAPPER: Comment out noisy warning
2020-03-10 17:05:53 +01:00
Bastien Bouclet
568d882e80
KEYMAPPER: Introduce a Virtual Mouse event source
...
The Virtual Mouse is meant to provide a way to control the mouse cursor
on system without a physical mouse. It provides keymapper actions that
are expected to be bound to game controller axes or buttons.
2020-03-09 20:00:31 +01:00
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