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 \tENTER TAB BACKSLASH SPACEF1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12PAD_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_PERIODNUM_LOCK SCROLL_LOCK CAPS_LOCKHOME END PAGE_UP PAGE_DOWN RIGHT LEFT UP DOWNINSERT 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.