How do I calibrate a touchscreen on a dual monitor system?
I have a dual monitor setup of two different sizes. My primary monitor is a 23 in widescreen Acer T230H touchscreen, and the second is a regular 20 in. When I go to use the touchscreen, the cursor shows up on the secondary display depending on where I touch the display. How do I calibrate it to only control my primary monitor?
As Beni Cherniavsky-Paskin suggested in a comment, I used the following command to map an input device to an output screen:
xinput map-to-output <device> <output>
To figure out which is which, I first ran xinput
to list the input devices. From that listing, I observed that my touchscreen was "QUANTA Optical Touch Screen" and listed as device id 12. I then ran xrandr
to determine the touchscreen, which in my case was VGA1.
Simply entering the following command then did the trick:
xinput map-to-output 12 VGA1
As Beni Cherniavsky-Paskin and Paul Lammertsma suggested in above comments xinput map-to-output <device> <output>
did the trick for me!
you first need to run xinput
to get the id of inupt device,
the above command return something like this for me.
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
Next I ran xrandr
to get the list of screens and the output of the command is like this
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)
In my case the touch device is ELAN20E7:00 04F3:20E7 id=13
and touch enabled screen is eDP1
to fix the issue i need to map the device the that monitor only for that i ran this command xinput map-to-output 13 eDP1
Problem solved and its working fine again :)
I am using elementary OS freya, so it should work for all distros based on Ubuntu 14.04 LTS
Very hard to find solution but actually pretty straight forward, just follow the answer from 'phnomic' here: Touchscreen and additional external monitor. Works flawless with my Fujitsu T730 with all kinds of external monitors!