0

我是 Teensy 的新手,我正在尝试编写一个允许它充当键盘的程序。为了使我的程序更有用,我想让它在安装驱动程序之前不会尝试对任何输入进行操作。我在 GitHub 上看到这样做的一种方法(假设用户自己没有点击它)是指示程序点击大写锁定,直到 LED 亮起。我写的函数是这样的:

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. 我确定我犯了一个非常基本的错误,但有人会介意幽默我并推动我朝着正确的方向前进吗?谢谢!

4

2 回答 2

0

keyboard_leds 是 usb_private.h 中的一个变量。默认情况下不包含它,并且显式包含它会导致重复的方法错误。我最后添加了这个

#include "usb_private.h"

到硬件/teensy/avr/cores/usb_hid/usb_hid.h

这就是诀窍。

于 2017-01-25T06:17:16.140 回答
-1

您必须在工具 => USB 类型中选择您想要的 USB 配置文件

它必须包含“键盘”才能将keyboard_leds定义为可用。

您可能想要“串行 + 键盘 + 鼠标 + 操纵杆”USB 类型。

于 2018-08-22T18:11:37.453 回答