参考
键盘检测网站
学习网站(重要)
学习网站
thonny开发常见指令
寻求帮助----------help(func)
查看支持的按键-----import board dir(board)
本项目现象
法一为发送指定数据(终端函数调用)
最终成品为按键发送,GP19与GP20分别接按键,按下后分别打印出a,b(可自定义)
鼠标为按键控制(也可终端控制),按下按键分别向左右两边移动
键盘
法一(单纯发送数据,但可一次发送多个(数组))
1:将配置所需里的文件放进pico中
- uf2------先放进去配置circuitpython环境,重启后为CIRCUITPY
- lib-------可以整个放进去
- code.py---------主程序,替换掉之前的
2:运行效果
def send(this_input, sleep=0.25):
主文件定义了如上的函数,无论是在code.py后面还是另外单开的终端上,调用 send([0x13,0x15,6], sleep=0.25)
就会打字
法二(只需要添加lib中的adafruit_hid支持)
不需要lib中的 usb_hid_map.py
,直接运行即可
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
# Set up a keyboard device.
kbd = Keyboard(usb_hid.devices)
# Type lowercase 'a'. Presses the 'a' key and releases it.
kbd.send(Keycode.A)
kbd.send(0x3a)
send语法对应map表在 对照表 中
最终成品(使用法二即可)
结合按键,按下一个键发送制定数据,防抖避免按下一次发送多个数据
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
import time
import board
import digitalio
# Set up a keyboard device.
kbd = Keyboard(usb_hid.devices)
# 用GP20和GP19,并设置成上拉输出,按下button_up.value为false
button_up = digitalio.DigitalInOut(board.GP20)
button_up.switch_to_input(pull=digitalio.Pull.UP)
button_dw = digitalio.DigitalInOut(board.GP19)
button_dw.switch_to_input(pull=digitalio.Pull.UP)
while(True):
if(button_up.value == False):
time.sleep(0.2)
if(button_up.value == False):
kbd.send(Keycode.A)
if(button_dw.value == False):
time.sleep(0.2)
if(button_dw.value == False):
kbd.send(Keycode.B)
做鼠标(拓展)
环境支持和法二一样
import time
import analogio
import board
import digitalio
import usb_hid
from adafruit_hid.mouse import Mouse
mouse = Mouse(usb_hid.devices)
button_up = digitalio.DigitalInOut(board.GP20)
button_up.switch_to_input(pull=digitalio.Pull.UP)
button_dw = digitalio.DigitalInOut(board.GP19)
button_dw.switch_to_input(pull=digitalio.Pull.UP)
while(True):
if(button_up.value == False):
time.sleep(0.1)
if(button_up.value == False):
mouse.move(10)
if(button_dw.value == False):
time.sleep(0.1)
if(button_dw.value == False):
mouse.move(-10)
点击左(右)键------------mouse.click(Mouse.RIGHT_BUTTON)
x轴移动--------------------mouse.move(x=10)
文章来源:https://www.toymoban.com/news/detail-496669.html
y轴移动--------------------mouse.move(y=10)
文章来源地址https://www.toymoban.com/news/detail-496669.html
到了这里,关于树莓派pico做鼠标与键盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!