树莓派pico入坑笔记,快捷键键盘制作

使用usb_hid功能制作快捷键小键盘,定义了6个键,分别是

ctrl+z ctrl+v ctrl+c

ctrl+a ctrl+w ctrl+n

对应引脚

board.GP4, board.GP8, board.GP13

board.GP28, board.GP20, board.GP17

需要用到的库,记得复制进单片机存储里面

然后是main主程序代码

python 复制代码
import board
from digitalio import DigitalInOut,Direction,Pull
import time
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
from adafruit_hid.keycode import Keycode

time.sleep(1)  # Sleep for a bit to avoid a race condition on some systems
keyboard = Keyboard(usb_hid.devices)
keyboard_layout = KeyboardLayoutUS(keyboard)  # We're in the US :)

Led=DigitalInOut(board.LED)
Led.direction=Direction.OUTPUT
Led.value=False 
#引脚列表
kb=[board.GP4,board.GP8,board.GP13,board.GP28,board.GP20,board.GP17]
#存储配置后的引脚
KeyPin=[]
#功能键列表
key=[Keycode.Z,Keycode.V,Keycode.C,Keycode.A,Keycode.W,Keycode.N]
control_key = Keycode.CONTROL
#配置引脚
for i in kb:
    k=DigitalInOut(i)
    k.direction.INPUT
    k.pull=Pull.UP
    KeyPin.append(k)
#工作部分
while True :
    for i in KeyPin:
        if not i.value:
            Led.value=True
            while not i.value:
                pass
            keyboard.press(control_key, key[KeyPin.index(i)])
            keyboard.release_all()
            Led.value=False
            time.sleep(0.01)

        

boot启动程序代码,作用是防止被识别为usb存储设备

python 复制代码
# disabled usb diivide
import storage 
storage.disable_usb_drive()

更多hid设备参考以下教程

Adafruit HID 库

CircuitPython HID 键盘和鼠标

相关推荐
Lorcian1 小时前
web前端12--表单和表格
前端·css·笔记·html5·visual studio code
想拿高薪的韭菜5 小时前
人工智能第2章-知识点与学习笔记
人工智能·笔记·学习
一只码代码的章鱼6 小时前
计算机网络 应用层 笔记 (电子邮件系统,SMTP,POP3,MIME,IMAP,万维网,HTTP,html)
笔记·计算机网络·microsoft
学游戏开发的7 小时前
UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备
c++·笔记·游戏引擎·unreal engine
云缘若仙7 小时前
directx12 3d+vs2022游戏开发第三章 笔记五 变换
笔记·3d
车载诊断技术7 小时前
基于新一代电子电器架构的SOA服务设计方法
人工智能·架构·汽车·计算机外设·ecu故障诊断指南
前端达人9 小时前
「AI学习笔记」深度学习进化史:从神经网络到“黑箱技术”(三)
人工智能·笔记·深度学习·神经网络·学习
wdxylb11 小时前
GIt使用笔记大全
笔记·git·elasticsearch
一只码代码的章鱼11 小时前
计算机网络 应用层 笔记1(C/S模型,P2P模型,FTP协议)
笔记·计算机网络
霸王蟹12 小时前
el-table组件样式如何二次修改?
前端·javascript·vue.js·笔记·学习·前端框架