|
@@ -305,18 +305,26 @@ bool MarlinUI::get_blink() {
|
305
|
305
|
if (keypad_buttons) {
|
306
|
306
|
#if HAS_ENCODER_ACTION
|
307
|
307
|
refresh(LCDVIEW_REDRAW_NOW);
|
308
|
|
- if (encoderDirection == -1) { // side effect which signals we are inside a menu
|
309
|
|
- #if HAS_LCD_MENU
|
310
|
|
- if (RRK(EN_KEYPAD_DOWN)) encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
|
311
|
|
- else if (RRK(EN_KEYPAD_UP)) encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
|
|
308
|
+ #if HAS_LCD_MENU
|
|
309
|
+ if (encoderDirection == -1) { // ADC_KEYPAD forces REVERSE_MENU_DIRECTION, so this indicates menu navigation
|
|
310
|
+ if (RRK(EN_KEYPAD_UP)) encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
|
|
311
|
+ else if (RRK(EN_KEYPAD_DOWN)) encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
|
312
|
312
|
else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
313
|
313
|
else if (RRK(EN_KEYPAD_RIGHT)) { return_to_status(); quick_feedback(); }
|
|
314
|
+ }
|
|
315
|
+ else
|
|
316
|
+ #endif
|
|
317
|
+ {
|
|
318
|
+ #if HAS_LCD_MENU
|
|
319
|
+ if (RRK(EN_KEYPAD_UP)) encoderPosition -= ENCODER_PULSES_PER_STEP;
|
|
320
|
+ else if (RRK(EN_KEYPAD_DOWN)) encoderPosition += ENCODER_PULSES_PER_STEP;
|
|
321
|
+ else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
|
322
|
+ else if (RRK(EN_KEYPAD_RIGHT)) encoderPosition = 0;
|
|
323
|
+ #else
|
|
324
|
+ if (RRK(EN_KEYPAD_UP) || RRK(EN_KEYPAD_LEFT)) encoderPosition -= ENCODER_PULSES_PER_STEP;
|
|
325
|
+ else if (RRK(EN_KEYPAD_DOWN) || RRK(EN_KEYPAD_RIGHT)) encoderPosition += ENCODER_PULSES_PER_STEP;
|
314
|
326
|
#endif
|
315
|
327
|
}
|
316
|
|
- else if (RRK(EN_KEYPAD_DOWN)) encoderPosition -= ENCODER_PULSES_PER_STEP;
|
317
|
|
- else if (RRK(EN_KEYPAD_UP)) encoderPosition += ENCODER_PULSES_PER_STEP;
|
318
|
|
- else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
319
|
|
- else if (RRK(EN_KEYPAD_RIGHT)) encoderPosition = 0;
|
320
|
328
|
#endif
|
321
|
329
|
next_button_update_ms = millis() + ADC_MIN_KEY_DELAY;
|
322
|
330
|
return true;
|