Files
Upsilon/apps/hardware_test/keyboard_test_controller.cpp
Lionel Debroux 1a8c6b6ae9 [poincare, escher, ion, apps] Split the huge umbrella header poincare.h, to reduce build time.
This should be a NFC, but surprisingly, it also reduces size... so what does it change ?
2018-10-23 11:49:09 +02:00

37 lines
948 B
C++

#include "keyboard_test_controller.h"
extern "C" {
#include <assert.h>
}
namespace HardwareTest {
KeyboardTestController::KeyboardTestController(Responder * parentResponder) :
ViewController(parentResponder),
m_keyboardView()
{
}
View * KeyboardTestController::view() {
return &m_keyboardView;
}
bool KeyboardTestController::handleEvent(Ion::Events::Event event) {
Ion::Keyboard::State state = Ion::Keyboard::scan();
Ion::Keyboard::State onlyKeyDown = Ion::Keyboard::State(Ion::Keyboard::ValidKeys[m_keyboardView.testedKeyIndex()]);
if (state == onlyKeyDown) {
m_keyboardView.setTestedKeyIndex(m_keyboardView.testedKeyIndex()+1);
if (m_keyboardView.testedKeyIndex() == Ion::Keyboard::NumberOfValidKeys) {
// Returning false will go to the next step in the WizardViewController
return false;
}
}
return true;
}
void KeyboardTestController::viewWillAppear() {
m_keyboardView.setTestedKeyIndex(0);
}
}