@@ -559,12 +559,39 @@ void XInputController::reset() {
559
559
autoSendOption = true ;
560
560
}
561
561
562
+ static void fillBuffer (char * buff, const char fill) {
563
+ uint8_t i = 0 ;
564
+ while (true ) {
565
+ if (buff[i] == 0 ) break ;
566
+ buff[i] = fill;
567
+ i++;
568
+ }
569
+ }
570
+
562
571
void XInputController::printDebug (Print &output) const {
563
572
const char fillCharacter = ' _' ;
573
+ char buffer[34 ];
574
+
575
+ output.print (" XInput Debug: " );
576
+
577
+ // Left Side Controls
578
+ char leftBumper[3 ] = " LB" ;
579
+ char leftJoyBtn[3 ] = " L3" ;
564
580
565
- char buffer[80 ];
581
+ if (!getButton (BUTTON_LB)) fillBuffer (leftBumper, fillCharacter);
582
+ if (!getButton (BUTTON_L3)) fillBuffer (leftJoyBtn, fillCharacter);
583
+
584
+ sprintf (buffer,
585
+ " LT: %3u %s L:(%6d, %6d, %s)" ,
566
586
567
- // Buttons
587
+ getTrigger (TRIGGER_LEFT),
588
+ leftBumper,
589
+ getJoystickX (JOY_LEFT), getJoystickY (JOY_LEFT),
590
+ leftJoyBtn
591
+ );
592
+ output.print (buffer);
593
+
594
+ // Face Buttons
568
595
const char dpadLPrint = getButton (DPAD_LEFT) ? ' <' : fillCharacter;
569
596
const char dpadUPrint = getButton (DPAD_UP) ? ' ^' : fillCharacter;
570
597
const char dpadDPrint = getButton (DPAD_DOWN) ? ' v' : fillCharacter;
@@ -580,35 +607,27 @@ void XInputController::printDebug(Print &output) const {
580
607
581
608
const char logoPrint = getButton (BUTTON_LOGO) ? ' X' : fillCharacter;
582
609
583
- // Bumpers
584
- char leftBumper[3 ] = " LB" ;
585
- char rightBumper[3 ] = " RB" ;
586
-
587
- if (!getButton (BUTTON_LB)) {
588
- leftBumper[0 ] = fillCharacter;
589
- leftBumper[1 ] = fillCharacter;
590
- }
591
- if (!getButton (BUTTON_RB)) {
592
- rightBumper[0 ] = fillCharacter;
593
- rightBumper[1 ] = fillCharacter;
594
- }
595
-
596
- output.print (" XInput Debug: " );
597
610
sprintf (buffer,
598
- " LT: %3u %s L:(%6d, %6d) %c%c%c%c | %c%c%c | %c%c%c%c R:(%6d, %6d) %s RT: %3u" ,
599
-
600
- // Left side controls
601
- getTrigger (TRIGGER_LEFT),
602
- leftBumper,
603
- getJoystickX (JOY_LEFT), getJoystickY (JOY_LEFT),
611
+ " %c%c%c%c | %c%c%c | %c%c%c%c " ,
604
612
605
- // Buttons
606
613
dpadLPrint, dpadUPrint, dpadDPrint, dpadRPrint,
607
614
backPrint, logoPrint, startPrint,
608
- aButtonPrint, bButtonPrint, xButtonPrint, yButtonPrint,
615
+ aButtonPrint, bButtonPrint, xButtonPrint, yButtonPrint
616
+ );
617
+ output.print (buffer);
618
+
619
+ // Right Side Controls
620
+ char rightBumper[3 ] = " RB" ;
621
+ char rightJoyBtn[3 ] = " R3" ;
609
622
610
- // Right side controls
623
+ if (!getButton (BUTTON_RB)) fillBuffer (rightBumper, fillCharacter);
624
+ if (!getButton (BUTTON_R3)) fillBuffer (rightJoyBtn, fillCharacter);
625
+
626
+ sprintf (buffer,
627
+ " R:(%6d, %6d, %s) %s RT: %3u" ,
628
+
611
629
getJoystickX (JOY_RIGHT), getJoystickY (JOY_RIGHT),
630
+ rightJoyBtn,
612
631
rightBumper,
613
632
getTrigger (TRIGGER_RIGHT)
614
633
);
0 commit comments