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".

Другие вопросы по тегам