如何校准双显示器系统上的触摸屏?

The*_*eek 33 multiple-monitors touchscreen

我有两个不同尺寸的双显示器设置。我的主显示器是 23 英寸宽屏 Acer T230H 触摸屏,第二台是普通 20 英寸显示器。当我使用触摸屏时,光标会出现在辅助显示器上,具体取决于我触摸显示器的位置。如何校准它以仅控制我的主显示器?

Pau*_*sma 62

正如 Beni Cherniavsky-Paskin 在评论中建议的那样,我使用以下命令将输入​​设备映射到输出屏幕:

xinput map-to-output <device> <output>
Run Code Online (Sandbox Code Playgroud)

为了弄清楚哪个是哪个,我首先跑去xinput列出输入设备。从该列表中,我观察到我的触摸屏是“QUANTA 光学触摸屏”并列为设备 ID 12。然后我跑去xrandr确定触摸屏,在我的例子中是 VGA1。

只需输入以下命令即可解决问题:

xinput map-to-output 12 VGA1
Run Code Online (Sandbox Code Playgroud)

  • 是否有可能使这个持久化? (2认同)

Aji*_*air 30

正如 Beni Cherniavsky-Paskin 和 Paul Lammertsma 在上述评论xinput map-to-output <device> <output>中所建议的那样,我成功了!

您首先需要运行xinput以获取 inupt 设备的 id,

上面的命令为我返回这样的东西。

user@user-hpEnvy:~$ xinput
? Virtual core pointer                      id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? Logitech Unifying Device. Wireless PID:401b   id=10   [slave  pointer  (2)]
?   ? Logitech Unifying Device. Wireless PID:4016   id=11   [slave  pointer  (2)]
?   ? ELAN20E7:00 04F3:20E7                     id=13   [slave  pointer  (2)]
?   ? SynPS/2 Synaptics TouchPad                id=15   [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)]
    ? Video Bus                                 id=8    [slave  keyboard (3)]
    ? Power Button                              id=9    [slave  keyboard (3)]
    ? HP Truevision HD                          id=12   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ? HP Wireless hotkeys                       id=16   [slave  keyboard (3)]
    ? HP WMI hotkeys    
Run Code Online (Sandbox Code Playgroud)

接下来我跑去xrandr获取屏幕列表,命令的输出是这样的

user@user-hpEnvy:~$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
   1920x1080      60.0*+   59.9     40.0  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
HDMI1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 600mm x 340mm
   1920x1080      60.0*+   50.0     59.9  
   1680x1050      59.9  
   1600x900       60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x720       60.0     50.0     59.9  
   1024x768       60.0  
   800x600        60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        60.0     59.9  
   720x400        70.1  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Run Code Online (Sandbox Code Playgroud)

在我的情况下,触摸设备ELAN20E7:00 04F3:20E7 id=13和启用触摸的屏幕是eDP1为了解决这个问题,我需要将设备映射到该监视器仅用于我运行此命令xinput map-to-output 13 eDP1

问题解决了,它再次正常工作:)

我使用的是基本操作系统 freya,所以它应该适用于所有基于 Ubuntu 14.04 LTS 的发行版

  • 这在我的 Dell Inspiron 5547 上完美运行。有趣的是,我使用了与我的“ELAN Touchscreen”相对应的“id=13”,尽管“xinput-calibrator”默认使用的是“SynPS/2 Synaptics TouchPad”。 (2认同)

int*_*_ua 2

您是否尝试过使用xinput-calibrator

  • `xinput-calibrator` 没有帮助我。它跨越了整个显示空间,在我的设置中无法全部访问。我尝试手动将校准值设置为触摸屏的大小和位置,但没有效果。使用“xinput map-to-output”的答案更容易、更有帮助。 (7认同)