Keyboard.h: Нет такого файла или каталога - Arduino pro micro (leonardo)
Я только что купил новый Pro-микро-и я хочу, чтобы имитировать ввод с клавиатуры с ним, все дело в среде разработки Arduino (версия 2:1.0.5) не могу найти ни спрятался.библиотеки h или Keyboard.h. Шаги для воспроизведения проблемы следующие:
- подключите устройство с помощью USB-кабеля к ПК
- Откройте arduino ide
- попробуйте скомпилировать мой код
- он терпит неудачу с ошибкой
test_keyboard.ino:27:22: фатальная ошибка: Keyboard.h: Компиляция такого файла или каталога не завершена.
Код таков:
#include <Keyboard.h>
void typeKey(int key)
{
Keyboard.press(key);
delay(50);
Keyboard.release(key);
}
/* Init function */
void setup()
{
// Begining the Keyboard stream
Keyboard.begin();
delay(400);
//Keyboard.press(KEY_LEFT_GUI);
Keyboard.press(KEY_CTRL);
Keyboard.press(KEY_ALT);
Keyboard.press(KEY_T);
Keyboard.releaseAll();
delay(100);
Keyboard.print("echo 'hello world'");
typeKey(KEY_RETURN);
delay(100);
// Ending stream
Keyboard.end();
}
/* Unused endless loop */
void loop() {}
Кстати, я запускаю это на linux, после подключения его и запуска lsusb
на терминале я получил:
Шина 002 Устройство 071: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
@Fabiotk, 👍1
2 ответа
Лучший ответ:
Функции клавиатуры были перенесены в их собственную библиотеку в Arduino IDE 1.6.6/Платы Arduino AVR 1.6.9. В предыдущих версиях плат Arduino AVR эти функции были частью основной библиотеки, и не было библиотеки клавиатуры или клавиатуры.h. Поскольку вы используете очень устаревшую версию Arduino IDE, у вас нет библиотеки клавиатуры, поэтому ошибка. Есть два варианта решения этой проблемы:
- Удалите строку
#include <Keyboard.h><Клавиатура.h>
из вашего скетча. - Обновление до современной версии Arduino IDE. Обратите внимание, что при установке Arduino IDE через
sudo apt-get install arduino
вы получаете очень устаревшую версию IDE, которую используете. Я рекомендую всегда устанавливать официальную среду разработки Arduino, загруженную с https://www.arduino.cc/en/Main/Software.
Для тех, кто хочет написать код, обратно совместимый со старыми версиями IDE, вы можете сделать это:
#if ARDUINO > 10605
#include <Keyboard.h>
#endif
Ссылка: https://github.com/arduino/Arduino/pull/3304
Не околачивайтесь в каменном веке, шагните вперед в 2019 год и присоединяйтесь к нам с новейшей Arduino IDE.
Используете ли вы новейшую версию Linux, например Ubuntu 18.10?
Удалите все пакеты, связанные с arduino, из репозиториев.
Обязательно удалите пакет librxtx-java.
Вам не нужно устанавливать Java, jdk, openjdk, jre или что-либо из этого.
Если вы используете snap, удалите Java и Arduino также из snap.
Если вы использовали такую старую версию, я предлагаю удалить скрытую
папку .arduino15 из вашей домашней папки.
Возможно, вы скачали библиотеки, которые теперь входят в состав Arduino IDE. Вы можете проверить папку "библиотеки" (в той же папке, что и папки ваших проектов) и удалить неиспользуемые библиотеки.
Загрузите Arduino IDE с arduino.cc веб-сайт.
32-разрядная версия для 32-разрядной системы Linux и 64-разрядная версия для 64-разрядной системы Linux.
Распакуйте его где-нибудь в вашей домашней папке. Вы можете создать ярлык для файла "arduino" и запустить ярлык.
Не вносите изменения в системные файлы Arduino stardard (интегрированная среда разработки Arduino, которую вы загрузили и распаковали). Иногда требуется внести изменения в файлы в скрытой папке .arduino15.
- Отправка мультимедийных клавиш клавиатуры с помощью библиотеки клавиатур
- Распиновка аналога Arduino Pro Micro
- Библиотека джойстиков Arduino не распознается играми (Steam)
- Arduino Leonardo/Pro Micro сон и USB
- Несколько ардуино, одно и то же имя - игровые контроллеры Windows 10
- Проблема ISR: Arduino Pro Micro
- Arduino Pro Micro не распознает INPUT или INPUT_PULLUP
- Как запустить скетч NodeMCU из Arduino Leonardo Micro Pro?