I'm running my laptop with an external monitor. The laptop's built in monitor and the external monitor have wildly different DPI, so I scale the external monitor to match the DPI of the internal one:

xrandr --output HDMI1 --scale 2.1x2.1 --pos 2880x0

This gives me

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

The transformation matrices are:

eDP1 (laptop built-in screen):

1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0

HDMI1 (external monitor):

2.099991 0.000000 0.000000
0.000000 2.099991 0.000000
0.000000 0.000000 1.000000

This lets both monitors show things at the same size.

The screens display fine, but now my mouse will only reach a small fraction of the external monitor (roughly the upper left quadrant) and won't move to the bottom portion of the screen or the right portion. When I move it to the extent of its range, xinput reports

ValuatorClass Mode=Relative Proximity=In

The problem seems to me to be that the mouse thinks the screen has a size of 4798 x 1080 units, whereas the X screen 0 has a horizontal size of 6192 x 2268.

How can I configure the mouse to reach all of both monitors?

Can anyone suggest a solution?

Hardware: Lenovo Thinkpad W541. Software: Debian jessie


I had this same problem, only able to access upper left of second monitor with mouse, and fixed it with the --panning argument.

I have my laptop screen on the left (eDP-1, 3840x2160) and a monitor on the right (HDMI-2, 1600x900). I scaled the monitor on the right to match the left: 3840 / 1600 = 2.4, 2160 / 900 = 2.4 so scaling is 2.4x2.4. The first portion of the panning argument is the screen dimensions, the +3840 is for the horizontal offset of the second screen, and the +0 is for no vertical offset.

xrandr --output eDP-1 --auto --primary --output HDMI-2 --auto --scale 2.4x2.4 --right-of eDP-1 --panning 3840x2160+3840+0

For your situation, first double check your scaling values. After I have scaled my second monitor to match my laptop screen, xrandr outputs the same dimensions for both screens. Then, I would try something like

xrandr --output eDP1 --auto --primary --output HDMI1 --auto --scale 2.1x2.1 --right-of eDP1 --panning 2880x1620+2880+0

Also note, if I had just messed with the panning argument, sometimes this command would not reset the panning correctly. To fix this, I just unplugged and replugged the monitor then ran the command.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.