Simultaneous use of rotary encoder and touch buttons (#16729)
This commit is contained in:
parent
8d4dd88bf9
commit
c45d6b2017
1 changed files with 8 additions and 5 deletions
|
@ -777,13 +777,12 @@ void MarlinUI::update() {
|
|||
static bool wait_for_unclick; // = false
|
||||
|
||||
#if ENABLED(TOUCH_BUTTONS)
|
||||
|
||||
if (touch_buttons) {
|
||||
RESET_STATUS_TIMEOUT();
|
||||
if (buttons & (EN_A | EN_B)) { // Menu arrows, in priority
|
||||
if (touch_buttons & (EN_A | EN_B)) { // Menu arrows, in priority
|
||||
if (ELAPSED(ms, next_button_update_ms)) {
|
||||
encoderDiff = (ENCODER_STEPS_PER_MENU_ITEM) * (ENCODER_PULSES_PER_STEP) * encoderDirection;
|
||||
if (buttons & EN_A) encoderDiff *= -1;
|
||||
if (touch_buttons & EN_A) encoderDiff *= -1;
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||
if (external_control) ubl.encoder_diff = encoderDiff;
|
||||
#endif
|
||||
|
@ -1246,7 +1245,11 @@ void MarlinUI::update() {
|
|||
| slow_buttons
|
||||
#endif
|
||||
#if ENABLED(TOUCH_BUTTONS) && HAS_ENCODER_ACTION
|
||||
| touch_buttons
|
||||
| (touch_buttons
|
||||
#if HAS_ENCODER_WHEEL
|
||||
& (~(EN_A | EN_B))
|
||||
#endif
|
||||
)
|
||||
#endif
|
||||
);
|
||||
|
||||
|
@ -1277,7 +1280,7 @@ void MarlinUI::update() {
|
|||
|
||||
} // next_button_update_ms
|
||||
|
||||
#if HAS_ENCODER_WHEEL && DISABLED(TOUCH_BUTTONS)
|
||||
#if HAS_ENCODER_WHEEL
|
||||
static uint8_t lastEncoderBits;
|
||||
|
||||
#define encrot0 0
|
||||
|
|
Reference in a new issue