Linux嵌入式配置USB鼠标支持+触摸板
2023-12-13 03:46:36
在linux嵌入式中加入鼠标支持,首先在内核里面将mice驱动加入编译,这里用到的是usb所以还要有usb的支持,下载到板子上启动
1、定位鼠标
要用鼠标,首先要知道生成的鼠标设备是哪个,直接直接ls input目录,当时我发现
然后插上USB鼠标,再一次运行查看变化如下:
此时,event2 和mouse1都是新出现了,那么这个就是鼠标设备。
控制台 cat /dev/input/mouse1| hexdump
移动鼠标,然后终端会打印出你的鼠标坐标,进一步确认。
2、设置环境变量
vi /etc/profile
2.1导入环境变量
export QWS_MOUSE_PROTO=intellimouse:/dev/input/mouse1
使用触摸屏,导入环境变量
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
2.2如果想同时两个都支持
export QWS_MOUSE_PROTO=“tslib:/dev/input/event0 intellimouse:/dev/input/mouse1”
保存/etc/profile文件,重启嵌入式。
鼠标有反应了,
3、设置USB鼠标热插拔
4、程序函数
下面我将QMouseDriverFactory::create函数贴出来,大家可以对照此函数来指定driver的名字。
QWSMouseHandler *QMouseDriverFactory::create(const QString& key, const QString &device)
{
QString driver = key.toLower();
if (driver == QLatin1String("linuxtp") || driver.isEmpty())
return new QWSLinuxTPMouseHandler(key, device);
if (driver == QLatin1String("yopy") || driver.isEmpty())
return new QWSYopyMouseHandler(key, device);
if (driver == QLatin1String("vr41xx") || driver.isEmpty())
return new QWSVr41xxMouseHandler(key, device);
if (driver == QLatin1String("auto")
|| driver == QLatin1String("intellimouse")
|| driver == QLatin1String("microsoft")
|| driver == QLatin1String("mousesystems")
|| driver == QLatin1String("mouseman")
|| driver.isEmpty()) {
return new QWSPcMouseHandler(key, device);
}
if (driver == QLatin1String("bus"))
return new QWSBusMouseHandler(key, device);
if (driver == QLatin1String("tslib") || driver.isEmpty())
return new QWSTslibMouseHandler(key, device);
if (driver == QLatin1String("qvfbmouse") || driver == QLatin1String("qvfb"))
return new QVFbMouseHandler(key, device);
#ifndef QT_NO_LIBRARY
if (QWSMouseHandlerFactoryInterface *factory = qobject_cast<QWSMouseHandlerFactoryInterface*>(loader()->instance(driver)))
return factory->create(driver, device);
#endif
return 0;
}
还有需要注意的是QWS_MOUSE_PROTO这个环境变量是Qt程序运行时才会去读取的。
文章来源:https://blog.csdn.net/sirkang/article/details/134879039
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!