zoukankan      html  css  js  c++  java
  • QWS_MOUSE_PROTO该如何写

    该环境变量主要是帮助QMouseDriverFactory也就是Qt鼠标设备的枚举者来创建你想要的鼠标设备而不是系统默认的。

    默认该环境变量时空的,其实大部分情况下空就可以了,Qt能够根据系统配置猜测出你想要的设备,并且这个大多数情况下好像都是正确的。不过如果错了我们可以通过设置该变量来纠正。

    该环境变量的格式如下:

    export QWS_MOUSE_PROTO="<driver>[:<driver specific options>]
             <driver>[:<driver specific options>]
             <driver>[:<driver specific options>]"

    中间可以通过空格来指定多个鼠标设备,目前我也没用到过,因为一般有一个输入设备就够了,最常用的格式如下:

    export QWS_MOUSE_PROTO="tslib:/dev/ts"

    第一个,指明要使用tslib这个驱动,对应的设备名字是/dev/ts

    就这么简单。

    下面我将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;
    }

    我将那些乱起八糟的宏都去掉了,方便大家查找。大多数情况下,是不可能所有这些设备都可用的。

  • 相关阅读:
    kotlin,短小精悍
    最近把Vue又看了下
    https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#webflux-cors
    os模块——获取上层目录
    启动flask服务:flask run -h 0.0.0.0 -p 5000
    22端口和3389端口之我竟然用3389连接linux服务器,关键是我之前用22端口连接过linux!!!
    datetime 模块
    查看公网ip
    字典——删除元素
    docker端口映射
  • 原文地址:https://www.cnblogs.com/baizx/p/1707790.html
Copyright © 2011-2022 走看看