#8711 closed patch (outdated)
backends lib patches
Reported by: | SF/sbatyuk | Owned by: | sev- |
---|---|---|---|
Priority: | normal | Component: | --Other-- |
Version: | Keywords: | ||
Cc: | Game: |
Description
This patch is dealing with the new key mapping architecture. I have added the buttons.h which similar to keyboard.h but also includes codes for mouse buttons. EventManager class has been modified, and the GenericEventManager was added to provide a base class for specific backend event managers' implementations.
Ticket imported from: #1752243. Ticket imported from: patches/816.
Attachments (16)
Change History (44)
by , 17 years ago
Attachment: | backends-lib.v1.patch added |
---|
comment:1 by , 17 years ago
Owner: | set to |
---|
comment:3 by , 17 years ago
Summary: | backends lib patch v1 → backends lib patches |
---|
comment:4 by , 17 years ago
v3 patch is a totally new patch for key mapping. It considers Max's comments regarding the key to key mapping, plus it introduces OSystem_Common, a base class for other OSystem classes. At the moment it provides support for key mapping and virtual keyboard. Their functionality goes into key-mapper.h/cpp and virtual-keyboard.h/cpp respectfully. File Added: backends-lib.v3.patch
comment:5 by , 17 years ago
Note: v3 patch should applied upon a fresh trunk without the v1 and v2 patches
comment:7 by , 17 years ago
Yes, I've also added patch v3.1. fixed the bug of substituting the EVENT_KEYUP with EVENT_KEYDOWN
comment:8 by , 17 years ago
- removed OSystem_Common in favour for a modularised approach - removed getAvailableKeys() in KeyMapper class - hooking up key mapper and virtual keyboard in default event manager
File Added: backends-lib.v3.2.patch
by , 17 years ago
Attachment: | backends-lib.v3.3.patch added |
---|
v3.2 update: STL replaced with Common:: - debug.cpp in sky engine does not compile
comment:9 by , 17 years ago
Patch v3.2 update. STL replaced with Common:: but debug.cpp in sky engine does not compile File Added: backends-lib.v3.3.patch
by , 17 years ago
Attachment: | backends-lib.v3.4.patch added |
---|
v3.4 is the same as v3.3 except that it was created in the up to date trunk
comment:11 by , 17 years ago
The compile error in engines/sky/debug.cpp is caused by a #define T2 8192 in skydefs.h.
by , 17 years ago
Attachment: | backends-lib.v3.5.patch added |
---|
final patch with key mapper and virtual keyboard API skeletons
comment:13 by , 17 years ago
Patch v4.1 includes a basic key mapper dialog implementation. It has to be fixed though, so that once a key is mapped to a new one it (the old key) does not invoke the action.
comment:14 by , 17 years ago
Patch v3.4 is the same as v3.3 except (has a compile error in sky/debug.cpp) that it was created with the newer trunk as of 2007-07-19 11:40. Patch v3.5 is a compilable version of v3.4 (fixed common/list.h)
comment:15 by , 17 years ago
Patch v4.2 contains code refinements of v4.1 (resolved several kyra engine compilation errors due to missing includes, etc.). It also has implementation of action mappings save/load functionality, and GUI implementation of key mapper tab in edit game dialog with stubs for actual button functionality (modified themes: built-in classic, classic.ini, and modern.ini). File Added: backends-lib.v4.2.patch
by , 17 years ago
Attachment: | backends-lib.v5.1 added |
---|
port specific tabs and disabling GUI elements patch
comment:16 by , 17 years ago
Patch v5.1 contains full implementations of port specific tabs and disabling GUI elements tasks over the current scummvm trunk. File Added: backends-lib.v5.1
comment:17 by , 17 years ago
Patch v5.2 is a part of v5.1 which contains only disabling GUI elements task. File Added: backends-lib.v5.2
comment:18 by , 17 years ago
Patch v5.3 is a part of v5.1 which contains only port specific tabs task. File Added: backends-lib.v5.3
comment:19 by , 17 years ago
Patch 5.2 is ready for inclusion. I will commit it once you add description to Wiki. You should add example code there as well as typical usage patterns (disabling unneeded elements, adding port-specific tabs)
Patch 5.3. I don't see how do you handle loading values to GUI elements as well as storing them to ConfMan. I.e. there are no hooks for that. See EditGameDialog::open() and EditGameDialog::close() in gui/launcher.cpp. For your test code, please, add not just a button, but add a drop-down widget, a list, some text input fields and a checkbox. Also make another checkbox which will turn off some elements, i.e. see how our Edit Game dialog works with 'override default' checkboxes.
Additionally I want to have both game-specific and global tabs there which are port-specific. I.e. just add another hook which will put elements to game options.
comment:20 by , 17 years ago
Patch v5.3 contains a full key mapper implementation. It still a few minor fixes (like adding a couple of popup warnings. code formatting, etc.) File Added: backends-lib.v5.4
comment:21 by , 17 years ago
Ups, in the last comment: Patch v5.3 contains a full key mapper implementation. It should have been: Patch v5.4 contains a full key mapper implementation.
comment:22 by , 17 years ago
Patch v5.5 contains a full drag and drop implementation and a stub implementation of virtual keyboard. Right now the VK is shown whenever you press 'k' on your keyboard. But this is used for testing purposes only. File Added: backends-lib.v5.5
comment:23 by , 17 years ago
Patch v5.6 contains a full key mapper implementation, fully tested, with all bugs fixed and improvements made (with regard to previous v5.4 patch). File Added: backends-lib.v5.6.patch
comment:24 by , 17 years ago
A _brief_ inspection if the patch revealed one thing which has to be fixed. In common/gameactions.h there should NOT be any engine names. The goal is to avoid use of engine and game names, not rewrap them in another way.
Solution for this is this: let engine provide this string, save it as is. I.e. Engine uses something:
registerKeyMapper("sky"); specifyPerGameKeymap("indy3", keymap);
or something like that. And you store those string as is and associate them with your keymaps. Of course, to speedup use our StrMap class.
comment:25 by , 17 years ago
Patch v5.2 has been committed to trunk. Some documentation has been emailed to -devel, and doxygen description was added.
comment:26 by , 16 years ago
Resolution: | → outdated |
---|---|
Status: | new → closed |
comment:27 by , 16 years ago
Now this work is out of date. Current student implemented both virtual keyboard and keymapper.
comment:28 by , 6 years ago
Component: | → --Other-- |
---|
new key mapping architecture patch v1