fix shift+volume up issue

This commit is contained in:
cuu 2023-06-14 19:31:28 +12:00
parent 17269a8c72
commit 3046bf8cd6
2 changed files with 5 additions and 3 deletions

View File

@ -25,7 +25,7 @@ typedef struct keyboard_state{
uint8_t layer; uint8_t layer;
uint8_t prev_layer; uint8_t prev_layer;
uint8_t fn_on; uint8_t fn_on;
uint8_t sf_on;//shift on uint16_t sf_on;//shift on
uint8_t backlight;//0 1 2 3 uint8_t backlight;//0 1 2 3
uint8_t lock;//0 1 uint8_t lock;//0 1

View File

@ -222,8 +222,10 @@ void keyboard_action(DEVTERM*dv,uint8_t row,uint8_t col,uint8_t mode) {
}break; }break;
case _VOLUME_M:{ case _VOLUME_M:{
if(mode == KEY_PRESSED) { if(mode == KEY_PRESSED) {
if(dv->Keyboard_state.sf_on == 1){ if(dv->Keyboard_state.sf_on > 0){
dv->Consumer->press(HIDConsumer::VOLUME_UP); dv->Consumer->press(HIDConsumer::VOLUME_UP);
dv->Keyboard->release(dv->Keyboard_state.sf_on);
dv->Keyboard_state.sf_on = 0;
}else{ }else{
dv->Consumer->press(HIDConsumer::VOLUME_DOWN); dv->Consumer->press(HIDConsumer::VOLUME_DOWN);
} }
@ -321,7 +323,7 @@ void keypad_action(DEVTERM*dv,uint8_t col,uint8_t mode) {
case _LEFT_SHIFT_KEY: case _LEFT_SHIFT_KEY:
case KEY_RIGHT_SHIFT: case KEY_RIGHT_SHIFT:
if(mode == KEY_PRESSED) { if(mode == KEY_PRESSED) {
dv->Keyboard_state.sf_on = 1; dv->Keyboard_state.sf_on = k;
if(dv->Keyboard_state.shift.lock == 0){ if(dv->Keyboard_state.shift.lock == 0){
dv->Keyboard->press(k); dv->Keyboard->press(k);
dv->Keyboard_state.shift.begin=k; dv->Keyboard_state.shift.begin=k;