ну вот я тебе кусок кода дал. вызываешь сетуп инпут в начале работы модуля, а там пишешь что надо в глобальные переменные. ну а потом гдето в основном потоке из проверяешь. можно и без отдельного потока, но тогда во время тяжёлой работы система не будет реагировать на кнопки. а это бесит.