I'm making a game that has 2 controls, left and right. On desktop those are the left and right cursor keys. On a machine without a keyboard or a machine primarily interacted with via touch screen I need to show buttons the user can press with their fingers.
Is there a way to detect when it's appropriate to display these touch buttons and when it's not?
solutions considered:
- check for iPhone/iPad/Android - That covers most phones and tablet but of course it will be wrong on some other brands 
- use css media queries - hoverand- pointer- AFAIK these won't help. A phone probably has - hover: noneand- pointer: coursebut what about an iPad with a stylus. It should allow both- hover:hoverand- pointer:finemaking it indistinguishable from a desktop.
- check by size - Seems flaky. Tablets have pretty large sizes. Often as large as laptops. 
- check for touch support - isTouchDevice = "ontouchstart" in window;- returns true on many Windows devices with touch screens 
