我正在使用外接显示器运行我的笔记本电脑。笔记本电脑的内置显示器和外接显示器的 DPI 差异很大,因此我缩放外接显示器以匹配内部显示器的 DPI:
xrandr --output HDMI1 --scale 2.1x2.1 --pos 2880x0
这给了我
Screen 0: minimum 320 x 200, current 6912 x 2268, maximum 8192 x 8192
eDP1 connected primary 2880x1620+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
HDMI1 connected 4032x2268+2880+0 (normal left inverted right x axis y axis) 477mm x 268mm
变换矩阵为:
eDP1(笔记本电脑内置屏幕):
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
HDMI1(外接显示器):
2.099991 0.000000 0.000000
0.000000 2.099991 0.000000
0.000000 0.000000 1.000000
这使得两个显示器以相同的尺寸显示内容。
屏幕显示良好,但现在我的鼠标只能到达外部显示器的一小部分(大致左上象限),并且不会移动到屏幕的底部或右侧部分。当我将其移动到其范围范围时,xinput 报告
ValuatorClass Mode=Relative Proximity=In
valuator[0]=4797
valuator[1]=1079
valuator[2]=0
valuator[3]=-348
在我看来,问题在于鼠标认为屏幕的尺寸为 4798 x 1080 单位,而 X screen 0 的水平尺寸为 6192 x 2268。
如何配置鼠标以访问所有两个显示器?
有人能提出解决方案吗?
硬件:联想Thinkpad W541。软件:Debian 杰西
答案1
我遇到了同样的问题,只能使用鼠标访问第二个显示器的左上角,并使用 --panning 参数修复了它。
我的笔记本电脑屏幕位于左侧(eDP-1,3840x2160),显示器位于右侧(HDMI-2,1600x900)。我缩放了右侧的显示器以匹配左侧的显示器:3840 / 1600 = 2.4,2160 / 900 = 2.4,因此缩放比例为 2.4x2.4。平移参数的第一部分是屏幕尺寸,+3840 表示第二个屏幕的水平偏移,+0 表示无垂直偏移。
xrandr --output eDP-1 --auto --primary --output HDMI-2 --auto --scale 2.4x2.4 --right-of eDP-1 --panning 3840x2160+3840+0
根据您的情况,首先仔细检查您的缩放值。在我缩放第二台显示器以匹配我的笔记本电脑屏幕后,xrandr 为两个屏幕输出相同的尺寸。然后,我会尝试类似的事情
xrandr --output eDP1 --auto --primary --output HDMI1 --auto --scale 2.1x2.1 --right-of eDP1 --panning 2880x1620+2880+0
另请注意,如果我刚刚弄乱了平移参数,有时此命令将无法正确重置平移。为了解决这个问题,我只是拔掉并重新插入显示器,然后运行命令。