Linux嵌入式配置USB鼠标支持+触摸板

在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程序运行时才会去读取的。

相关推荐

  1. 嵌入Linux中OpenSSH移植到ARM开发

    2023-12-09 08:44:01       29 阅读
  2. 雷达模拟触摸屏支持tuio\鼠标\Touch

    2023-12-09 08:44:01       55 阅读
  3. 粤嵌6818开发嵌入开发Linux内存映射

    2023-12-09 08:44:01       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-09 08:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-09 08:44:01       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-09 08:44:01       82 阅读
  4. Python语言-面向对象

    2023-12-09 08:44:01       91 阅读

热门阅读

  1. DETR 目标检测

    2023-12-09 08:44:01       50 阅读
  2. c 语言常用的加密算法——MD5

    2023-12-09 08:44:01       58 阅读
  3. UDP群聊

    UDP群聊

    2023-12-09 08:44:01      52 阅读
  4. Jenkins安装

    2023-12-09 08:44:01       76 阅读
  5. 达梦(主备)搭建

    2023-12-09 08:44:01       46 阅读
  6. WPF(Windows Presentation Foundation)的 ToolBar控件

    2023-12-09 08:44:01       58 阅读
  7. 个人简介(非学习类笔记)

    2023-12-09 08:44:01       57 阅读
  8. Dubbo学习

    2023-12-09 08:44:01       56 阅读
  9. C++同异步极致线程池

    2023-12-09 08:44:01       63 阅读
  10. ELK架构监控MySQL慢日志

    2023-12-09 08:44:01       60 阅读
  11. 线程安全与并发区别

    2023-12-09 08:44:01       59 阅读