move keypadController to its own thread