🐛 Fix RRW Keypad & Zonestar buttons (#23388)
This commit is contained in:
		@@ -45,36 +45,6 @@
 | 
			
		||||
  #define ENCODER_PHASE_3 1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if IS_RRW_KEYPAD
 | 
			
		||||
  #define BTN_OFFSET          0 // Bit offset into buttons for shift register values
 | 
			
		||||
 | 
			
		||||
  #define BLEN_KEYPAD_F3      0
 | 
			
		||||
  #define BLEN_KEYPAD_F2      1
 | 
			
		||||
  #define BLEN_KEYPAD_F1      2
 | 
			
		||||
  #define BLEN_KEYPAD_DOWN    3
 | 
			
		||||
  #define BLEN_KEYPAD_RIGHT   4
 | 
			
		||||
  #define BLEN_KEYPAD_MIDDLE  5
 | 
			
		||||
  #define BLEN_KEYPAD_UP      6
 | 
			
		||||
  #define BLEN_KEYPAD_LEFT    7
 | 
			
		||||
 | 
			
		||||
  #define EN_KEYPAD_F1      _BV(BTN_OFFSET + BLEN_KEYPAD_F1)
 | 
			
		||||
  #define EN_KEYPAD_F2      _BV(BTN_OFFSET + BLEN_KEYPAD_F2)
 | 
			
		||||
  #define EN_KEYPAD_F3      _BV(BTN_OFFSET + BLEN_KEYPAD_F3)
 | 
			
		||||
  #define EN_KEYPAD_DOWN    _BV(BTN_OFFSET + BLEN_KEYPAD_DOWN)
 | 
			
		||||
  #define EN_KEYPAD_RIGHT   _BV(BTN_OFFSET + BLEN_KEYPAD_RIGHT)
 | 
			
		||||
  #define EN_KEYPAD_MIDDLE  _BV(BTN_OFFSET + BLEN_KEYPAD_MIDDLE)
 | 
			
		||||
  #define EN_KEYPAD_UP      _BV(BTN_OFFSET + BLEN_KEYPAD_UP)
 | 
			
		||||
  #define EN_KEYPAD_LEFT    _BV(BTN_OFFSET + BLEN_KEYPAD_LEFT)
 | 
			
		||||
 | 
			
		||||
  #define RRK(B) (keypad_buttons & (B))
 | 
			
		||||
 | 
			
		||||
  #ifdef EN_C
 | 
			
		||||
    #define BUTTON_CLICK() ((buttons & EN_C) || RRK(EN_KEYPAD_MIDDLE))
 | 
			
		||||
  #else
 | 
			
		||||
    #define BUTTON_CLICK() RRK(EN_KEYPAD_MIDDLE)
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if EITHER(HAS_DIGITAL_BUTTONS, HAS_DWIN_E3V2)
 | 
			
		||||
  // Wheel spin pins where BA is 00, 10, 11, 01 (1 bit always changes)
 | 
			
		||||
  #define BLEN_A 0
 | 
			
		||||
@@ -141,7 +111,39 @@
 | 
			
		||||
  #define B_ST _BV(BL_ST)
 | 
			
		||||
 | 
			
		||||
  #ifndef BUTTON_CLICK
 | 
			
		||||
    #define BUTTON_CLICK() (buttons & (B_MI|B_ST))
 | 
			
		||||
    #if EN_C
 | 
			
		||||
      #define BUTTON_CLICK() (buttons & (B_MI|B_ST))
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if IS_RRW_KEYPAD
 | 
			
		||||
  #define BTN_OFFSET          0 // Bit offset into buttons for shift register values
 | 
			
		||||
 | 
			
		||||
  #define BLEN_KEYPAD_F3      0
 | 
			
		||||
  #define BLEN_KEYPAD_F2      1
 | 
			
		||||
  #define BLEN_KEYPAD_F1      2
 | 
			
		||||
  #define BLEN_KEYPAD_DOWN    3
 | 
			
		||||
  #define BLEN_KEYPAD_RIGHT   4
 | 
			
		||||
  #define BLEN_KEYPAD_MIDDLE  5
 | 
			
		||||
  #define BLEN_KEYPAD_UP      6
 | 
			
		||||
  #define BLEN_KEYPAD_LEFT    7
 | 
			
		||||
 | 
			
		||||
  #define EN_KEYPAD_F1      _BV(BTN_OFFSET + BLEN_KEYPAD_F1)
 | 
			
		||||
  #define EN_KEYPAD_F2      _BV(BTN_OFFSET + BLEN_KEYPAD_F2)
 | 
			
		||||
  #define EN_KEYPAD_F3      _BV(BTN_OFFSET + BLEN_KEYPAD_F3)
 | 
			
		||||
  #define EN_KEYPAD_DOWN    _BV(BTN_OFFSET + BLEN_KEYPAD_DOWN)
 | 
			
		||||
  #define EN_KEYPAD_RIGHT   _BV(BTN_OFFSET + BLEN_KEYPAD_RIGHT)
 | 
			
		||||
  #define EN_KEYPAD_MIDDLE  _BV(BTN_OFFSET + BLEN_KEYPAD_MIDDLE)
 | 
			
		||||
  #define EN_KEYPAD_UP      _BV(BTN_OFFSET + BLEN_KEYPAD_UP)
 | 
			
		||||
  #define EN_KEYPAD_LEFT    _BV(BTN_OFFSET + BLEN_KEYPAD_LEFT)
 | 
			
		||||
 | 
			
		||||
  #define RRK(B) (keypad_buttons & (B))
 | 
			
		||||
 | 
			
		||||
  #ifdef EN_C
 | 
			
		||||
    #define BUTTON_CLICK() ((buttons & EN_C) || RRK(EN_KEYPAD_MIDDLE))
 | 
			
		||||
  #else
 | 
			
		||||
    #define BUTTON_CLICK() RRK(EN_KEYPAD_MIDDLE)
 | 
			
		||||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user