mini keyboard bug fix

This commit is contained in:
cuu
2022-10-12 22:34:18 +08:00
parent 1c023901a7
commit 81d40799b5
4 changed files with 20 additions and 11 deletions

View File

@@ -243,12 +243,22 @@ void keyboard_action(DEVTERM*dv,uint8_t row,uint8_t col,uint8_t mode) {
}
}break;
case _FN_LOCK_KEYBOARD:{
dv->Keyboard_state.lock = dv->Keyboard_state.lock ^ 1;
if(mode == KEY_PRESSED) {
dv->Keyboard_state.lock = dv->Keyboard_state.lock ^ 1;
}
}break;
case _FN_KEY:
case _FN_LIGHT_KEYBOARD: {
//dv->_Serial->println("light keyboard");
if(mode == KEY_PRESSED) {
dv->Keyboard_state.backlight = ( dv->Keyboard_state.backlight + 1) % 4;
pwmWrite(PA8,backlight[ dv->Keyboard_state.backlight ] );
//dv->_Serial->println("light keyboard");
}
}break;
case _FN_KEY:
if(mode == KEY_PRESSED){
dv->Keyboard_state.fn_on = FN_LAYER;
//dv->_Serial->println("fn pressed");
}else if(mode == KEY_RELEASED ) {
//release all pressed fn keys if they still been pressing
@@ -263,10 +273,7 @@ void keyboard_action(DEVTERM*dv,uint8_t row,uint8_t col,uint8_t mode) {
dv->Keyboard_state.fn_on = 0;
}
break;
case _FN_LIGHT_KEYBOARD: {
dev_term.Keyboard_state.backlight = (dev_term.Keyboard_state.backlight + 1) % 4;
pwmWrite(PA8,backlight[ dev_term.Keyboard_state.backlight ] );
}break;
default:
if(mode == KEY_PRESSED) {
dv->Keyboard->press(k);