aboutsummaryrefslogtreecommitdiff
path: root/backends/events/default/default-events.h
diff options
context:
space:
mode:
authorTorbjörn Andersson2007-03-17 15:44:26 +0000
committerTorbjörn Andersson2007-03-17 15:44:26 +0000
commit53624376b4d614689695d1ea56c1052cd0e7ad12 (patch)
treec98fc0e637f6634d270ae0b6e5311852e3634811 /backends/events/default/default-events.h
parente72455c215a1deebe235d18e7efbe55f76d8f2da (diff)
downloadscummvm-rg350-53624376b4d614689695d1ea56c1052cd0e7ad12.tar.gz
scummvm-rg350-53624376b4d614689695d1ea56c1052cd0e7ad12.tar.bz2
scummvm-rg350-53624376b4d614689695d1ea56c1052cd0e7ad12.zip
Applied my re-revised patch #1487149 ("Simplified keyboard repeat"), with
Fingolfin's blessings. Keyboard repeat is now handled by the event manager, rather than by individual engines. Since this can cause problems with some engines (see the AGI engine), the extra "key down" events are marked as "synthetic", so that they can be ignored if necessary. svn-id: r26170
Diffstat (limited to 'backends/events/default/default-events.h')
-rw-r--r--backends/events/default/default-events.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h
index 1b6c821c23..229249a44d 100644
--- a/backends/events/default/default-events.h
+++ b/backends/events/default/default-events.h
@@ -46,6 +46,19 @@ class DefaultEventManager : public Common::EventManager {
int _modifierState;
bool _shouldQuit;
+ // for continuous events (keyDown)
+ enum {
+ kKeyRepeatInitialDelay = 400,
+ kKeyRepeatSustainDelay = 100
+ };
+
+ struct {
+ uint16 ascii;
+ byte flags;
+ int keycode;
+ } _currentKeyDown;
+ uint32 _keyRepeatTime;
+
public:
DefaultEventManager(OSystem *boss);