• eGalax电阻屏的Touch驱动


    该电阻屏是四线电阻屏,参数如下:VID_0EEF&PID_0001。官方网址给出的时一个模拟鼠标的驱动,那么在Windows 8 下面用着非常不舒服。最终还是找到一个单文件的驱动,名字为usbmini.sys。

    该驱动特点:触控操作都是Touch,系统可以识别出来安装了一个单点触控设备。

    但是校准操作麻烦,系统默认的校准会出偏差(比如我点左上角,可能误识别为左下角),所以需要手动校准,命令为

    tabcal.exe lincal novalidate XGridPts=6,276,547,819,1090,1360 YGridPts=5,156,308,460,612,763

    (针对1366*768的屏幕)

    目前还发现一个问题,系统待机或者休眠之后(Win8的快速关机也算休眠),启动起来就无法使用触屏了。初步猜测是触屏驱动只管理的开机关机两个电源状态,对挂起可能没有特殊操作,一般的解决办法就是禁用再启用。由于Y450存在一个触控条,我是自己写了个服务将其变为音量调节器,而一键影音那个按键的事件也是和SlideBar是一个事件,只不过参数不同。那样就可以把一键影音变为禁用再启用触屏的了。在这里我得感谢联想的SlideBarNavigator,要不是这个软件,我也不知道上哪去捕获SlideBar事件。

    注意:虽然这里给出了页面链接,上面有驱动地址,但是这是一个内测的驱动程序。一切风险需要自己承担。

    原文:

    Remember, this is a "AS IS" release, and even when I can guarantee that it works you ARE ON YOUR OWN. Do not count on Samsung for help (these guys are busy making money) and do not bother EETI either (these guys are really busy doing a good job).

    我曾经联系过EETI和D-SUB的客服,他们表示,我使用的这个控制器不是HID-compatible,也就是只能作为一个绝对定位设备/鼠标了。

    当然,我也想写个驱动,但是自己不才,看不懂如何去写。之前见过TimeLink的触屏,他们的驱动就是采用UMDF+HID的wrapper来写的。我看了微软网上的介绍,说这个是推荐的技术,但是问题不同。首先这个设备系统不认为是HID设备,其次我不知道怎么具体写代码。

    然后官网给的帮助文档中有介绍,说数据包的格式什么的。而且我用DDK当中的USBView看到如下信息:这也与文档说的相符,5ms进行一次信息获取。

    Device Descriptor:
    bcdUSB:             0x0110
    bDeviceClass:         0x00
    bDeviceSubClass:      0x00
    bDeviceProtocol:      0x00
    bMaxPacketSize0:      0x08 (8)
    idVendor:           0x0EEF
    idProduct:          0x0001
    bcdDevice:          0x0100
    iManufacturer:        0x01
    iProduct:             0x02
    iSerialNumber:        0x00
    bNumConfigurations:   0x01

    ConnectionStatus: DeviceConnected
    Current Config Value: 0x01
    Device Bus Speed:     Low
    Device Address:       0x03
    Open Pipes:              1

    Endpoint Descriptor:
    bEndpointAddress:     0x81  IN
    Transfer Type:   Interrupt
    wMaxPacketSize:     0x0008 (8)
    bInterval:            0x05

    Configuration Descriptor:
    wTotalLength:       0x0019
    bNumInterfaces:       0x01
    bConfigurationValue:  0x01
    iConfiguration:       0x04
    bmAttributes:         0xA0 (Bus Powered Remote Wakeup)
    MaxPower:             0x32 (100 Ma)

    Interface Descriptor:
    bInterfaceNumber:     0x00
    bAlternateSetting:    0x00
    bNumEndpoints:        0x01
    bInterfaceClass:      0xFF
    bInterfaceSubClass:   0xFF
    bInterfaceProtocol:   0xFF
    iInterface:           0x00

    Endpoint Descriptor:
    bEndpointAddress:     0x81  IN
    Transfer Type:   Interrupt
    wMaxPacketSize:     0x0008 (8)
    bInterval:            0x05

    参考:http://ultramobilepc-tips.blogspot.com/2009/08/egalax-touch-screens-are-not-always-usb.html

    驱动:http://ultramobilepc-tips.blogspot.com/2007/04/finally-hid-support-for-all-q1s-with.html

    校准:http://www.cnbeta.com/articles/218376.htm

    2013-4-17——今天淘宝上看到有人在卖Win8的电阻屏的转换器。要比普通20,30块的大一些,不过也是针对电阻屏,仅单点触控。价格高出不少,我没买过,不过感觉应该和我现在用的功能差不多吧……

  • 相关阅读:
    C
    C
    你好,欢迎到这里来
    数组专题
    web前端的性能优化
    MornUI 源码阅读笔记
    application tips
    [转]就这样,创建了自己的运行时共享库(RSL)
    [转]glew, glee与 gl glu glut glx glext的区别和关系
    编码相关了解
  • 原文地址:https://www.cnblogs.com/DaochenShi/p/2886741.html
Copyright © 2020-2023  润新知