refactoring

This commit is contained in:
Maxim Devaev 2022-07-08 23:06:23 +03:00
parent e864aafcf7
commit c840ea7306
4 changed files with 22 additions and 21 deletions

View File

@ -21,8 +21,8 @@
#pragma once
typedef struct
{
typedef struct {
bool caps;
bool scroll;
bool num;

View File

@ -284,29 +284,29 @@ static void _sendResponse(uint8_t code) {
response[2] = PROTO::OUTPUTS1::DYNAMIC;
# endif
if (_usb_kbd) {
response[1] |= _usb_kbd->isOffline() ? PROTO::PONG::KEYBOARD_OFFLINE : 0;
response[1] |= (_usb_kbd->isOffline() ? PROTO::PONG::KEYBOARD_OFFLINE : 0);
KeyboardLedsState leds = _usb_kbd->getLeds();
response[1] |= leds.caps ? PROTO::PONG::CAPS : 0;
response[1] |= leds.num ? PROTO::PONG::NUM : 0;
response[1] |= leds.scroll ? PROTO::PONG::SCROLL : 0;
response[1] |= (leds.caps ? PROTO::PONG::CAPS : 0);
response[1] |= (leds.num ? PROTO::PONG::NUM : 0);
response[1] |= (leds.scroll ? PROTO::PONG::SCROLL : 0);
response[2] |= PROTO::OUTPUTS1::KEYBOARD::USB;
} else if (_ps2_kbd) {
response[1] |= _ps2_kbd->isOffline() ? PROTO::PONG::KEYBOARD_OFFLINE : 0;
response[1] |= (_ps2_kbd->isOffline() ? PROTO::PONG::KEYBOARD_OFFLINE : 0);
KeyboardLedsState leds = _usb_kbd->getLeds();
response[1] |= leds.caps ? PROTO::PONG::CAPS : 0;
response[1] |= leds.num ? PROTO::PONG::NUM : 0;
response[1] |= leds.scroll ? PROTO::PONG::SCROLL : 0;
response[1] |= (leds.caps ? PROTO::PONG::CAPS : 0);
response[1] |= (leds.num ? PROTO::PONG::NUM : 0);
response[1] |= (leds.scroll ? PROTO::PONG::SCROLL : 0);
response[2] |= PROTO::OUTPUTS1::KEYBOARD::PS2;
}
if (_usb_mouse_abs) {
response[1] |= _usb_mouse_abs->isOffline() ? PROTO::PONG::MOUSE_OFFLINE : 0;
response[1] |= (_usb_mouse_abs->isOffline() ? PROTO::PONG::MOUSE_OFFLINE : 0);
if (_usb_mouse_abs->isWin98FixEnabled()) {
response[2] |= PROTO::OUTPUTS1::MOUSE::USB_WIN98;
} else {
response[2] |= PROTO::OUTPUTS1::MOUSE::USB_ABS;
}
} else if (_usb_mouse_rel) {
response[1] |= _usb_mouse_rel->isOffline() ? PROTO::PONG::MOUSE_OFFLINE : 0;
response[1] |= (_usb_mouse_rel->isOffline() ? PROTO::PONG::MOUSE_OFFLINE : 0);
response[2] |= PROTO::OUTPUTS1::MOUSE::USB_REL;
} // TODO: ps2
# ifdef AUM

View File

@ -80,12 +80,12 @@ class Ps2Keyboard {
}
KeyboardLedsState getLeds() {
KeyboardLedsState result;
periodic();
result.caps = _leds & 0b00000100;
result.scroll = _leds & 0b00000001;
result.num = _leds & 0b00000010;
KeyboardLedsState result = {
.caps = _leds & 0b00000100,
.scroll = _leds & 0b00000001,
.num = _leds & 0b00000010,
};
return result;
}

View File

@ -107,10 +107,11 @@ class UsbKeyboard {
KeyboardLedsState getLeds() {
uint8_t leds = _kbd.getLeds();
KeyboardLedsState result;
result.caps = leds & LED_CAPS_LOCK;
result.scroll = leds & LED_SCROLL_LOCK;
result.num = leds & LED_NUM_LOCK;
KeyboardLedsState result = {
.caps = leds & LED_CAPS_LOCK,
.scroll = leds & LED_SCROLL_LOCK,
.num = leds & LED_NUM_LOCK,
};
return result;
}