Ubuntu中USB按键功能开发

本文详细介绍了在Ubuntu系统中,针对自动驾驶场景,如何开发一个读取USB按键信号的小程序。通过分析设备信息,确定event编号,并在ROS框架下编写程序,实现按键事件的发布与订阅。在本机进行测试,确保按键按压能正确触发数据变化。


在这里插入图片描述
图片来源于网络,若侵权请联系博主删除,谢谢!

1. 背景

在自动驾驶系统开发阶段,会有一些手动触发的操作,通过在工控机上外接USB按键(如上图所示),实现触发事件的采集。
本文主要是叙述,如何在Linux系统中,开发一个采集按键信号的小程序。

2. 设计实现

在虚拟机的Ubuntu系统系统中,可以看到按键输入设备的信息:

qpp@qpp-virtual-machine:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 0079:0011 DragonRise Inc. Gamepad
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 00
### Ubuntu 20.04 中文安装指南 #### 准备工作 在开始安装之前,建议准备一个 U 盘用于制作启动盘。相比通过网络挂载 ISO 文件的方式,U 盘安装更加稳定且速度更快[^2]。 #### 制作启动盘 1. 下载官方提供的 Ubuntu 20.04 LTS 的中文版本 ISO 镜像文件。可以从官网或其他可信源获取。 2. 使用工具如 Rufus 或 Etcher 将下载好的 ISO 文件写入到 U 盘中,确保选择 UEFI 模式以兼容现代主板设置。 #### BIOS 设置 将 U 盘插入计算机后重启设备,在开机界面按下对应的键(通常是 `F2`、`Del` 或其他指定按键)进入 BIOS 菜单。调整启动顺序,使 USB 设备优先于硬盘启动,并保存退出。 #### 安装过程中的语言选项 当系统从 U 盘引导成功后,会出现初始界面,默认显示英文版内容。此时可以通过点击屏幕右下角的语言图标切换至简体中文环境。注意,部分情况下可能需要手动加载额外字体包来完全支持汉字渲染效果。 #### 后续配置——中文输入法 完成基本操作系统部署之后,为了能够正常使用汉语交流沟通,则需进一步安装适合自己的拼音方案及其他关联组件: ```bash sudo apt update sudo apt install fcitx fcitx-pinyin sudo apt install language-pack-zh-hans im-config -s fcitx ``` 注销当前会话后再签回进来让改动生效;接着访问控制面板里的Fcitx设定窗口把普通话加入可用键盘布局里边去[^4]。 #### 可选步骤——开发环境搭建 (以 Python 和 QT为例) 如果计划在此平台上构建图形化应用程序或者从事嵌入式编程等领域的工作的话,那么还应该考虑引入相应的库文件以及调试器之类的辅助设施: 对于 Python 用户来说,更新APT索引并向其中添加PyPI管理程序非常必要: ```bash sudo apt update sudo apt install python3-pip ``` 至于跨平台GUI设计爱好者而言,则参照专门文档执行相应脚本来达成目标: - 访问项目主页了解最新进展状况:https://gitcode.com/Open-source-documentation-tutorial/39ef4[^1] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智驾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值