KeyboardManager: a class to manage the polling of a switch-matrix keyboard
Diff: KeyboardManager.cpp
- Revision:
- 3:1310c57aca77
- Parent:
- 2:eb4cc53ff33d
--- a/KeyboardManager.cpp Sun Jan 23 23:15:36 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -#include "kbd_mgr/KeyboardManager.h" -#include "kbd_mgr/KeyboardMonitor.h" -#include "kbd_mgr/KeyboardStateChangeMonitor.h" -#include "kbd_mgr/SingleKeyPressMonitor.h" - -namespace kbd_mgr { - -struct KeyboardManager::Impl { - SingleKeyPressMonitor keyPressMonitor; - KeyboardStateChangeMonitor stateChangeMonitor; - KeyboardMonitor monitor; - - Impl(PortName inPort, std::size_t numKeysPerRow, int inLowestBit, - const OutPinsSet &outPins, KeyPressEventHandler *handler) : - keyPressMonitor(handler), - stateChangeMonitor(&keyPressMonitor), - monitor(inPort, numKeysPerRow, inLowestBit, outPins, &stateChangeMonitor) - { } -}; - -KeyboardManager::KeyboardManager( - PortName inPort, std::size_t numKeysPerRow, int inLowestBit, - const OutPinsSet &outPins, KeyPressEventHandler *handler) : - pimpl(new Impl(inPort, numKeysPerRow, inLowestBit, outPins, handler)) -{ } - -void KeyboardManager::start(float pollingPeriod) -{ - this->pimpl->monitor.start(pollingPeriod); -} - -void KeyboardManager::stop() -{ - this->pimpl->monitor.stop(); -} - -} // kbd_mgr