2729
- 收藏
- 点赞
- 分享
- 举报
[已解决]有什么办法,能让QT环境下支持普通USB键盘(本来就支持,呵呵)
本帖最后由 ngswfx 于 2016-6-24 06:32 编辑
最近做QT应用程序,已经写的差不多了,到了最后收尾的部分代码,需要考虑用户输入的问题了,PC上有usb或者ps2键盘,还有各种中文输入法,程序不用过多关注。
/////在arm上搞,这些就都是问题了,我的想法是,先支持输入英文再说。
暂考虑2种方法,一种是研究看能够使内核直接支持usb键盘(我优先计划用这种,由于USB键盘很便宜,用户配一个也很方便,而且输入速度快,直接一些,如果能支持2无线键盘鼠标,就更方便了),还有一种,是使用虚拟键盘。这个就需要下载各种虚拟键盘的代码,来研究修改了。
而且这种方式,大家都在用,感觉遇到大量输入操作的时候,很不实际,如果第一种方法,失败了,才会考虑。
//////////////////
看了文章:[url]http://blog.sina.com.cn/s/blog_53689eaf01011f7u.html[/url],感觉好像有戏。
make menuconfig
Device Drivers--->USB support---->USB HIDBP Keyboard (simple Boot) support //这个我以前弄kernel见到过类似的,好像已经开了。
/////////////我就想先确认一下,根据大家了解到的现状,如果在3536这类海斯芯片上,USB普通键盘能否驱动起来?QT程序是否需要繁杂的接收处理动作。
//目前进度,内核应该已经支持了,插入usb键盘后,控制台已经提示usb keyboard找到了,而且Num Lock灯可控,供电肯定OK了,然后cat /proc/input/event0 执行后,按键盘上某个健,控制台一堆乱码。看来已经可以认,并且能够输入了。
//打开自己的程序,已经可以通过回车键(由于暂时没了鼠标,只能瞎按),控制打开程序,通过tab控制焦点在某个控件上,看来流程对了。由于板子上的另外一个蓝色口usb好像不一样,没弄对,只有一个usb口可用,估计问题不算大了。
///////////仔细看了一下3536文档 外围设备驱动 操作指南.pdf 这就放心了,应该问题不大。
////////////////////////////////
目前键盘和鼠标的驱动要和上层结合使用,比如鼠标事件要和上层的 GUI 结合。
对键盘的操作只需要对/dev/input/下的 event 节点读取即可,而鼠标则需要标准的
库支持 /////////这里看得人怕怕的,好像还要自己弄程序一样,其实QT已经做好了。
//////总体计划:
1、实现字符输入,先英文。(暂不考虑虚拟键盘)
2、实现汉字输入。(评估flash空间占用,内存占用问题)
///////////////////遇到的问题,及解决:
1、修改kernel配置,把感觉和USB键盘相关的东西打开了。突然发现鼠标要死不活的,估计在不停复位。约3秒钟,停1秒。多次重启没效果,都一样,开始还怀疑是不是usb外置的hub问题,直接接usb鼠标也不行。没办法,看来kernel配置出了问题。回复成以前备份的,OK了。:lol
已经搞定,我想多了。。
///////////经过测试,看来这个USB物理键盘还是比较容易实现,总的来说没什么设置,kernel应该是默认就支持了,只要用QT,也默认就支持了,而且还支持USB HUB扩展。下一步找一个usb蓝牙鼠标键盘测试一下,看能否支持。
这样在实际项目中,方便太多了。
最近做QT应用程序,已经写的差不多了,到了最后收尾的部分代码,需要考虑用户输入的问题了,PC上有usb或者ps2键盘,还有各种中文输入法,程序不用过多关注。
/////在arm上搞,这些就都是问题了,我的想法是,先支持输入英文再说。
暂考虑2种方法,一种是研究看能够使内核直接支持usb键盘(我优先计划用这种,由于USB键盘很便宜,用户配一个也很方便,而且输入速度快,直接一些,如果能支持2无线键盘鼠标,就更方便了),还有一种,是使用虚拟键盘。这个就需要下载各种虚拟键盘的代码,来研究修改了。
而且这种方式,大家都在用,感觉遇到大量输入操作的时候,很不实际,如果第一种方法,失败了,才会考虑。
//////////////////
看了文章:[url]http://blog.sina.com.cn/s/blog_53689eaf01011f7u.html[/url],感觉好像有戏。
make menuconfig
Device Drivers--->USB support---->USB HIDBP Keyboard (simple Boot) support //这个我以前弄kernel见到过类似的,好像已经开了。
/////////////我就想先确认一下,根据大家了解到的现状,如果在3536这类海斯芯片上,USB普通键盘能否驱动起来?QT程序是否需要繁杂的接收处理动作。
//目前进度,内核应该已经支持了,插入usb键盘后,控制台已经提示usb keyboard找到了,而且Num Lock灯可控,供电肯定OK了,然后cat /proc/input/event0 执行后,按键盘上某个健,控制台一堆乱码。看来已经可以认,并且能够输入了。
//打开自己的程序,已经可以通过回车键(由于暂时没了鼠标,只能瞎按),控制打开程序,通过tab控制焦点在某个控件上,看来流程对了。由于板子上的另外一个蓝色口usb好像不一样,没弄对,只有一个usb口可用,估计问题不算大了。
///////////仔细看了一下3536文档 外围设备驱动 操作指南.pdf 这就放心了,应该问题不大。
////////////////////////////////
目前键盘和鼠标的驱动要和上层结合使用,比如鼠标事件要和上层的 GUI 结合。
对键盘的操作只需要对/dev/input/下的 event 节点读取即可,而鼠标则需要标准的
库支持 /////////这里看得人怕怕的,好像还要自己弄程序一样,其实QT已经做好了。
//////总体计划:
1、实现字符输入,先英文。(暂不考虑虚拟键盘)
2、实现汉字输入。(评估flash空间占用,内存占用问题)
///////////////////遇到的问题,及解决:
1、修改kernel配置,把感觉和USB键盘相关的东西打开了。突然发现鼠标要死不活的,估计在不停复位。约3秒钟,停1秒。多次重启没效果,都一样,开始还怀疑是不是usb外置的hub问题,直接接usb鼠标也不行。没办法,看来kernel配置出了问题。回复成以前备份的,OK了。:lol
已经搞定,我想多了。。
///////////经过测试,看来这个USB物理键盘还是比较容易实现,总的来说没什么设置,kernel应该是默认就支持了,只要用QT,也默认就支持了,而且还支持USB HUB扩展。下一步找一个usb蓝牙鼠标键盘测试一下,看能否支持。
这样在实际项目中,方便太多了。
我来回答
回答10个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2021-08-24 17:18:13
-
2016-06-17 23:15:54
-
2016-01-06 14:28:34
-
2017-05-10 19:29:46
-
2019-10-21 17:15:56
-
2016-10-10 14:51:52
-
2019-08-29 09:03:05
-
2016-08-05 16:27:37
-
2016-09-21 20:42:52
-
2016-03-28 22:26:43
-
2016-06-29 07:00:55
-
2016-08-10 15:34:37
-
2016-06-03 06:10:48
-
2016-04-14 18:50:36
-
2018-10-15 20:35:20
-
2016-05-10 15:39:14
-
2016-11-10 09:59:04
-
2016-08-11 09:08:55
-
2018-03-15 01:26:12
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认