forked from GyverLibs/EasyHID
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEasyHID.h
73 lines (60 loc) · 2.49 KB
/
EasyHID.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
Библиотека программного USB клавиатуры и мыши для Arduino Nano/UNO/Mega и прочих
GitHub: https://github.com/GyverLibs/EasyHID
Возможности:
- Программный USB
- Работает на любой AVR Arduino
- Поддержка мультимедийных клавиш
Nich1con, [email protected], [email protected]
https://alexgyver.ru/
MIT License
Версии:
v1.0 - релиз
*/
#ifndef _EasyHID_h
#define _EasyHID_h
#include <Arduino.h>
#include "HIDPrivate.h"
#include "Codekeys.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
class EasyHID {
public:
void begin(void); // Инициализация шины USB
void tick(void); // Поллинг шины (вызывать не реже чем раз в 10мс!)
bool isConnected(void); // Статус шины
bool isNumLock(void); // проверка numLock
bool isCapsLock(void); // проверка capsLock
bool isScrollLock(void); // проверка scrollLock
};
class MouseClass { // Класс мышки
public:
void move(int8_t x, int8_t y); // Двигаем курсор
void click(uint8_t btn = MOUSE_LEFT); // Кликаем на клавишу
void press(uint8_t btn = MOUSE_LEFT); // Зажимаем клавишу
void releaseAll(void); // Отпускаем все
};
class KeyboardClass : public Print { // Класс клавиатуры
public:
void releaseAll(void); // Отпускаем все
void press(uint8_t key); // Жмем 1 клавишу
void press(uint8_t key_0, uint8_t key_1); // Жмем 2 клавиши
void press(uint8_t key_0, uint8_t key_1, uint8_t key_2); // Жмем 3 клавиши
void click(uint8_t key); // Кликаем 1 клавишу
void click(uint8_t key_0, uint8_t key_1); // Кликаем 2 клавиши
void click(uint8_t key_0, uint8_t key_1, uint8_t key_2); // Кликаем 3 клавиши
void clickMultimediaKey(uint8_t key); // Кликаем мультимедиа клавишу
void clickSystemKey(uint8_t key); // Кликаем системную клавишу
virtual size_t write(uint8_t data); // Отправка ascii + print
using Print::write;
using Print::print;
using Print::println;
};
extern EasyHID HID;
extern MouseClass Mouse;
extern KeyboardClass Keyboard;
#endif