mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 09:10:30 +08:00
refactoring
This commit is contained in:
parent
1afd96cdb9
commit
89aff795fd
4
Makefile
4
Makefile
@ -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 \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -23,6 +23,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
|
||||||
|
|
||||||
void spiBegin();
|
void spiBegin();
|
||||||
|
|||||||
@ -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) {}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -64,6 +64,5 @@ namespace DRIVERS {
|
|||||||
KeyboardLedsState result = {0};
|
KeyboardLedsState result = {0};
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user