← Back to team overview

desktop-packages team mailing list archive

[Bug 1287341] Re: Touchscreen controls both screens in dual-monitor setup

 

Still affects me on 14.04.

As it is already said, there is no reliable way to assign a touch device
to a certain display device. So I suggest a two phase design:

1) Check if there is  information for making an automatic assignment in
some database. If there are more then one equal device, use display
output and USB port id for identification.

2) If none is found, select the by some simple heuristics. Then launch a
(to be made) settings program, that displays a centered button the first
screen "PLEASE TOUCH HERE". If the button is pressed, the coordinates
are checked against the center of all possible displays from 'xrandr' or
gnome-display-settings information. If it matches, the assignment is
stored to the local database. The procedure continues with the second
screen, if there is a third one and so on.

If for some reason the database gets outdated (eg the user exchanges
screens) phase 2 will be entered autmatically as you see.

The only caveat may be exchanging the output assignments of multiple
equal display devices. For this case, the phase 2 program should be
integrated into the system settings center, and easily be reached
without proper touch operation (eg. launch via Unity by keyboard).

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-settings-daemon in Ubuntu.
https://bugs.launchpad.net/bugs/1287341

Title:
  Touchscreen controls both screens in dual-monitor setup

Status in Gnome Settings Daemon:
  Fix Released
Status in OEM Priority Project:
  Fix Released
Status in OEM Priority Project trusty series:
  Fix Released
Status in gnome-settings-daemon package in Ubuntu:
  Triaged
Status in unity-settings-daemon package in Ubuntu:
  Fix Released
Status in gnome-settings-daemon source package in Trusty:
  Confirmed
Status in unity-settings-daemon source package in Trusty:
  Fix Released

Bug description:
  SRU Request:

  Laptops and all-in-one systems with touchscreens don't currently map
  the touch input device onto the internal display. As a result, when
  the screen changes (e.g. the main output is rotated or an external
  output is connected), the touch input device maps onto the entire
  screen, regardless of the only relevant area, thus making the
  touchscreen completely useless.

  [Impact]
   * The touchscreen becomes unusable if an external output is connected or if the main output is rotated.

  [Test Case]
   * Either plug in an external monitor or rotate the internal monitor
      - Expected: the touchscreen should respond to touch as usual.
      - Bad behavior: the touchscreen is unusable and responds by selecting areas other than the one the user actually selects.

  [Regression Potential]
   * Low, it only affects the main touchscreen (tablets or multiple touchscreens are not supported) and it only adds a feature that is currently missing.

  [Other Info]
   * N/A

  ---

  My laptop has a touchscreen. It works fine in 14.04 until I plug in an
  external monitor. When using an external monitor, input from the
  touchscreen is remapped so that the touchscreen provides input to both
  monitors. The result is that there is no longer a 1:1 correspondence
  between moving your finger and the cursor. This is confusing and
  difficult to use.

  A touchscreen is a direct input device (vs an indirect one like a
  mouse/touchpad); input from the touchscreen should be bound to the
  physical display that it's attached to.

  To reproduce:
  1) On a computer with a touchscreen, use the touchscreen to move a window around, including to the edges of the screen. Note that the window moves exactly with your finger.
  2) Plug in an external monitor
  3) Try the same actions as in step 1

  Expected results:
  The touchscreen continues to operate as in step 1, allowing you to manipulate items on the display that contains the touchscreen. The touchscreen does not interact with windows, etc on the external monitor

  Actual results:
  The touchscreen is remapped across both displays. The result is that touch events no longer happen 'under the finger'. Assuming the two displays are the same size and resolution, moving your finger 1cm will cause the window or other objects to move 2cm onscreen. It becomes impossible to use the touchscreen to interact with widgets (menus, buttons, etc).

  This is described in couple places:
  http://askubuntu.com/questions/51445/how-do-i-calibrate-a-touchscreen-on-a-dual-monitor-system
  http://askubuntu.com/questions/71768/touchscreen-and-additional-external-monitor

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: xinput 1.6.1-1
  ProcVersionSignature: Ubuntu 3.13.0-14.34-generic 3.13.5
  Uname: Linux 3.13.0-14-generic x86_64
  .tmp.unity.support.test.0:

  ApportVersion: 2.13.2-0ubuntu5
  Architecture: amd64
  CompizPlugins: [core,commands,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
  CompositorRunning: compiz
  CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
  CompositorUnredirectFSW: true
  CurrentDesktop: Unity
  Date: Mon Mar  3 14:41:14 2014
  DistUpgraded: 2014-02-12 13:40:42,704 DEBUG enabling apt cron job
  DistributionChannelDescriptor:
   # This is a distribution channel descriptor
   # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
   canonical-oem-somerville-precise-amd64-20130203-1
  DistroCodename: trusty
  DistroVariant: ubuntu
  DkmsStatus:
   oem-audio-hda-daily-lts-quantal, 0.201308192259~precise1, 3.5.0-45-generic, x86_64: installed
   virtualbox, 4.3.6, 3.13.0-12-generic, x86_64: installed
   virtualbox, 4.3.6, 3.13.0-14-generic, x86_64: installed
   virtualbox, 4.3.6, 3.13.0-8-generic, x86_64: installed
  EcryptfsInUse: Yes
  GraphicsCard:
   Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
     Subsystem: Dell Device [1028:060a]
  InstallationDate: Installed on 2013-12-02 (90 days ago)
  InstallationMedia: Ubuntu 12.04 "Precise" - Build amd64 LIVE Binary 20130203-13:50
  MachineType: Dell Inc. XPS13 9333
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-14-generic root=UUID=0b9db31c-747b-40ad-bbbd-13a9a29caece ro quiet splash vt.handoff=7
  SourcePackage: xinput
  UpgradeStatus: Upgraded to trusty on 2014-02-12 (19 days ago)
  dmi.bios.date: 11/11/2013
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: A01
  dmi.board.name: 0GFTRT
  dmi.board.vendor: Dell Inc.
  dmi.board.version: A00
  dmi.chassis.type: 8
  dmi.chassis.vendor: Dell Inc.
  dmi.chassis.version: 0.1
  dmi.modalias: dmi:bvnDellInc.:bvrA01:bd11/11/2013:svnDellInc.:pnXPS139333:pvr:rvnDellInc.:rn0GFTRT:rvrA00:cvnDellInc.:ct8:cvr0.1:
  dmi.product.name: XPS13 9333
  dmi.sys.vendor: Dell Inc.
  version.compiz: compiz 1:0.9.11+14.04.20140218-0ubuntu1
  version.ia32-libs: ia32-libs N/A
  version.libdrm2: libdrm2 2.4.52-1
  version.libgl1-mesa-dri: libgl1-mesa-dri 10.1.0~rc1-1ubuntu4
  version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
  version.libgl1-mesa-glx: libgl1-mesa-glx 10.1.0~rc1-1ubuntu4
  version.xserver-xorg-core: xserver-xorg-core 2:1.15.0-1ubuntu6
  version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.8.2-1ubuntu2
  version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.3.0-1ubuntu3
  version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.910-0ubuntu1
  version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.10-1ubuntu2
  xserver.bootTime: Mon Mar  3 11:02:50 2014
  xserver.configfile: default
  xserver.errors:

  xserver.logfile: /var/log/Xorg.0.log
  xserver.outputs:
   product id                                4933
   vendor                                     CMN
  xserver.version: 2:1.15.0-1ubuntu6

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-settings-daemon/+bug/1287341/+subscriptions