Teensy as клавиатура: ошибка: 'keyboard_leds' не была объявлена в этой области
Я новичок в Teensy, и я пытаюсь написать программу, которая позволяет ему работать как клавиатура. Чтобы сделать мою программу более полезной, я бы хотел, чтобы она не пыталась воздействовать на какой-либо вход, пока не установятся ее драйверы. Я видел на GitHub, что способ сделать это (при условии, что пользователь сам не нажмет на него) - дать команду программе нажимать на заглавные буквы, пока не загорится светодиод. Функция, которую я написал, выглядит следующим образом:
void waitForInstall(){
boolean currCaps = keyboard_leds;
while ((currCaps & 2) == (keyboard_leds & 2)){
delay(200);
Keyboard.set_key1(KEY_CAPS_LOCK);
Keyboard.send_now();
}
}
Когда я пытаюсь это скомпилировать, Arduino IDE сообщает мне, что 'keyboard_leds' was not declared in this scope
, Я уверен, что сделал очень основную ошибку, но кто-нибудь возражал бы против меня и подтолкнул меня в правильном направлении? Спасибо!
3 ответа
keyboard_leds - это переменная delcared в usb_private.h. Это не включается по умолчанию, и явное включение вызывает повторяющиеся ошибки метода. Я в итоге добавил это
#include "usb_private.h"
на аппаратное обеспечение / teensy / avr / cores / usb_hid / usb_hid.h
И это помогло.
Добавлять#include "usb_private.h"
в hardware/teensy/avr/cores/ usb_serial_hid/usb_api.h
Вы должны выбрать, какой профиль USB вы хотите в Инструменты => Тип USB
Он должен включать в себя "Клавиатура", чтобы определить keys_leds как доступные.
Возможно, вам нужен USB-порт типа "Serial + Keyboard + Mouse + Joystick".