如何在 Ubuntu 12.04 中使用多点触控应用程序?

如何在 Ubuntu 12.04 中使用多点触控应用程序?

我在联想 X220 平板电脑上运行 Ubuntu 12.04,我想了解一下有哪些多点触控应用程序/游戏可用。我从存储库安装了所有提及多点触控的应用程序,例如,以下是我安装的一些游戏:

  • 平面性
  • 多特
  • 斯蓬克
  • EMP命令

但是,这些应用程序无法正确注册我的多点触控输入。在某些情况下,无论我触摸哪里,触摸输入都会显示在屏幕的边缘,而在其他情况下,似乎没有输入被注册或至少在游戏中不可见。我还不知道这是错误还是我缺少应用程序或设置。

我尝试使用以下方法校准多点触控设备校准触摸屏工具,但这并不能解决这个问题。

以下是有关我的多点触控设备的更多信息。首先让我们看一下 xinput list 的输出:

:~$ xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen stylus                   id=10    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Finger touch                 id=11    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                       id=14    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen eraser                   id=16    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                  id=13    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                           id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=12    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                      id=15    [slave  keyboard (3)]

多点触摸屏正在注册为指针设备。目前evtestntview尚无法访问该设备。

接下来,我禁用了 xinput 设备:

~$ xinput set-prop 11 'Device Enabled' 0

现在 evtest 可以访问触摸事件了。以下是输出的示例片段,我触摸了左上角区域:

Event: time 1336532858.731191, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 62
Event: time 1336532858.731201, -------------- SYN_REPORT ------------
Event: time 1336532859.983263, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 35
Event: time 1336532859.983265, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 61
Event: time 1336532859.983272, type 3 (EV_ABS), code 0 (ABS_X), value 33
Event: time 1336532859.983274, -------------- SYN_REPORT ------------
Event: time 1336532860.663216, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 36
Event: time 1336532860.663218, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 58

mtview 现在也可以工作了,下面是其输出的片段:

:~$ sudo mtview /dev/input/event13
map: 0.000000 0.000000 0.000000 0.000000 1366.000000 768.000000
map: 50.000000 52.000000 0.000000 0.000000 1366.000000 768.000000
map: 634.000000 52.000000 0.000000 0.000000 1366.000000 768.000000
map: 99.000000 74.000000 0.000000 0.000000 1366.000000 768.000000
map: 49.000000 52.000000 0.000000 0.000000 1366.000000 768.000000
map: 0.000000 0.000000 0.000000 0.000000 1366.000000 768.000000
map: 49.000000 52.000000 0.000000 0.000000 1366.000000 768.000000
map: 49.000000 24.000000 0.000000 0.000000 1366.000000 768.000000

在基于 mtview 绘画的界面中,我最多可以用两根手指进行绘画,所以我猜测这个多点触控设备实际上并不支持超过两个同时的触摸事件,但我还不能 100% 确定。

基于多点触控输入的指针装置似乎运行良好,我可以与非多点触控应用程序交互。但是,所有使用多点触控输入的应用程序似乎都无法正常工作。

免责声明:我曾在另一个问题中提到了这个问题但后来我意识到它可能值得单独提出一个问题。

相关内容