diff --git a/src/drivers/keyboard/KeyboardDriver.cpp b/src/drivers/keyboard/KeyboardDriver.cpp index 2830e5b90..781591dd2 100644 --- a/src/drivers/keyboard/KeyboardDriver.cpp +++ b/src/drivers/keyboard/KeyboardDriver.cpp @@ -95,10 +95,8 @@ void KeyboardDriver::process(Gamepad * gamepad) { if( volumeChange > 0 ) { pressKey(KEYBOARD_MULTIMEDIA_VOLUME_UP); - volumeChange--; } else if ( volumeChange < 0 ) { pressKey(KEYBOARD_MULTIMEDIA_VOLUME_DOWN); - volumeChange++; } // Wake up TinyUSB device @@ -123,6 +121,13 @@ void KeyboardDriver::process(Gamepad * gamepad) { if ( tud_hid_report(keyboardReport.reportId, keyboard_report_payload, keyboard_report_size) ) { memcpy(last_report, keyboard_report_payload, keyboard_report_size); last_report_size = keyboard_report_size; + + // Adjust volume on success + if( volumeChange > 0 ) { + volumeChange--; + } else if ( volumeChange < 0 ) { + volumeChange++; + } } } } diff --git a/www/src/Addons/Rotary.tsx b/www/src/Addons/Rotary.tsx index 51cdd646a..191b954a4 100644 --- a/www/src/Addons/Rotary.tsx +++ b/www/src/Addons/Rotary.tsx @@ -44,7 +44,7 @@ export const rotaryScheme = { .number() .required() .label('Rotary Encoder Add-On Enabled'), - encoderOneEnabled: yup.number().required().label('Encoder One Enabled'), + encoderOneEnabled: yup.boolean().required().label('Encoder One Enabled'), encoderOnePinA: yup .number() .label('Encoder One Pin A') @@ -66,7 +66,7 @@ export const rotaryScheme = { .required() .label('Encoder One Allow Wrap Around'), encoderOneMultiplier: yup.number().label('Encoder One Multiplier').required(), - encoderTwoEnabled: yup.number().required().label('Encoder Two Enabled'), + encoderTwoEnabled: yup.boolean().required().label('Encoder Two Enabled'), encoderTwoPinA: yup .number() .label('Encoder Two Pin A')