@amperka/usb-keyboard
JS-модуль позволяет выступить Isrka JS в роли компьютерной клавиатуры.
var kb = require('@amperka/usb-keyboard'); setInterval(() => { kb.type('Hello World!'); kb.tap([kb.MODIFY.CTRL, kb.KEY.ENTER]); }, 3000);
Чтобы компьютер распознал плату как клавиатуру, после самой первой загрузки программы с подключённой библиотекой плату необходимо отключить от USB и подключить вновь.
Функции модуля
Посылает сигнал кратковременного нажатия (нажали, отпустили) клавиши с кодом key
.
После нажатия, если передана, будет вызвана функция callback
без параметров.
Чтобы не оперировать сырыми кодами клавиш, используйте словарь KEY
.
kb.tap(kb.KEY.ENTER); kb.tap(40); // тот же enter, но с явным кодом клавиши kb.tap(kb.KEY['=']); // клавиша «равно»
Помимо числового кода или элемента словаря KEY
в качестве параметра key
вы можете передать строку. В этом случае номинальный код клавиши будет найден в KEY
по этому строковому ключу.
kb.tap('ENTER');
Вместо одного значения key
можно передать массив. В этом случае номинальный код клавиши ожидается на последней позиции массива, а в качестве первых элементов ожидаются модификаторы (Ctrl, Alt, Shift и т.п.). Доступный перечень модификаторов доступен в словаре MODIFY
.
kb.tap([kb.MODIFY.CTRL, kb.MODIFY.ALT, 'ENTER']); kb.tap([kb.MODIFY.RIGHT_ALT, '=']);
Печатает строку text
будто её вводит человек. Скорость ввода составляет примерно 50 символов в секунду.
По окончанию ввода вызывается функция callback
без параметров, если она была передана.
kb.type('=12+15%'); // выводит =12+15%
В качестве символов текста ожидаются только те, что доступны в англоязычной раскладке клавиатуры. Любые другие символы, в том числе и кириллические, будут выведены символом ?
.
kb.type('Бла бла бла'); // выводит ??? ??? ???
Обратите внимание, что реально напечатанный на компьютере текст зависит от текущей раскладки и состояния клавиши Caps Lock, о которых библиотека знать не может: они контролируются операционной системой компьютера. Универсальными являются только те клавиши, что не зависят от раскладки: цифры, некоторые знаки пунктуации и операторы.
kb.type('Hello'); // выводит Hello в английской раскладке // Руддщ — в русской // hELLO — в английской с Caps Lock’ом
Объект-словарь с кодами клавиш. Содержит ключи:
- Символы центральной части клавиатуры:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
0
;
'
`
,
.
/
-
=
[
]
\n
\t
- Альтернативные обозначения некоторых клавиш:
ENTER
TAB
BACKSLASH
SPACE
- Функциональные клавиши:
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
- Клавиши цифрового блока:
PAD_SLASH
PAD_ASTERIX
PAD_MINUS
PAD_PLUS
PAD_ENTER
PAD_1
PAD_2
PAD_3
PAD_4
PAD_5
PAD_6
PAD_7
PAD_8
PAD_9
PAD_0
PAD_PERIOD
- Клавиши постоянных модификаторов:
NUM_LOCK
SCROLL_LOCK
CAPS_LOCK
- Навигационные клавиши:
HOME
END
PAGE_UP
PAGE_DOWN
RIGHT
LEFT
UP
DOWN
- Прочие клавиши:
INSERT
DELETE
BACKSPACE
ESC
PRINTSCREEN
PAUSE
Объект-словарь с клавишами-модификаторами. Содержит ключи:
CTRL
,LEFT_CTRL
— левый Control;ALT
,LEFT_ALT
— левый Alt;SHIFT
,LEFT_SHIFT
— левый Shift;GUI
,LEFT_GUI
— левая Windows (она же Super, она же Meta);RIGHT_CTRL
— правый Control;RIGHT_ALT
— правый Alt;RIGHT_SHIFT
— правый Shift;RIGHT_GUI
— правая Winows.