36 lines
697 B
C++
36 lines
697 B
C++
#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_PRESSED:
|
|
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;
|
|
}
|