Here is a test setup:

(1) install ubuntu-clock app
(2) modify /usr/share/gnome-session/sessions/ubuntu.session to remove the 
'compiz;' entry so compiz gets started by upstart instead of gnome-session
(3) modify /usr/share/upstart/session/unity7.conf to add the following lines in 
the pre-start script stanza:
  initctl set-env --global GEIS_DEBUG=3
  initctl set-env --global GRAIL_DEBUG=-1
(4) log in to Unity, start the clock app and touch it anywhere in the window

The .cache/upstart/unity7.log contains the following.

[CLOCK] ClockPage loaded
[CLOCK] Saved Current Location: Merrickville
[CLOCK] Saved Current Location Coordinates: -75.8333,44.9167
[CLOCK] Alarm Database loaded
[CLOCK] MainView loaded
[CLOCK] Retrieving Sunrise/Sunset times from disk
GEIS(debug)-geis_backend_multiplexor_pump:414 activity 0x1 on fd 18 
callback_info=0x1e62f50
GEIS(debug)-geis_backend_multiplexor_pump:414 activity 0x1 on fd 19 
callback_info=0x1e655e0
GRAIL DEBUG (regular-recognizer.cpp:ProcessFrameEvent:54): new event 0x4997c80 
with time 161447105
GRAIL DEBUG (regular-recognizer.cpp:ProcessTouches:95): touch 1 began with 
start time 161447105
GRAIL DEBUG (regular-recognizer.cpp:ProcessTouches:98): touch 1 has been added 
to all_touches_
GRAIL DEBUG (regular-recognizer.cpp:ProcessTouches:99): touch 1 has been added 
to free_touches_
GRAIL DEBUG (regular-recognizer.cpp:ProcessFrameEvent:54): new event 0x42edc80 
with time 161447108
GRAIL DEBUG (touch.cpp:Update:65): touch 1 is owned
GEIS(debug)-geis_backend_multiplexor_pump:414 activity 0x1 on fd 18 
callback_info=0x1e62f50
GRAIL DEBUG (handle.cpp:UpdateTime:197): client updating time to 161447165
GRAIL DEBUG (recognizer.cpp:UpdateTime:304): Updating time to 161447165
GRAIL DEBUG (recognizer.cpp:RejectOverdueGesturesAndTouches:288): touch 1 has 
been removed from free_touches_ because it is older than the gesture 
composition time (time: 161447165, touch start time: 161447105)
GRAIL DEBUG (recognizer.cpp:RejectOverdueGesturesAndTouches:292): touch 1 has 
been erased from free_touches_
GRAIL DEBUG (touch.cpp:~Touch:80): rejecting touch 1
GRAIL DEBUG (recognizer.cpp:UpdateTime:304): Updating time to 161447165
GEIS(warning)-_x11_fd_callback:1160 failed to get X generic event data
GEIS(warning)-_x11_fd_callback:1160 failed to get X generic event data
GEIS(debug)-geis_backend_multiplexor_pump:414 activity 0x1 on fd 19 
callback_info=0x1e655e0
GRAIL DEBUG (regular-recognizer.cpp:ProcessFrameEvent:54): new event 0x42edc80 
with time 161447166
GRAIL DEBUG (regular-recognizer.cpp:ProcessTouches:126): touch 1 has been 
erased from all_touches_

>From this log you can see that the single touch is reported to Unity and
gets rejected because additional touches do not begin within the gesture
setup period.

According to the XInput2 documentation, this should forward the
TouchBegin to the clock, which should then do with it what it will.  The
clock should not be receiving emulated pointer events, because according
to the XInput2 documentation, if Touch events are explicitly selected,
pointer emulation is disabled for that client.

It looks like either (a) the X server is in pointer emulation mode and
never leaves, or (b) the client is doing some sort of grab on the touch
(there is no evidence of this in the code) and not releasing it.

Deeper analysis of the client-server conversations is required to
further analyse the exact combination of sequences here.

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1307701

Title:
  Unity does not get touch events when QML apps running

Status in OEM Priority Project:
  New
Status in OEM Priority Project trusty series:
  Triaged
Status in “unity” package in Ubuntu:
  In Progress

Bug description:
  When running an SDK app on the desktop, it's not possible to use the
  touchscreen to move windows, use the launcher, etc. The SDK app seems
  to consume all touchscreen events.

  To reproduce:
  1) On a desktop/laptop with a touchscreen (I am using a Dell XPS13), install 
14.04 and check that the touchscreen works for moving windows
  2) Install the camera-app package from universe (I have 
2.9.1+14.04.20140331-0ubuntu1)
  3) Launch the camera app
  4) Touch once inside the camera-app window
  5) Use the touchscreen to drag the camera-app window

  Expected results:
  You can move the camera-app window using the touchscreen

  Actual results:
  You cannot move the camera-app window, or perform any other touch tasks in 
unity, with the touchscreen

  This only affects touchscreen input - mouse/touchpad input is not
  affected

  This affects all apps written with the SDK (I tried camera-app,
  gallery-app, reminders-app). It's 100% reproducible.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: unity 7.2.0+14.04.20140411-0ubuntu1
  ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
  Uname: Linux 3.13.0-24-generic x86_64
  ApportVersion: 2.14.1-0ubuntu2
  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]
  CurrentDesktop: Unity
  Date: Mon Apr 14 14:59:09 2014
  DistributionChannelDescriptor:
   # This is a distribution channel descriptor
   # For more information see 
http://wiki.ubuntu.com/DistributionChannelDescriptor
   canonical-oem-somerville-precise-amd64-20130203-1
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2013-12-02 (132 days ago)
  InstallationMedia: Ubuntu 12.04 "Precise" - Build amd64 LIVE Binary 
20130203-13:50
  SourcePackage: unity
  UpgradeStatus: Upgraded to trusty on 2014-02-12 (61 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1307701/+subscriptions

-- 
Mailing list: https://launchpad.net/~dx-packages
Post to     : dx-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dx-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to