#include <lib/actions/action.h>
#include <lib/driver/rc.h>
+#include <lib/base/ioprio.h>
#include <lib/base/ebase.h>
#include <lib/base/eerror.h>
#include <lib/base/init.h>
static eWidgetDesktop *wdsk, *lcddsk;
-PSignal1<void,int> keyPressed;
+static int prev_ascii_code;
-PSignal1<void,int> &keyPressedSignal()
+int getPrevAsciiCode()
{
- return keyPressed;
+ 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);
}
/************************************************/
printf("executing main\n");
bsodCatchSignals();
-
+
+ setIoPrio(IOPRIO_CLASS_BE, 3);
+
python.execute("mytest", "__main__");
if (exit_code == 5) /* python crash */