#include "STWButtonController.hpp" #include "main.h" #include "tx_api.h" #include "ui.h" void STWButtonController::init() {} bool STWButtonController::sample(uint8_t &key) { ButtonMessage msg; if (tx_queue_receive(&gui_button_queue, &msg, TX_NO_WAIT) == TX_SUCCESS) { switch (msg.kind) { case UMK_BTN_RELEASED: key = KEY_BTN1 + msg.number; break; case UMK_ENC_CW: { if (msg.number == 0) { key = KEY_ENC1_CW; } else { key = KEY_ENC2_CW; } break; } case UMK_ENC_CCW: if (msg.number == 0) { key = KEY_ENC1_CCW; } else { key = KEY_ENC2_CCW; } } return true; } return false; }