@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’ом
Объект-словарь с кодами клавиш. Содержит ключи:
- Символы центральной части клавиатуры:
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890;'`,./-=[]\n\t - Альтернативные обозначения некоторых клавиш:
ENTERTABBACKSLASHSPACE - Функциональные клавиши:
F1F2F3F4F5F6F7F8F9F10F11F12 - Клавиши цифрового блока:
PAD_SLASHPAD_ASTERIXPAD_MINUSPAD_PLUSPAD_ENTERPAD_1PAD_2PAD_3PAD_4PAD_5PAD_6PAD_7PAD_8PAD_9PAD_0PAD_PERIOD - Клавиши постоянных модификаторов:
NUM_LOCKSCROLL_LOCKCAPS_LOCK - Навигационные клавиши:
HOMEENDPAGE_UPPAGE_DOWNRIGHTLEFTUPDOWN - Прочие клавиши:
INSERTDELETEBACKSPACEESCPRINTSCREENPAUSE
Объект-словарь с клавишами-модификаторами. Содержит ключи:
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.