Обработка одновременного нажатия на несколько кнопок в OneButton

THE_KONDRAT

✩✩✩✩✩✩✩
7 Фев 2019
4
0
Собственно, необходимо при долгом нажатии на кнопку (пусть будет button1) и одновременном клике по кнопке button2 делать что-то.
В OneButton разные типы нажатий обрабатываются своими процедурами, поэтому непонятно, как во время процедуры longPress2 зафиксировать нажатие кнопки 1.
Подскажите, как сделать.
 

THE_KONDRAT

✩✩✩✩✩✩✩
7 Фев 2019
4
0
Ловишь нажатие Батон2 и проверяешь нажата ли Батон1. Зачем тут библиотеки?
ну потому что ещё будет использован даблклик.

Придумал немного кривое решение, собственно, как его можно исправить?

Для каждой кнопки делаем переменную состояния долгого нажатия.
boolean btn1press = false;
Во время долгого нажатия меняем флажок (или во время начала долгого нажатия, как будет ниже)
void longPressStart1() {
btn1press = true;
}
И дальше условие для второй кнопки
void click2() {
if (btn1press == true) {
делаем что-то
}
}
И потом при отпускании первой кнопки меняем флажок.
void longPressStop1() {
btn1press = false;
}

Но. Для каждой кнопки надо назначать переменную (чем мне этот метод и не нравится. Хотя если учесть, что я для каждой кнопки сделаю ещё и таймер, который отсчитывает время после долгого нажатия, в течение которого можно что-то сделать, то ситуация кажется менее критичной, но всё же.
 

aMax

✩✩✩✩✩✩✩
10 Фев 2019
2
0
@THE_KONDRAT, Просто в условии if используй логическое [И](В IDE пишется как &&). Для удобности обработки состояния кнопки используй GyverButton.h. Если хочешь я попробую написать скетч.
 

THE_KONDRAT

✩✩✩✩✩✩✩
7 Фев 2019
4
0
@THE_KONDRAT, Просто в условии if используй логическое [И](В IDE пишется как &&). Для удобности обработки состояния кнопки используй GyverButton.h. Если хочешь я попробую написать скетч.
Да, так и решил сделать, перешёл на GyverButton.h