Commit graph

54 commits

Author SHA1 Message Date
Thierry Crozat
7e05309077 KEYMAPPER: Translate hardware input description
The strings were already marked for translation, but were not actually
translated.
2020-09-08 21:25:02 +01:00
aryanrawlani28
c855f6259a GUI: U32: Fix incorrect code for redirecting constructors.
- The changes previously were creating a temporary object whose lifetime was limited to that line.
- Additionally, use Strings instead of const char* in MessageDialogs.
2020-08-30 14:43:41 +02:00
aryanrawlani28
4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28
f800ca4ada GUI: U32: Convert majority of code to use U32
This commit also includes some additional major changes.

- Return U32String from TransMan getTranslation()
- Change tooltips to be U32Strings
- Remove temporary code of convertToU32String
- U32 Support various dialogs (Browser, FileBrowser, Messages, Chooser, etc)
- U32 for music plugins
- U32 for OSD messages
- Add some helper functions to ustr.cpp
- Change default tooltips from nullptr & 0 -> ""
- Some runtime exceptions may occur when changing languages due to incorrect String::Format
2020-08-30 14:43:41 +02:00
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
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
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
29dd15af0c KEYMAPPER: Enable remapping the keyboard modifier keys 2020-02-14 19:30:00 +01:00
Bastien Bouclet
2177e685b7 KEYMAPPER: Allow joystick half axes to be remapped 2020-02-09 08:34:16 -06: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
5079fa9dd4 KEYMAPPER: Sort the mappings by type and id in the remap dialog 2020-01-29 08:51:29 +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
14663c4790 KEYMAPPER: Make the keymapper mandatory 2020-01-29 08:51:29 +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
729cd24c0b KEYMAPPER: Change the keymap action list to be an Array 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
a449b87c5d KEYMAPPER: Remove action id length restriction 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
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
6afac4e01e KEYMAPPER: Rename HardwareKey to HardwareInput 2012-02-27 13:00:56 -06:00
Tarek Soliman
92aabb6868 KEYMAPPER: Change HardwareKey id to Common::String 2012-02-22 07:44:59 -06:00
Tarek Soliman
aa42d78658 KEYMAPPER: Remove automapping dead code 2012-02-21 08:20:40 -06:00
Tarek Soliman
cce5be67dc KEYMAPPER: Allow ports to define default Keymap Action bindings 2012-02-15 17:07:52 -06:00
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Filippos Karapetis
1d3ff35373 KEYMAPPER: Disable the (accidentally reenabled automatic mapper again 2011-12-30 00:12:45 +02:00
Filippos Karapetis
410c9e0b30 KEYMAPPER: Fix broken implementation of findHardwareKey()
This fixes the keymapper dialog (at least on desktop platforms), but the
keymapper itself is still not working (tested with LoL)
2011-12-30 00:09:10 +02:00
Tarek Soliman
d5aa988f16 KEYMAPPER: Disable the broken auto mapping code 2011-10-27 09:53:26 -05:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Torbjörn Andersson
72eb9ec9ea Fixed a bunch of cppcheck warnings. Mostly about checking if a pointer is null
before freeing it, which isn't necessary.

svn-id: r46941
2010-01-03 19:37:43 +00:00
Max Horn
f242266f6d Change a couple places from 'end of namespace' to 'End of namespace', for consistency
svn-id: r44634
2009-10-04 21:26:33 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Johannes Schickel
b3c6751b9b Strip trailing whitespaces in the whole code base.
svn-id: r40867
2009-05-24 15:17:42 +00:00
Eugene Sandulenko
2cc7763971 whitespaces
svn-id: r40424
2009-05-10 17:18:59 +00:00
Max Horn
250acd4c8d more cleanup
svn-id: r35971
2009-01-21 02:02:55 +00:00
Stephen Kennedy
df3b8fd14c Added preprocessor flags 'ENABLE_VKEYBD' and 'ENABLE_KEYMAPPER' to control inclusion of vkeybd and keymapper in build.\n\nAlso added corresponding --enable-vkeybd and --enable-keymapper flags to configure scripts.
svn-id: r34706
2008-09-30 13:51:01 +00:00
Stephen Kennedy
3451895189 Final changes to keymapper:
* HardwareKey's now have a type too, so that we can either match a key to an action or vice versa.
* Better test keymaps - with special gui keymap that is activated when a dialog is opened

svn-id: r34005
2008-08-18 19:54:46 +00:00
Stephen Kennedy
565fa728e7 Removed KeymapManager class. Automatic mapping now done in Keymap. Rest of KeymapManager functionality is implemented in Keymapper.
svn-id: r33988
2008-08-18 14:45:42 +00:00
Stephen Kennedy
d92909203b - proper init of virtual keyboard now implemented (involved added EventManager::init() which is called after screen has been initialised)
- changed HardwareKey / Action id field to an array of 4 chars instead of int32. Means that the keymap key/value pairs in config file are more readable.

svn-id: r33986
2008-08-18 10:07:11 +00:00
Stephen Kennedy
c61294e70f Changed Action constructor to take a pointer to the Keymap it belongs too, meaning Keymap::addAction is automatically called
svn-id: r33885
2008-08-14 23:45:02 +00:00
Stephen Kennedy
08ef79ce45 Loads of valgrind fixes
svn-id: r33869
2008-08-14 19:20:25 +00:00