diff options
| author | Max Horn | 2007-06-23 10:06:39 +0000 |
|---|---|---|
| committer | Max Horn | 2007-06-23 10:06:39 +0000 |
| commit | 2bbe67afdf4d4df36fc100690cf87c8a75d5a354 (patch) | |
| tree | 8c1f52f95f3799a25638a9b598865d8f8a5ccb5d | |
| parent | 40e7a533ee30bc578a02b7ea76c4144a9ffeb549 (diff) | |
| download | scummvm-rg350-2bbe67afdf4d4df36fc100690cf87c8a75d5a354.tar.gz scummvm-rg350-2bbe67afdf4d4df36fc100690cf87c8a75d5a354.tar.bz2 scummvm-rg350-2bbe67afdf4d4df36fc100690cf87c8a75d5a354.zip | |
Added more flexible KeyState constructor; updated comment in gui/Key.h
svn-id: r27654
| -rw-r--r-- | common/keyboard.h | 9 | ||||
| -rw-r--r-- | gui/Key.h | 6 |
2 files changed, 13 insertions, 2 deletions
diff --git a/common/keyboard.h b/common/keyboard.h index f526b8cb8e..d0d0e43f00 100644 --- a/common/keyboard.h +++ b/common/keyboard.h @@ -233,6 +233,7 @@ struct KeyState { * and look at that, if you want to find out a key code. */ KeyCode keycode; + /** * ASCII-value of the pressed key (if any). * This depends on modifiers, i.e. pressing the 'A' key results in @@ -240,6 +241,7 @@ struct KeyState { * caps lock. */ uint16 ascii; + /** * Status of the modifier keys. Bits are set in this for each * pressed modifier @@ -247,7 +249,12 @@ struct KeyState { */ byte flags; - KeyState() { reset(); } + KeyState(KeyCode kc = KEYCODE_INVALID, uint16 asc = 0, byte f = 0) { + keycode = kc; + ascii = asc ? asc : (uint16)kc; + flags = f; + } + void reset() { keycode = KEYCODE_INVALID; ascii = flags = 0; @@ -32,7 +32,11 @@ namespace GUI { -// TODO/FIXME: Make use of Common::KeyState from common/keyboard.h +// TODO/FIXME: Make use of Common::KeyState from common/keyboard.h, +// or even better, just completely replace this by it. +// To be able to do that, though, the code using GUI::Key would need to +// be adopted -- right now it uses SDL keycodes, and uses SDL_PushEvent +// to generated fake events. class Key { public: |
