diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-06-07 15:31:51 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-06-07 15:31:51 +0000 |
| commit | fce04ebed510a97e17f019a35c327dce78b6d916 (patch) | |
| tree | ca21275f30cedcd9e2b7627dea7a0e5d9f27d812 /main/enigma.cpp | |
| parent | 45442377fc854e7224605085375e75f958aa5722 (diff) | |
| download | enigma2-fce04ebed510a97e17f019a35c327dce78b6d916.tar.gz enigma2-fce04ebed510a97e17f019a35c327dce78b6d916.zip | |
more work on keyboard support
Diffstat (limited to 'main/enigma.cpp')
| -rw-r--r-- | main/enigma.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/main/enigma.cpp b/main/enigma.cpp index f9b88e7f..96b4cef1 100644 --- a/main/enigma.cpp +++ b/main/enigma.cpp @@ -53,13 +53,28 @@ PSignal1<void,int> &keyPressedSignal() return keyPressed; } +static int prev_ascii_code; + +int getPrevAsciiCode() +{ + int ret = prev_ascii_code; + prev_ascii_code = 0; + return ret; +} + void keyEvent(const eRCKey &key) { ePtr<eActionMap> ptr; eActionMap::getInstance(ptr); - ptr->keyPressed(0, key.code, key.flags); -// if (!key.flags) -// keyPressed(key.code); + if (key.flags & eRCKey::flagAscii) + { + prev_ascii_code = key.code; + ptr->keyPressed(0, 510 /* faked KEY_ASCII */, 0); + } + else + ptr->keyPressed(0, key.code, key.flags); + if (!key.flags) + keyPressed(key.code); } /************************************************/ |
