基于 Raspberry 3B+ 的可移动测试平台 (2)

evdev 手柄映射表

概述

使用evdev 获取手柄输入。(安装:pip install evdev,相关教程略)

手柄如下图所示,按键明明参考PS4 手柄。

在这里插入图片描述

按键映射 event code取值 event val说明
L13101,0按下为 1 释放为 0
L220 - 255释放为 0 按下最大值为255
L33171, 0按下为 1 释放为 0
R13110按下为 1 释放为 0
R250 - 255释放为 0 按下最大值为255
R33180, 1按下为 1 释放为 0
A3040, 1按下为 1 释放为 0
B3050, 1按下为 1 释放为 0
Y3080, 1按下为 1 释放为 0
X3070, 1按下为 1 释放为 0
HAT_UP170, -1按下为 -1 释放为 0
HAT_DOWN170, 1按下为 1 释放为 0
HAT_LEFT160,-1按下为 -1 释放为 0
HAT_RIGHT160, 1按下为 1 释放为 0
LEFT_AXIS_X0-32768 - 32768左:-32768 右:32768
LEFT_AXIS_Y1-32768 - 32768上:-32768 下:32768
RIGHT_AXIS_X3-32768 - 32768左:-32768 右:32768
RIGHT_AXIS_Y4-32768 - 32768上:-32768 下:32768
SELECT3140, 1按下为 1 释放为 0
START3150, 1按下为 1 释放为 0
HOME3160, 1按下为 1 释放为 0

测试与相关代码

命令行执行 ls /dev/input

在这里插入图片描述

其中 event0 即为手柄对应的 event 。通过以下代码既可获取按键对应的映射表。

from evdev import InputDevice
from select import select

def detectInputKey():
    dev = InputDevice('/dev/input/event0') # 手柄的 event
    while True:
        select([dev], [], [])
        for event in dev.read():
            print("code:%s value:%s" % (event.code, event.value))


if __name__ == '__main__':
    detectInputKey()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值