树莓派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主程序代码

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 Keycodetime.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.INPUTk.pull=Pull.UPKeyPin.append(k)
#工作部分
while True :for i in KeyPin:if not i.value:Led.value=Truewhile not i.value:passkeyboard.press(control_key, key[KeyPin.index(i)])keyboard.release_all()Led.value=Falsetime.sleep(0.01)

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

# disabled usb diivide
import storage 
storage.disable_usb_drive()

更多hid设备参考以下教程

Adafruit HID 库

CircuitPython HID 键盘和鼠标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/28964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3dmax2025能用云渲染吗?2025最新云渲染渲染100使用方法

3dmax2025还没用上云渲染?简单3步用上云渲染。 第一步,打开浏览器搜索渲染100,并进入下载客户端并安装 第二步,打开已安装的客户端进行安装,点击登录,未登录注册个账号即可(注册账号时邀请码填…

记录一下GMT时间转北京时间

GMT时间比北京时间慢8小时 1. dayjs import dayjs from dayjs dateFormat () (value: Parameters<typeof dayjs>[0],format YYYY-MM-DD HH:mm:ss) > (value ? dayjs(value).format(format) : )2. new Date timeDate(time){return new Date(time) // time 必须是字…

Sermant标签路由能力在同城双活场景的应用

作者&#xff1a;聂子雄 华为云高级软件工程师 摘要&#xff1a;目前应用上云已成为趋势&#xff0c;用户也对应用在云上的高可靠方案有更高追求&#xff0c;目前同城双活场景作为应用高可靠方案中的一种常见实践方案&#xff0c;对微服务流量提出了数据中心亲和性的要求&…

浙江电信联合中兴通讯取得新突破,完成融合边缘商用验证

前不久&#xff0c;浙江电信联合中兴通讯在融合边缘方面取得新突破&#xff0c;在嘉兴完成了融合边缘的商用验证&#xff0c;并发布了商用版本。接下来&#xff0c;双方在融合边缘方面正式进入商用阶段&#xff0c;有效赋能新质生产力。    随着数字经济的快速发展&#xff0…

数据结构与算法笔记:基础篇 -字符串匹配(下):如何借助BM算法轻松理解KMP算法?

概述 上篇文章讲了 BM 算法&#xff0c;尽管他复杂&#xff0c;也不好理解&#xff0c;但确实工程中非常好用的一种高效字符串匹配算法。有统计说&#xff0c;它是最搞笑、最常用的字符串匹配算法。不过&#xff0c;在所有的字符串匹配算法里&#xff0c;要说最知名的一种的话…

【C++】认识STL

【C】认识STL STL的概念STL的版本STL的六大组件STL的三个境界STL的缺陷 STL的概念 SLT(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个保罗数据结构与算法的软件框架。 STL的版本 原…

便携式手持气象仪:低功耗设计

TH-LSZ05便携式手持气象仪是一款轻便、操作简便的气象监测工具&#xff0c;集成了风向、风速、大气压、温度、湿度五项气象要素的测量功能。这些设备通常设计为体积小、重量轻&#xff0c;以便于用户随时携带并使用。通过使用手持气象仪&#xff0c;用户可以实时获取关键的气象…

列表(list)(Python)

文章目录 一、定义二、列表常用操作 一、定义 list ["张三", "李四", "王五", "赵六"]二、列表常用操作 分类关键字/函数/方法说明增加列表.append(值)在列表末尾追加值列表.insert(索引&#xff0c; 值)在指定位置插入值&#xff…

Android Root全教程

1.安装指定镜像&#xff1a;https://blog.csdn.net/weixin_43846562/article/details/130028258 2.安装 magisk&#xff1a;https://blog.csdn.net/qq1337715208/article/details/115922514 3.打开 adb root&#xff1a;https://liwugang.github.io/2021/07/11/magisk_enable…

如何训练一个企业邮局系统区分垃圾邮件和非垃圾邮件的私有化模型?用于提高企业的沟通效率

训练一个企业邮局系统区分垃圾邮件和非垃圾邮件涉及多个步骤和技术。以下是一个基本的流程&#xff1a; 1. 数据收集 获取邮件数据 收集样本&#xff1a;获取大量的历史邮件数据&#xff0c;包括标记为垃圾邮件和非垃圾邮件的邮件。标签数据&#xff1a;确保数据集中的每封邮…

DDS相关知识记录

DDS全称是Data Distribution Service&#xff0c;这是一套通信协议和API标准&#xff0c;它提供了以数据为中心的连接服务&#xff0c;基于发布者-订阅者模型。这是一套中间件&#xff0c;它提供介于操作系统和应用程序之间的功能&#xff0c;使得组件之间可以互相通信。并且提…

c++ 形参callback加上const修饰符的神坑

示例代码 template <typename Callback> void read_input(const std::string& prompt, const Callback& cb) {std::thread([prompt, cb](){std::cout << prompt << ": ";std::cout.flush();std::string line;std::getline(std::cin, line…

安徽保安员精选模拟试题(含答案)

1、风险管理的三要素是()&#xff0c;风险评价和风险控制。 A、频率分析 B、风险分析 C、风险转移 D、后果估计 答案:B 2、治安保卫重要部位是指由()确定的、关系本单位生产业务全局的部位和生产环节。 A、企事业重点单位 B、地方政府 C、企事业单位保卫协会 D、公安机关 …

智能室内空气质量监测预警系统小程序设计说明书

智能室内空气质量监测预警系统小程序设计说明书 一、应用功能与系统设计 &#xff08;一&#xff09; 应用功能 该小程序设计的目的是为了配合环境监测吸顶灯,Mini空气监测仪等硬件设备实时数据展示与远程设备控制等功能&#xff0c;系统框架图如图1-1所示。用户可以从小程序…

【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt系统相关 | Qt事件 | 事件的介绍及基本概念 文章编号&#xff1a;Qt…

BatchNormalization和Layer Normalization解析

Batch Normalization 是google团队2015年提出的&#xff0c;能够加速网络的收敛并提升准确率 1.Batch Normalization原理 图像预处理过程中通常会对图像进行标准化处理&#xff0c;能够加速网络的收敛&#xff0c;如下图所示&#xff0c;对于Conv1来说输入的就是满足某一分布…

RN全局封装一个toast弹窗提示(在任意地方只要调用方法就能使用)

创建Toast.js let toastInstance = null;export const showToast = options => {if (toastInstance) {// toastInstance有值的话toastInstance(options);} else {console.error(Toast instance is not initialized);} };export const setToastInstance = instance => {t…

SQL语言-关系数据库的标准语言

一、SQL是关系数据库的标准语言&#xff0c;兼有关系代数和关系演算的特点。具有数据定义、数据查询、数据更新、数据控制等功能。 二、SQL的数据定义主要包括对基本表TABLE、视图VIEW、索引INDEX的创建CREATE和撤销DROP。通过定义表的主键、外键&#xff0c;以及有关的约束&a…

从hip cuda kernel 的汇编语言来感受 AMD GPU内部工作方式

0, 无参数 kernel 汇编语言示例 ./param_00.hip __global__ void WWWWW() {((int*)0x8888888)[3] 0x77777; } ../../../local_amdgpu/bin/clang -O1 --cuda-device-only --offload-archgfx906 -S ./param_00.hip -o param_00.s _Z5WWWWWv: ; …

一招解决家里粉尘螨虫太多难题?家用空气净化器哪款品牌效果好?

一到夏天&#xff0c;两天不打扫家里&#xff0c;家里就会布满一层粉尘。而且春夏的气候也是粉尘螨虫生长和繁殖疯狂时期&#xff0c;一不注意室内空气污染卫生的情况下&#xff0c;就会加剧尘螨的滋生&#xff0c;体质弱、敏感的人群生活在这样的空气环境下&#xff0c;还会增…