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 #pragma once
typedef struct
{ typedef struct {
bool caps; bool caps;
bool scroll; bool scroll;
bool num; bool num;

View File

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

View File

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

View File

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