基于Raspberry Pi Pico制作BadUSB的两类问题求助
Raspberry Pi Pico BadUSB 问题解决方案
问题1:禁用文件资源管理器弹窗,设置纯HID设备
是的,必须在boot.py中配置USB设备模式,禁用Mass Storage(存储设备)功能,只保留HID设备。这样Pico被识别时不会触发文件资源管理器自动打开。
创建/修改boot.py,添加以下代码:
import usb_hid import storage import usb_midi # 禁用USB存储设备,避免弹出文件管理器 storage.disable_usb_drive() # 禁用MIDI(无需此功能时执行) usb_midi.disable() # 明确启用需要的HID设备(键盘、鼠标) usb_hid.enable( (usb_hid.Device.KEYBOARD, usb_hid.Device.MOUSE) )
保存后重启Pico,设备就会被识别为纯HID设备,不再弹出文件资源管理器。
问题2:NLD-INTL键盘布局乱码解决
由于官方没有现成的NLD-INTL布局文件,你可以通过以下方式自定义适配:
方法1:自定义生成布局文件
基于Adafruit_HID库中的keyboard_layout_win.py(或对应平台的布局脚本,比如Linux/macOS版本),修改键位映射表适配NLD-INTL的特殊字符和键位:
- 复制现有荷兰相关布局文件(如
keyboard_layout_win_nl.py),重命名为keyboard_layout_win_nl_intl.py - 对照NLD-INTL键盘的键位,修改文件中的
KEYMAP字典,调整特殊字符(如欧元符号€、重音字符等)的映射 - 保存为
.py文件,或使用CircuitPython的mpy-cross工具编译为.mpy以节省空间
方法2:适配现有布局
如果找不到完全匹配的,选择最接近的荷兰标准布局文件,手动修改其中的键位映射,补充NLD-INTL独有的字符映射规则。
额外检查项
- 确保Adafruit_HID库版本与CircuitPython版本兼容,版本不匹配可能引发乱码
- 确认目标主机的系统键盘布局已设置为NLD-INTL,避免主机端布局不匹配导致的输入异常
内容的提问来源于stack exchange,提问作者Mats PlayStation
相关产品推荐
相关产品推荐

