implement auto repeat configuration for key press events, to give more flexibility

This commit is contained in:
Eduardo Bart
2012-02-06 10:53:28 -02:00
parent f97104f12e
commit add8505a5b
18 changed files with 68 additions and 198 deletions

View File

@@ -58,7 +58,7 @@ void PlatformWindow::processKeyDown(Fw::Key keyCode)
else if(keyCode == Fw::KeyShift)
m_inputEvent.keyboardModifiers |= Fw::KeyboardShiftModifier;
m_inputEvent.reset();
m_inputEvent.reset(Fw::KeyDownInputEvent);
m_inputEvent.type = Fw::KeyDownInputEvent;
m_inputEvent.keyCode = keyCode;
@@ -126,7 +126,7 @@ void PlatformWindow::fireKeysPress()
if(m_onInputEvent) {
m_inputEvent.reset(Fw::KeyPressInputEvent);
m_inputEvent.keyCode = keyCode;
m_inputEvent.wouldFilter = g_clock.ticksElapsed(firstKeyPress) < KEY_PRESS_REPEAT_DELAY;
m_inputEvent.autoRepeatTicks = g_clock.ticksElapsed(firstKeyPress);
m_onInputEvent(m_inputEvent);
}
m_lastKeysPress[keyCode] = g_clock.ticks();

View File

@@ -31,7 +31,6 @@ class PlatformWindow
{
enum {
KEY_PRESS_REPEAT_INTERVAL = 30,
KEY_PRESS_REPEAT_DELAY = 500
};
typedef std::function<void(const Size&)> OnResizeCallback;