Chrome Adds Experimental Support For Desktop Multitouch

In a recent build, Chrome has also added experimental support. Unsurprisingly, they’ve used the same touch model used by mobile safari.

Contact us

Chrome Adds Experimental Support For Desktop Multitouch

In a recent build, Chrome has also added experimental support. Unsurprisingly, they’ve used the same touch model used by mobile safari.

Fill out form to continue
All fields required.
Enter your info once to access all resources.
By submitting this form, you agree to Expero’s Privacy Policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Up until recently, Firefox was the only Windows 7 browser which had support for multitouch. In a recent build, Chrome has also added experimental support. Unsurprisingly, they’ve used the same touch model used by mobile safari.

As of Chrome 21, the user is required to enable touch support. Within Chrome’s address bar, type about:flags. This will take you to a page which lets you enable/disable various features of Chrome. Near the bottom of the list you will find Enable touch events.

Note: Support is currently experimental, so expect bugs.Once you’ve done this, Chrome will pass touch events to your web application. Here’s a boring jsFiddle I wrote to test whether or not I was receiving touch event data.

Here’s a few interesting observations I made while testing this functionality:

  1. Chrome actually reports the width/height of the contact. It is in the webkitRadiusXwebkitRadiusY properties. On my machine, it always reported circular contacts (radiusX===radiusY) and never elliptical contact, even though I know my hardware supports ellipse. I don’t know if this is a limitation of Chrome or Windows 7.
  2. The touch events also have a webkitRotationAngle. This is supposed to represent the rotation of the ellipse defined by webkitRadiusX & webkitRadiusY. You can monitor this property to detect when a finger is rotated on the surface. Since my touches were being reported as perfect circles, this property was always 0 in my tests.
  3. The touch events also have a webkitForce property, but it was always 0 in my tests. Again, my hardware reports touch pressure so I do not know if this is a limitation of Windows 7 or Chrome.
  4. Once you enable touch events, the browser itself will not respond in anyway to touches.
  5. It does not produce pseudo mouse events so that older mouse-only web applications can be manipulated via touch.
  6. You can’t use your fingers to scroll
  7. Holding your finger down does not produce the context menu that you typically get if you have the default Windows gestures setup.
  8. Pinching does not zoom the browser
  9. If you are writing a real multitouch application, all of the above are actually good things–the browser does not try to interfere and you have complete control over the events. But if you are a user then most websites you visit that were written for a mouse just won’t respond to your touches–you’d be forced to use your mouse. I imagine this will change in future Chrome versions and application writers will need to call ev.preventDefault() to actively prevent the browser’s default response to touch events.
  10. Because the user must actively enable touch support, expect it to be mostly off out there in the wild right now. Again, I suspect this will change once touch support leaves its experimental status.

I’m still waiting to get access to a Windows 8 machine. I can’t wait to test and compare the multi-touch support of Firefox, Chrome and IE10 on Windows 8.

User Audience

Services & capabilities

Project Details

Technologies

Brandon Wallace

August 14, 2012

Chrome Adds Experimental Support For Desktop Multitouch

In a recent build, Chrome has also added experimental support. Unsurprisingly, they’ve used the same touch model used by mobile safari.

Tags:

Up until recently, Firefox was the only Windows 7 browser which had support for multitouch. In a recent build, Chrome has also added experimental support. Unsurprisingly, they’ve used the same touch model used by mobile safari.

As of Chrome 21, the user is required to enable touch support. Within Chrome’s address bar, type about:flags. This will take you to a page which lets you enable/disable various features of Chrome. Near the bottom of the list you will find Enable touch events.

Note: Support is currently experimental, so expect bugs.Once you’ve done this, Chrome will pass touch events to your web application. Here’s a boring jsFiddle I wrote to test whether or not I was receiving touch event data.

Here’s a few interesting observations I made while testing this functionality:

  1. Chrome actually reports the width/height of the contact. It is in the webkitRadiusXwebkitRadiusY properties. On my machine, it always reported circular contacts (radiusX===radiusY) and never elliptical contact, even though I know my hardware supports ellipse. I don’t know if this is a limitation of Chrome or Windows 7.
  2. The touch events also have a webkitRotationAngle. This is supposed to represent the rotation of the ellipse defined by webkitRadiusX & webkitRadiusY. You can monitor this property to detect when a finger is rotated on the surface. Since my touches were being reported as perfect circles, this property was always 0 in my tests.
  3. The touch events also have a webkitForce property, but it was always 0 in my tests. Again, my hardware reports touch pressure so I do not know if this is a limitation of Windows 7 or Chrome.
  4. Once you enable touch events, the browser itself will not respond in anyway to touches.
  5. It does not produce pseudo mouse events so that older mouse-only web applications can be manipulated via touch.
  6. You can’t use your fingers to scroll
  7. Holding your finger down does not produce the context menu that you typically get if you have the default Windows gestures setup.
  8. Pinching does not zoom the browser
  9. If you are writing a real multitouch application, all of the above are actually good things–the browser does not try to interfere and you have complete control over the events. But if you are a user then most websites you visit that were written for a mouse just won’t respond to your touches–you’d be forced to use your mouse. I imagine this will change in future Chrome versions and application writers will need to call ev.preventDefault() to actively prevent the browser’s default response to touch events.
  10. Because the user must actively enable touch support, expect it to be mostly off out there in the wild right now. Again, I suspect this will change once touch support leaves its experimental status.

I’m still waiting to get access to a Windows 8 machine. I can’t wait to test and compare the multi-touch support of Firefox, Chrome and IE10 on Windows 8.

User Audience

Services

Project Details

Similar Resources

Serverless ML

You can now deploy your models and get real-time scalable results without ever having to provision a server. Let me show you how I did it.

Watch Demo

Software Craftsmanship in Context

Software quality matters. Learn from a real use-case how we follow the Software Craftsmanship method to push a hard project forward.

Watch Demo

Company for a Cup of Joe: Finding Your Tribe

Combining traditional search techniques with graph algorithms to efficiently find subgroups within data.

Watch Demo

Testing React Applications Using Jest and React Testing Library

Avoid bugs & gain confidence when refactoring code by writing tests for your React code using Jest, React Testing Library & a Test Driven Development approach.

Watch Demo