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)

, 👍1


2 ответа


Лучший ответ:

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

,

0

Не околачивайтесь в каменном веке, шагните вперед в 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.

,