refactoring

This commit is contained in:
Maxim Devaev 2022-07-11 02:12:38 +03:00
parent 1afd96cdb9
commit 89aff795fd
10 changed files with 29 additions and 29 deletions

View File

@ -206,8 +206,8 @@ keymap: testenv
--volume `pwd`:/src \ --volume `pwd`:/src \
-it $(TESTENV_IMAGE) bash -c "cd src \ -it $(TESTENV_IMAGE) bash -c "cd src \
&& ./genmap.py keymap.csv kvmd/keyboard/mappings.py.mako kvmd/keyboard/mappings.py \ && ./genmap.py keymap.csv kvmd/keyboard/mappings.py.mako kvmd/keyboard/mappings.py \
&& ./genmap.py keymap.csv hid/src/usb/keymap.h.mako hid/src/usb/keymap.h \ && ./genmap.py keymap.csv hid/lib/drivers-avr/usb/keymap.h.mako hid/lib/drivers-avr/usb/keymap.h \
&& ./genmap.py keymap.csv hid/src/ps2/keymap.h.mako hid/src/ps2/keymap.h \ && ./genmap.py keymap.csv hid/lib/drivers-avr/ps2/keymap.h.mako hid/lib/drivers-avr/ps2/keymap.h \
" "

View File

@ -19,43 +19,41 @@
# # # #
*****************************************************************************/ *****************************************************************************/
#include "usb/hid.h" #include "usb/hid.h"
#include "ps2/hid.h" #include "ps2/hid.h"
#include "factory.h" #include "factory.h"
namespace DRIVERS
{
namespace DRIVERS {
Keyboard *Factory::makeKeyboard(type _type) { Keyboard *Factory::makeKeyboard(type _type) {
switch (_type) { switch (_type) {
# ifdef HID_WITH_USB
# ifdef HID_WITH_USB
case USB_KEYBOARD: case USB_KEYBOARD:
return new UsbKeyboard(); return new UsbKeyboard();
# endif # endif
# ifdef HID_WITH_PS2 # ifdef HID_WITH_PS2
case PS2_KEYBOARD: case PS2_KEYBOARD:
return new Ps2Keyboard(); return new Ps2Keyboard();
# endif # endif
default: default:
return new Keyboard(DUMMY); return new Keyboard(DUMMY);
} }
} }
Mouse *Factory::makeMouse(type _type) { Mouse *Factory::makeMouse(type _type) {
switch(_type) switch (_type) {
{ # ifdef HID_WITH_USB
# ifdef HID_WITH_USB
case USB_MOUSE_ABSOLUTE: case USB_MOUSE_ABSOLUTE:
case USB_MOUSE_ABSOLUTE_WIN98: case USB_MOUSE_ABSOLUTE_WIN98:
return new UsbMouseAbsolute(_type); return new UsbMouseAbsolute(_type);
case USB_MOUSE_RELATIVE: case USB_MOUSE_RELATIVE:
return new UsbMouseRelative(); return new UsbMouseRelative();
# endif # endif
default: default:
return new Mouse(DRIVERS::DUMMY); return new Mouse(DRIVERS::DUMMY);
} }
} }
} }

View File

@ -22,9 +22,6 @@
#include "spi.h" #include "spi.h"
#include <Arduino.h>
#include <SPI.h>
static volatile uint8_t _spi_in[8] = {0}; static volatile uint8_t _spi_in[8] = {0};
static volatile uint8_t _spi_in_index = 0; static volatile uint8_t _spi_in_index = 0;

View File

@ -23,6 +23,7 @@
#pragma once #pragma once
#include <Arduino.h> #include <Arduino.h>
#include <SPI.h>
void spiBegin(); void spiBegin();

View File

@ -69,6 +69,7 @@ using namespace DRIVERS;
#endif #endif
class UsbKeyboard : public DRIVERS::Keyboard { class UsbKeyboard : public DRIVERS::Keyboard {
public: public:
UsbKeyboard() : DRIVERS::Keyboard(DRIVERS::USB_KEYBOARD) {} UsbKeyboard() : DRIVERS::Keyboard(DRIVERS::USB_KEYBOARD) {}

View File

@ -24,8 +24,8 @@
#include "keyboard.h" #include "keyboard.h"
#include "mouse.h" #include "mouse.h"
namespace DRIVERS {
namespace DRIVERS {
struct Factory { struct Factory {
static Keyboard *makeKeyboard(type _type); static Keyboard *makeKeyboard(type _type);
static Mouse *makeMouse(type _type); static Mouse *makeMouse(type _type);

View File

@ -64,6 +64,5 @@ namespace DRIVERS {
KeyboardLedsState result = {0}; KeyboardLedsState result = {0};
return result; return result;
} }
}; };
} }

View File

@ -19,7 +19,9 @@
# # # #
*****************************************************************************/ *****************************************************************************/
#include <Arduino.h>
#include "tools.h"
bool is_micros_timed_out(unsigned long start_ts, unsigned long timeout) { bool is_micros_timed_out(unsigned long start_ts, unsigned long timeout) {
unsigned long now = micros(); unsigned long now = micros();

View File

@ -22,5 +22,7 @@
#pragma once #pragma once
#include <Arduino.h>
bool is_micros_timed_out(unsigned long start_ts, unsigned long timeout); bool is_micros_timed_out(unsigned long start_ts, unsigned long timeout);

View File

@ -178,21 +178,21 @@ static void _cmdMouseButtonEvent(const uint8_t *data) { // 2 bytes
_state & PROTO::CMD::MOUSE::_button::SELECT, \ _state & PROTO::CMD::MOUSE::_button::SELECT, \
_state & PROTO::CMD::MOUSE::_button::STATE _state & PROTO::CMD::MOUSE::_button::STATE
_mouse->sendButtons( _mouse->sendButtons(
MOUSE_PAIR(data[0], LEFT), MOUSE_PAIR(data[0], LEFT),
MOUSE_PAIR(data[0], RIGHT), MOUSE_PAIR(data[0], RIGHT),
MOUSE_PAIR(data[0], MIDDLE), MOUSE_PAIR(data[0], MIDDLE),
MOUSE_PAIR(data[1], EXTRA_UP), MOUSE_PAIR(data[1], EXTRA_UP),
MOUSE_PAIR(data[1], EXTRA_DOWN) MOUSE_PAIR(data[1], EXTRA_DOWN)
); );
# undef MOUSE_PAIR # undef MOUSE_PAIR
} }
static void _cmdMouseMoveEvent(const uint8_t *data) { // 4 bytes static void _cmdMouseMoveEvent(const uint8_t *data) { // 4 bytes
// See /kvmd/apps/otg/hid/keyboard.py for details // See /kvmd/apps/otg/hid/keyboard.py for details
_mouse->sendMove( _mouse->sendMove(
PROTO::merge8_int(data[0], data[1]), PROTO::merge8_int(data[0], data[1]),
PROTO::merge8_int(data[2], data[3]) PROTO::merge8_int(data[2], data[3])
); );
} }
static void _cmdMouseRelativeEvent(const uint8_t *data) { // 2 bytes static void _cmdMouseRelativeEvent(const uint8_t *data) { // 2 bytes