分页: 1 / 1

动态 USB 描述符

发表于 : 2021年 5月 25日 10:20
shaoziyang
来自;乔科拉德黑客键盘的项目日志

最近,CircuitPython中出现了一个新特性,它允许我们做一个巧妙的应用:我们可以显示或不显示CIRCUITPY磁盘和Python REPL控制台键盘通电或复位时是否按下了某个键。

为什么这很重要?因为当我的键盘显示为一个磁盘和串行设备时,我发现它相当令人分心,特别是当我使用其他CircuitPython设备时——有时很难分辨哪个是哪个。另一方面,以前禁用磁盘和控制台的方法涉及编译和刷新一个特殊的python固件,因为这个功能是一个编译选项。每次你想做一些小的改变或调整时,必须重新刷新固件,这不是很方便。

使用新功能,只需要修改 boot.py 文件

代码: 全选

import board
import digitalio
import storage
import usb_cdc
import usb_hid

row = digitalio.DigitalInOut(board.D4)
col = digitalio.DigitalInOut(board.A2)
col.switch_to_output(value=0)
row.switch_to_input(pull=digitalio.Pull.UP)

if row.value:
    storage.disable_usb_drive()
    usb_cdc.disable()

usb_hid.enable(devices=(usb_hid.KEYBOARD,))

row.deinit()
col.deinit()
这个例子中使用了板上的D4和A2检测按键,其余的就不用多说了。