ven*_*enz 6 nvidia multiple-monitors touchscreen 12.04
我有 ubuntu 12.04 和两台显示器,首先是触摸屏。
系统将分辨率识别为一个3840*1080分辨率的大屏幕。
问题是使用触摸校准时,校准器屏幕在两个屏幕上都会变大。因此,当触摸屏幕时,指针在 X 轴上移动两次。
有什么解决办法吗?
图形:带有 Twin wiew 的 NVIDIA
小智 12
首先,列出所有输入源xinput --list:
? Virtual core pointer id=2 [master pointer (3)]
? ? Virtual core XTEST pointer id=4 [slave pointer (2)]
? ? Sony Vaio Jogdial id=8 [slave pointer (2)]
? ? Advanced Silicon S.A CoolTouch(TM) System id=11 [slave pointer (2)]
? ? HID-compliant Mouse HID-compliant Mouse 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)]
? Sony Vaio Keys id=7 [slave keyboard (3)]
? Video Bus id=9 [slave keyboard (3)]
? Power Button id=10 [slave keyboard (3)]
? IR camera id=12 [slave keyboard (3)]
? Cherry USB keyboard id=14 [slave keyboard (3)]
? Cherry USB keyboard id=15 [slave keyboard (3)]
? AT Translated Set 2 keyboard id=16 [slave keyboard (3)]Run Code Online (Sandbox Code Playgroud)
拿起您感兴趣的设备(在本例中,我使用的是“Advanced Silicon SA CoolTouch(TM) System”),并记下它的 ID。
现在,您需要找出要将输入设备映射到的显示器。最直接的方法是使用xrandr:
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 16384 x 16384
HDMI-0 connected 1280x1024+1920+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.02*+
1280x960 60.00
1280x720 60.00 59.94
1152x864 75.00 70.00
1024x768 60.00
800x600 60.32
720x480 59.94
640x480 59.94 59.93
LVDS-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.00*+ 59.94 Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想将我的触摸设备映射到 output LVDS-0。
将第一步(11此处)中的 ID 与第二步(此处)中的屏幕名称组合起来,LVDS-0然后运行以下命令:
xinput --map-to-output INPUT-ID SCREENRun Code Online (Sandbox Code Playgroud)
在我的例子中,这个命令是:
xinput --map-to-output 11 LVDS-0
Run Code Online (Sandbox Code Playgroud)
您的触摸设备不应正确映射到输入设备,并且不应需要任何额外配置。
这些设置不会在两次重新启动之间持续存在。请参阅有关如何使xinput命令持久化的问题。
小智 3
archlinux wiki 是关于如何解决这个问题的最好描述,但这里有一些更具体的内容。
您应该运行 xinput --list 来识别输入设备的名称。我创建了一个电子表格来计算变换值。
我跑了你的数字(双 1920x1080 显示器)。
如果您的触摸屏位于左侧,则命令将为(“Advanced Silicon SA CoolTouch(TM) System”是我的输入设备的名称,替换为您的输入设备的名称):
xinput set-prop 'Advanced Silicon S.A CoolTouch(TM) System' --type=float 'Coordinate Transformation Matrix' 0.5 0 0 0 1 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
对于右边来说,应该是:
xinput set-prop 'Advanced Silicon S.A CoolTouch(TM) System' --type=float 'Coordinate Transformation Matrix' 0.5 0 0.5 0 1 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
小智 1
请参阅: https: //wiki.archlinux.org/index.php/Calibration_Touchscreen
您的矩阵是以下之一:
Touch screen on the left: 0. 5 0 0 0 1 0 0 0 1
Touch screen on the right: 0. 5 0 0. 5 0 1 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
我有几乎相同的配置(但屏幕一个在另一个之上),并且在设置正确的矩阵后我经历了多次点击,如上面链接的底行所述。xorg-server我还没有找到在Ubuntu下重建的方法;当然所描述的过程不起作用。
| 归档时间: |
|
| 查看次数: |
7711 次 |
| 最近记录: |