、USB键盘

经过一番搜索,发现对Qt键盘的支持主要关系到两个方面:

1、 键盘类型确定:

      4.7以前的Qt版本,如果是PS2圆孔键盘,Qt编译时需加上选项:-qt-kbd-vr41xx(未测试);如果是USB键盘,需加上-qt-kbd-usb选项。
      Qt4.7.3默认的是tty,对于USB键盘可用,不需要配置。

2、环境变量设置:

然后移植到目标板上,还需要设置环境变量QWS_KEYBOARD:

$export QWS_KEYBOARD="USB:/dev/input/event0"

对于qt鼠标键盘移植问题,还是有点纳闷。

$export set QWS_KEYBOARD="TTY:/dev/tty1"
 根据不同的开发板,这个似乎不同。我的:
       $export set QWS_KEYBOARD="TTY:/dev/input/event4"
qt的程序有键盘输入值,但是是很多不规则的字符集,不知道为什么。
       $./qt -qws 
Could not initialize virtual console switching.

问题解决了:

不要使用QWS_KEYBOARD,这个设置适合自己做按键;使用QWS_USB_KEYBOARD,这个是支持USB标准键盘的。

$export QWS_USB_KEYBOARD=/dev/input/event4

3、说明:

提示:可以用 $cat /dev/input/event 拔插USB键盘,查看哪个是你的键盘设备节点。有两个设备节点,可以用

$cat /dev/input/event4 或$cat  /dev/input/event5
回车,再按键盘,看终端是否有字符输出,可以确定可用的设备节点。

推荐帖子:

http://www.qtcn.org/bbs/simple/?t47670.html

二、USBS鼠标:

看大网上的同志用:
TSLIB_QWS_MOUSE_PROTO="TPanel:/dev/event0 USB:/dev/mouse0
双飞燕:
TSLIB_QWS_MOUSE_PROTO="TSLIB:/dev/event0 Itellimouse:/dev/mouse0
TSLIB_QWS_MOUSE_PROTO="TSLIB:/dev/event0 MouseMap:/dev/mouse0

1、环境变量设置:

1.1 微软鼠标(USB无线)

不同的鼠标环境变量设置可能不一样。我的是Microsoft的:
TSLIB_QWS_MOUSE_PROTO="Microsoft:/dev/input/event6 TSLIB:/dev/input/touchsreen0"
     $export TSLIB_QWS_MOUSE_PROTO="linuxtp:/dev/input/event6
TSLIB:/dev/input/touchsreen0"
这样设置,打开Qt程序,开始可见的鼠标箭头,在鼠标点击后消失了。
     $export TSLIB_QWS_MOUSE_PROTO="MouseMan:/dev/input/event6
TSLIB:/dev/input/touchsreen0"
这样设置,打开Qt程序,开始可见的鼠标箭头,鼠标能移动一下下。
     $./qt -qws
hidraw: pid 1884 passed too short report
hidraw: pid 1884 passed too short report
hidraw: pid 1884 passed too short report

hidraw: pid 1884 passed too short report

hidraw: pid 1884 passed too short report
hidraw: pid 1884 passed too short report
hidraw: pid 1884 passed too short report

1.2 雷柏鼠标(USB无线)

我用雷柏的USB无线鼠标:
     $export QWS_MOUSE_PROTO="linuxtp:/dev/hidraw3
TSLIB:/dev/input/touchsreen0"
鼠标能够一定,但是移动很絮乱。无法点击想选中的目标。
解决了鼠标不可用的问题,我还未来得及研究,先写着。

1.3 最新进展,鼠标可用

配置内核,重新编译内核:
#vim arm/arch/omap3_stalker_defconfig

CONFIG_INPUT_MOUSE=y

#export QWS_MOUSE_PROTO=""

这样鼠标触摸屏都可以用了,鼠标很正常,触摸可以用,但是到处乱跳。
下面三个配置参数没有找到,我也没配置,也可以用的。
CONFIG_INPUT_MOUSEDEV_PSAUX=y 
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 

1.4 鼠标、触摸屏同时使用

export QWS_MOUSE_PROTO="tslib:/dev/input/touchscreen0 mouseman:/dev/input/mice"

3、说明:

帖子推荐:
上条验证有用。
=====================================
SNO:

/usr/etc/ts.conf中的配置。
今天主要是完成tslib在mini210开发板上的移植,传统的移植方法在这个上面根本行不通,不得不说,不知内幕,你永远都不会懂,一个黑匣子会难死多少脑细胞啊,在还好我们有陈sir,呵呵,下面写一下主要的过程和重点:
首先是ts.conf,module_raw input修改成module_raw friendlyarm-ts-input,其余相同
。其次是friendlyarm-ts-input.so,在友善之臂自带的文件系统中/usr/lib/ts目录下,可以把整个ts目录拷贝取代编译
tslib形成lib/ts目录。然后是拷贝相应的libts-1.0.so.0到自己做的文件系统/lib下,最后是配置环境变量在/etc
/profile中加入
export T_ROOT=/opt/tslib
export LD_LIBRARY_PATH=$T_ROOT/lib //指定tslib库文件路径
//export TSLIB_CONSOLEDEVICE=none //tslib运行需要的控制台,这里就是LCD屏幕 ,设定控制台设备为none,否则默认为/dev/tty,
export TSLIB_FBDEVICE=/dev/fb0 //指定帧缓冲设备 
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_TSDEVICE=/dev/touchscreen-1wire //指定触摸屏设备节点文件
export TSLIB_CALIBFILE=/etc/pointercal //指定触摸屏校准文件pintercal的存放位置export QWS_MOUSE_PROTO=tslib:/dev/touchscreen-1wire
执行ts_calibrate校验程序。

Qt移植对USB鼠标键盘、触摸屏的支持的更多相关文章

  1. 使用Gadget 做usb鼠标键盘设备

    使用Gadget 做usb鼠标键盘设备 感谢TI社区提供的好帮助啊!http://e2e.ti.com/support/arm/sitara_arm/f/791/p/571771/2103409?pi ...

  2. USB鼠标键盘数据格式以及按键键值

    鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 --        |--bit7:   1   表示   Y   坐标的变化量超出-256 ...

  3. 【Linux开发】【Qt开发】tslibs的配置(触摸屏没有,HDMI屏幕):Qt界面响应USB鼠标

    s3c2416   linux qt4.x 由于触摸屏坏了,板子只能用鼠标了,结果以前可以用的现在鼠标突然不能用了 为此交叉编译了qt的多个版本,也换过根文件系统,以为是tslib版本的问题,却发现q ...

  4. 解决ubuntu16.04 USB鼠标键盘使用卡顿

    小米游戏本,键盘突然M建不能用,去了售后换了个键盘. 小米售后真的不想吐槽……入坑 键盘鼠标卡顿由于挂起导致失灵,每次需要激活所以卡顿 解决办法如下: 编辑如下文件配置 sudo vim /etc/l ...

  5. STM32 USB 鼠标+键盘 串口控制

    *MOS0101000000# 鼠标左键按下 *MOS0102000000# 鼠标右键按下 *MOS0103000000# 鼠标中键按下 *MOS0100000000# 鼠标抬起 *MOS01000a ...

  6. 玩转X-CTR100 l USB功能-HOST鼠标键盘

    更多塔克创新资讯欢迎登陆[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有MicroUSB接口,支持SLAVE和HOST两 ...

  7. 【Linux开发】【Qt开发】嵌入式Qt程序使用触屏或USB鼠标方式

    上文<嵌入式Qt开发-移植到ARM开发板 >介绍了Qt程序的移植,本文再说下如何使开发板Qt程序使用触摸屏或USB方式进行交互. 之前刚把一个qt程序移植到arm板上成功运行显示时就开心的 ...

  8. usb的hid鼠标键盘报告描述符(五)

    title: usb的hid鼠标键盘报告描述符 tags: linux date: 2018/12/20/ 18:05:08 toc: true --- usb的hid鼠标键盘报告描述符 https: ...

  9. QT 11 鼠标键盘事件添加

    鼠标事件 void mousePressEvent(QMouseEvent *event); //单击 void mouseReleaseEvent(QMouseEvent *event); //释放 ...

随机推荐

  1. php 远程调用redis

    <?php $redis_conf = array ( "active_code"=>array( "host" => "14.29 ...

  2. git branch merge到master

    使用merge可以合并多个历史记录的流程. 如下图所示,bugfix分支是从master分支分叉出来的. 合并 bugfix分支到master分支时,如果master分支的状态没有被更改过,那么这个合 ...

  3. SlidingMenu官方实例分析3——PropertiesActivity

    PropertiesActivity此类主要是对SlidingMenu设置的一些展示,也是为了使用者能快速的掌握SlidingMenu 的特点. 首先获得SlidingMenu对象: SlidingM ...

  4. C++ RTTI的应用

    先看下方的代码,我们所处的context在<<< void* pX = (void*)pGiven; >>>处,只知道上面这些类的信息和pX指针,怎么判断pX指向对 ...

  5. EasyNVR摄像机无插件直播进行摄像机云台控制的接入及调用详解

    EasyNVR云台接入及控制详解 摄像机云台控制在摄像机当中很常见摄像机能将当前状态下云台的水平角度.倾斜角度和摄像机镜头焦距等位置参数存储到设备中,需要时可以迅速调用这些参数并将云台和摄像头调整至该 ...

  6. C#关于AutoResetEvent的使用介绍----修正

    说明 之前在博客园看到有位仁兄发表一篇关于AutoResetEvent介绍,看了下他写的代码,看上去没什么问题,但仔细看还是能发现问题.下图是这位仁兄代码截图. 仁兄博客地址:http://www.c ...

  7. 【转】NAS、DAS和SAN存储的特点及主要区别

    接触过存储设备的朋友应该对NAS.DAS和SAN存储不陌生,作为目前三种常见的存储方式,被广泛应用于企业存储设备中,那么NAS.DAS和SAN这三种存储分别有什么特点,又有何区别呢? 一.NAS存储特 ...

  8. Qt Creator 如何支持并行?

    PRO 文件中加入以下语句即可 #OpenMP QMAKE_CXXFLAGS += -openmp QMAKE_LFLAGS += -openmp

  9. 【题解】Journeys(线段树优化连边)

    [#3073. Pa2011]Journeys (线段树优化连边) 这张图太直观了,直接讲透了线段树优化连边的原理和正确性. 考虑建立两颗线段树,一颗是外向树,一颗是内向树,相当于网络流建模一样,我们 ...

  10. Java基础—序列化与反序列化(转载)

    转载自: Java序列化与反序列化 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程. 2.为什么需要序列化 ...