<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: WM_TOUCH is totally bananas.	</title>
	<atom:link href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/feed/" rel="self" type="application/rss+xml" />
	<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/</link>
	<description>Explore an abandoned island.</description>
	<lastBuildDate>Fri, 07 Feb 2020 00:22:42 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9</generator>
	<item>
		<title>
		By: Daniel Barr		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8919175</link>

		<dc:creator><![CDATA[Daniel Barr]]></dc:creator>
		<pubDate>Fri, 07 Feb 2020 00:22:42 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8919175</guid>

					<description><![CDATA[Thank you, this article was helpful along with the  comment and link by James Brown. That link currently redirects to the Microsoft &quot;System Events and Mouse Messages&quot; documentation.

The Microsoft documentation defines the following three macros which can be used to ignore the mouse events which Window generates from pen devices.
#define MI_WP_SIGNATURE 0xFF515700
#define SIGNATURE_MASK 0xFFFFFF00
#define IsPenEvent(dw) (((dw) &#038; SIGNATURE_MASK) == MI_WP_SIGNATURE)

The IsPenEvent macro will also identify mouse events Windows generates from touch devices. Using this information we were able to help a customer get touch events working in their application which uses our 2D dynamic graphics engine.

Thanks again!]]></description>
			<content:encoded><![CDATA[<p>Thank you, this article was helpful along with the  comment and link by James Brown. That link currently redirects to the Microsoft &#8220;System Events and Mouse Messages&#8221; documentation.</p>
<p>The Microsoft documentation defines the following three macros which can be used to ignore the mouse events which Window generates from pen devices.<br />
#define MI_WP_SIGNATURE 0xFF515700<br />
#define SIGNATURE_MASK 0xFFFFFF00<br />
#define IsPenEvent(dw) (((dw) &amp; SIGNATURE_MASK) == MI_WP_SIGNATURE)</p>
<p>The IsPenEvent macro will also identify mouse events Windows generates from touch devices. Using this information we were able to help a customer get touch events working in their application which uses our 2D dynamic graphics engine.</p>
<p>Thanks again!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSOLO		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8766649</link>

		<dc:creator><![CDATA[EvSOLO]]></dc:creator>
		<pubDate>Mon, 18 Dec 2017 22:32:56 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8766649</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8758265&quot;&gt;EvSOLO&lt;/a&gt;.

?]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8758265">EvSOLO</a>.</p>
<p>?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSOLO		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8758265</link>

		<dc:creator><![CDATA[EvSOLO]]></dc:creator>
		<pubDate>Mon, 25 Sep 2017 23:53:50 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8758265</guid>

					<description><![CDATA[So now that the Witness is available on iOS is it safe to assume touch support is added on PC version? Bought the game on Day 1. Still haven&#039;t played it and would hate to buy it again on iPad]]></description>
			<content:encoded><![CDATA[<p>So now that the Witness is available on iOS is it safe to assume touch support is added on PC version? Bought the game on Day 1. Still haven&#8217;t played it and would hate to buy it again on iPad</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSolo		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8699330</link>

		<dc:creator><![CDATA[EvSolo]]></dc:creator>
		<pubDate>Thu, 16 Mar 2017 16:03:10 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8699330</guid>

					<description><![CDATA[Still patiently waiting almost a year later (lol). Maybe I missed it but has an update been released to enable touch controls yet?]]></description>
			<content:encoded><![CDATA[<p>Still patiently waiting almost a year later (lol). Maybe I missed it but has an update been released to enable touch controls yet?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8678609</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Tue, 08 Nov 2016 00:03:22 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8678609</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8678413&quot;&gt;Baird&lt;/a&gt;.

We haven&#039;t finished touch support yet for any platform because it requires good player pathfinding / etc through the world, and we are working on that.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8678413">Baird</a>.</p>
<p>We haven&#8217;t finished touch support yet for any platform because it requires good player pathfinding / etc through the world, and we are working on that.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Baird		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8678413</link>

		<dc:creator><![CDATA[Baird]]></dc:creator>
		<pubDate>Sun, 06 Nov 2016 22:21:36 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8678413</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8520241&quot;&gt;Jonathan Blow&lt;/a&gt;.

Any update on this? I&#039;ve made the increasingly questionable decision to transition from an aging but reasonably well spec-ed desktop rig to a 5 year old refurbished Windows 7 tablet as my sole pc for impending travel. I&#039;ll have a little handheld trackball and a 360 pad with me anyway, so it certainly won&#039;t stop me from playing the game, but I was looking forward to the tactile experience of tracing the puzzles with my finger.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8520241">Jonathan Blow</a>.</p>
<p>Any update on this? I&#8217;ve made the increasingly questionable decision to transition from an aging but reasonably well spec-ed desktop rig to a 5 year old refurbished Windows 7 tablet as my sole pc for impending travel. I&#8217;ll have a little handheld trackball and a 360 pad with me anyway, so it certainly won&#8217;t stop me from playing the game, but I was looking forward to the tactile experience of tracing the puzzles with my finger.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rick Kelsall		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8664150</link>

		<dc:creator><![CDATA[Rick Kelsall]]></dc:creator>
		<pubDate>Thu, 11 Aug 2016 22:23:24 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8664150</guid>

					<description><![CDATA[Jonathan you&#039;re the man!

Just spent hours trying to figure out why my Python / Kivy app on the Surface Pro 4 was being random and recognizing some, not other touch interactions.

Your article pointed me in the right direction for the fix.  The app was trying to respond to both mouse and wm_touch messages.  Disabling the app&#039;s attempts to handle wm_touch itself allowed the touch events to be converted into mouse events and be processed properly by the app.

Thanks - extremely helpful :)]]></description>
			<content:encoded><![CDATA[<p>Jonathan you&#8217;re the man!</p>
<p>Just spent hours trying to figure out why my Python / Kivy app on the Surface Pro 4 was being random and recognizing some, not other touch interactions.</p>
<p>Your article pointed me in the right direction for the fix.  The app was trying to respond to both mouse and wm_touch messages.  Disabling the app&#8217;s attempts to handle wm_touch itself allowed the touch events to be converted into mouse events and be processed properly by the app.</p>
<p>Thanks &#8211; extremely helpful :)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSOLO		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8655428</link>

		<dc:creator><![CDATA[EvSOLO]]></dc:creator>
		<pubDate>Tue, 12 Jul 2016 22:03:46 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8655428</guid>

					<description><![CDATA[Is it safe to assume PC touch support won&#039;t be available until an iOS release ?]]></description>
			<content:encoded><![CDATA[<p>Is it safe to assume PC touch support won&#8217;t be available until an iOS release ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSOLO		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8584812</link>

		<dc:creator><![CDATA[EvSOLO]]></dc:creator>
		<pubDate>Wed, 30 Mar 2016 21:14:53 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8584812</guid>

					<description><![CDATA[Still patiently waiting for this! Can&#039;t believe I&#039;ve been able to hold off playing, hopefully touch support coming soon.]]></description>
			<content:encoded><![CDATA[<p>Still patiently waiting for this! Can&#8217;t believe I&#8217;ve been able to hold off playing, hopefully touch support coming soon.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSOLO		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8520272</link>

		<dc:creator><![CDATA[EvSOLO]]></dc:creator>
		<pubDate>Thu, 28 Jan 2016 07:16:45 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8520272</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8520241&quot;&gt;Jonathan Blow&lt;/a&gt;.

Thanks for the speedy response, can&#039;t wait to play it using the touchscreen it seems like such a natural fit.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8520241">Jonathan Blow</a>.</p>
<p>Thanks for the speedy response, can&#8217;t wait to play it using the touchscreen it seems like such a natural fit.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8520241</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Thu, 28 Jan 2016 06:52:23 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8520241</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8519940&quot;&gt;EvSOLO&lt;/a&gt;.

Touch controls are not enabled yet. We plan to turn them on before too long but for now it&#039;s mouse/keyboard or gamepad only.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8519940">EvSOLO</a>.</p>
<p>Touch controls are not enabled yet. We plan to turn them on before too long but for now it&#8217;s mouse/keyboard or gamepad only.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: EvSOLO		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-8519940</link>

		<dc:creator><![CDATA[EvSOLO]]></dc:creator>
		<pubDate>Thu, 28 Jan 2016 02:33:09 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-8519940</guid>

					<description><![CDATA[I can&#039;t seem to get touch controls to work on my Razer Edge Pro Windows tablet. On the first screen I can swipe and manipulate the camera slightly but the arrow icons on the bottom right do not respond to touch. Any fix for this?]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t seem to get touch controls to work on my Razer Edge Pro Windows tablet. On the first screen I can swipe and manipulate the camera slightly but the arrow icons on the bottom right do not respond to touch. Any fix for this?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: James Brown		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-748114</link>

		<dc:creator><![CDATA[James Brown]]></dc:creator>
		<pubDate>Tue, 14 May 2013 21:45:34 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-748114</guid>

					<description><![CDATA[I&#039;ve just been through this horror myself, ending up with the same approach. I wish I&#039;d found this blog post earlier.

I had one further problem, which was that I want to be able to use pen input as well as mouse and touch. Pen events come through to WM_MOUSEMOVE etc marked with MOUSEEVENTF_FROMTOUCH, *but* they don&#039;t get a WM_TOUCH event. You have to separate &quot;from touch&quot; events into &quot;from pen&quot; and &quot;from finger&quot;, and process pen events like a mouse. Touches from a finger have bit 0x80 set in GetMessageExtraInfo, pen messages haven&#039;t. The lower 7 bits are the touch device id. The 0x82 you found from experimenting is presumably 0x80 plus a device id, and may not work on all machines.

It was only by working this out through trial and error that I had enough information to find this MSDN article confirming it: http://msdn.microsoft.com/en-us/library/windows/desktop/ms703320%28v=vs.85%29.aspx]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just been through this horror myself, ending up with the same approach. I wish I&#8217;d found this blog post earlier.</p>
<p>I had one further problem, which was that I want to be able to use pen input as well as mouse and touch. Pen events come through to WM_MOUSEMOVE etc marked with MOUSEEVENTF_FROMTOUCH, *but* they don&#8217;t get a WM_TOUCH event. You have to separate &#8220;from touch&#8221; events into &#8220;from pen&#8221; and &#8220;from finger&#8221;, and process pen events like a mouse. Touches from a finger have bit 0x80 set in GetMessageExtraInfo, pen messages haven&#8217;t. The lower 7 bits are the touch device id. The 0x82 you found from experimenting is presumably 0x80 plus a device id, and may not work on all machines.</p>
<p>It was only by working this out through trial and error that I had enough information to find this MSDN article confirming it: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms703320%28v=vs.85%29.aspx" rel="nofollow ugc">http://msdn.microsoft.com/en-us/library/windows/desktop/ms703320%28v=vs.85%29.aspx</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: hans		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-636669</link>

		<dc:creator><![CDATA[hans]]></dc:creator>
		<pubDate>Wed, 20 Mar 2013 20:34:43 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-636669</guid>

					<description><![CDATA[So, Jonathan, how did you ever then manage to catch WM_TOUCH events?? Many, many thanks for sharing this experience. Wow.]]></description>
			<content:encoded><![CDATA[<p>So, Jonathan, how did you ever then manage to catch WM_TOUCH events?? Many, many thanks for sharing this experience. Wow.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Micah Robinson		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-72404</link>

		<dc:creator><![CDATA[Micah Robinson]]></dc:creator>
		<pubDate>Mon, 12 Nov 2012 03:15:08 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-72404</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-57374&quot;&gt;Jonathan Blow&lt;/a&gt;.

thank you]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-57374">Jonathan Blow</a>.</p>
<p>thank you</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Braidlover		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-67481</link>

		<dc:creator><![CDATA[Braidlover]]></dc:creator>
		<pubDate>Sat, 03 Nov 2012 21:43:36 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-67481</guid>

					<description><![CDATA[I see that you want to support Win7 as well... Yeah never mind :)]]></description>
			<content:encoded><![CDATA[<p>I see that you want to support Win7 as well&#8230; Yeah never mind :)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Braidlover		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-67480</link>

		<dc:creator><![CDATA[Braidlover]]></dc:creator>
		<pubDate>Sat, 03 Nov 2012 21:41:34 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-67480</guid>

					<description><![CDATA[If you are developing for win8, why not use RT Apis? 
They have built in touch support that is a lot better than WM_TOUCH messages.... And a lot cleaner as well.]]></description>
			<content:encoded><![CDATA[<p>If you are developing for win8, why not use RT Apis?<br />
They have built in touch support that is a lot better than WM_TOUCH messages&#8230;. And a lot cleaner as well.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-57374</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Mon, 22 Oct 2012 17:53:03 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-57374</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-56339&quot;&gt;Micah Robinson&lt;/a&gt;.

We would explicitly have to turn off 360 controller support, and I can&#039;t think of any reason we would do that (unless there were some kind of unforeseen technical problem.)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-56339">Micah Robinson</a>.</p>
<p>We would explicitly have to turn off 360 controller support, and I can&#8217;t think of any reason we would do that (unless there were some kind of unforeseen technical problem.)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Micah Robinson		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-56339</link>

		<dc:creator><![CDATA[Micah Robinson]]></dc:creator>
		<pubDate>Sun, 21 Oct 2012 18:30:14 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-56339</guid>

					<description><![CDATA[was just wondering if you would include the xbox controller support on the surface running win 8 that was just announced a lil while ago?]]></description>
			<content:encoded><![CDATA[<p>was just wondering if you would include the xbox controller support on the surface running win 8 that was just announced a lil while ago?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: justin		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-53712</link>

		<dc:creator><![CDATA[justin]]></dc:creator>
		<pubDate>Thu, 18 Oct 2012 03:30:50 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-53712</guid>

					<description><![CDATA[I have nothing to say about this touch stuff... But just to expand on the architecture stuff: This applies to game design 

http://youtu.be/Q1ZeXnmDZMQ

Special thanks to Instigative Catwoman for sharing...
Capcha: Illustrating this]]></description>
			<content:encoded><![CDATA[<p>I have nothing to say about this touch stuff&#8230; But just to expand on the architecture stuff: This applies to game design </p>
<p><a href="http://youtu.be/Q1ZeXnmDZMQ" rel="nofollow ugc">http://youtu.be/Q1ZeXnmDZMQ</a></p>
<p>Special thanks to Instigative Catwoman for sharing&#8230;<br />
Capcha: Illustrating this</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ryan		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-52314</link>

		<dc:creator><![CDATA[Ryan]]></dc:creator>
		<pubDate>Tue, 16 Oct 2012 15:53:35 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-52314</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51271&quot;&gt;Jonathan Blow&lt;/a&gt;.

This is correct.  They are part of the Win8 SDK.  Once that&#039;s publically released (or if you have MSDN) - go grab it!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51271">Jonathan Blow</a>.</p>
<p>This is correct.  They are part of the Win8 SDK.  Once that&#8217;s publically released (or if you have MSDN) &#8211; go grab it!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ryan		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-52313</link>

		<dc:creator><![CDATA[Ryan]]></dc:creator>
		<pubDate>Tue, 16 Oct 2012 15:52:38 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-52313</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51619&quot;&gt;Jonathan Blow&lt;/a&gt;.

From what I remember, WM_TOUCH operates a bit differently on Win8 than it did on Win7.  I believe Windows cut some of the support and my project saw some interesting regressions between the two versions of the OS.  I apologize though, I can&#039;t remember exactly what it was.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51619">Jonathan Blow</a>.</p>
<p>From what I remember, WM_TOUCH operates a bit differently on Win8 than it did on Win7.  I believe Windows cut some of the support and my project saw some interesting regressions between the two versions of the OS.  I apologize though, I can&#8217;t remember exactly what it was.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ryan		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-52312</link>

		<dc:creator><![CDATA[Ryan]]></dc:creator>
		<pubDate>Tue, 16 Oct 2012 15:49:43 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-52312</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51266&quot;&gt;Ricardo&lt;/a&gt;.

This comment amuses me.  Do you ever develop for Apple products?  Time after time?  You don&#039;t know what you&#039;re talking about.  Just another Apple fanboy.

The point of this article was that WM_TOUCH was poorly done and the author kindly explained some hurdles he went over.  I have used WM_POINT* messages extensively and they are fantastic for custom touch control.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51266">Ricardo</a>.</p>
<p>This comment amuses me.  Do you ever develop for Apple products?  Time after time?  You don&#8217;t know what you&#8217;re talking about.  Just another Apple fanboy.</p>
<p>The point of this article was that WM_TOUCH was poorly done and the author kindly explained some hurdles he went over.  I have used WM_POINT* messages extensively and they are fantastic for custom touch control.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Vincent Povirk		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-52113</link>

		<dc:creator><![CDATA[Vincent Povirk]]></dc:creator>
		<pubDate>Tue, 16 Oct 2012 05:25:20 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-52113</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51285&quot;&gt;Dmitri&lt;/a&gt;.

Very interesting video, thanks for the link.

I&#039;ve found what appears to be the WM_POINTER documentation here: http://msdn.microsoft.com/en-us/library/windows/desktop/hh454903%28v=vs.85%29.aspx
No usage guide there yet, but the video makes a good introduction (even though it does not talk about WM_POINTER much at all, and instead focuses on WinRT api&#039;s, they are apparently designed to be analogous).

Apparently, there is not a message called WM_POINTER but a variety of message types, which is probably why I did not find this before. The extra information is retrieved by calling a function, and only information for the last returned pointer message from a specific device (and, if the message was coalesced, any events that happened between messages) is available. It does seem more intuitive.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51285">Dmitri</a>.</p>
<p>Very interesting video, thanks for the link.</p>
<p>I&#8217;ve found what appears to be the WM_POINTER documentation here: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/hh454903%28v=vs.85%29.aspx" rel="nofollow ugc">http://msdn.microsoft.com/en-us/library/windows/desktop/hh454903%28v=vs.85%29.aspx</a><br />
No usage guide there yet, but the video makes a good introduction (even though it does not talk about WM_POINTER much at all, and instead focuses on WinRT api&#8217;s, they are apparently designed to be analogous).</p>
<p>Apparently, there is not a message called WM_POINTER but a variety of message types, which is probably why I did not find this before. The extra information is retrieved by calling a function, and only information for the last returned pointer message from a specific device (and, if the message was coalesced, any events that happened between messages) is available. It does seem more intuitive.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-52010</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Tue, 16 Oct 2012 02:12:30 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-52010</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51834&quot;&gt;alasta&lt;/a&gt;.

I wouldn&#039;t do it for an action game, but for a slower-paced game it isn&#039;t a problem. Try downloading Epic Citadel / etc.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51834">alasta</a>.</p>
<p>I wouldn&#8217;t do it for an action game, but for a slower-paced game it isn&#8217;t a problem. Try downloading Epic Citadel / etc.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: alasta		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51834</link>

		<dc:creator><![CDATA[alasta]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 23:13:06 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51834</guid>

					<description><![CDATA[How can you use touch screen to navigate a 3D space? I can only see it being done like ios Rage HD where it&#039;s on rails. Touch buttons etc. are really annoying.]]></description>
			<content:encoded><![CDATA[<p>How can you use touch screen to navigate a 3D space? I can only see it being done like ios Rage HD where it&#8217;s on rails. Touch buttons etc. are really annoying.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Andrew Lauritzen		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51827</link>

		<dc:creator><![CDATA[Andrew Lauritzen]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 20:59:18 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51827</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51619&quot;&gt;Jonathan Blow&lt;/a&gt;.

It works that way on Windows 7 too... you still receive the union of &quot;pure&quot; mouse events and touch-based ones, and it&#039;s quite annoying. Will take a look at WM_POINTER, since in my case I&#039;m not too concerned about the small number of Windows 7 tablet/touch devices out there.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51619">Jonathan Blow</a>.</p>
<p>It works that way on Windows 7 too&#8230; you still receive the union of &#8220;pure&#8221; mouse events and touch-based ones, and it&#8217;s quite annoying. Will take a look at WM_POINTER, since in my case I&#8217;m not too concerned about the small number of Windows 7 tablet/touch devices out there.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ryan Moulton		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51826</link>

		<dc:creator><![CDATA[Ryan Moulton]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 20:40:58 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51826</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51618&quot;&gt;Jonathan Blow&lt;/a&gt;.

&lt;a href=&quot;http://www.apportable.com&quot; rel=&quot;nofollow&quot;&gt;Apportable&lt;/a&gt; has done a great job porting osmos to android. If you decide that it&#039;s too much of a headache to do yourself, there are other options.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51618">Jonathan Blow</a>.</p>
<p><a href="http://www.apportable.com" rel="nofollow">Apportable</a> has done a great job porting osmos to android. If you decide that it&#8217;s too much of a headache to do yourself, there are other options.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51619</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 16:17:17 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51619</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51501&quot;&gt;knight666&lt;/a&gt;.

If I were you I would not be so sure of myself (seemingly to the point of rudeness as you are here).

Of course the game calls RegisterTouchWindow, because if you don&#039;t call this, you don&#039;t receive any touch events at all. (To verify this for the 20th time, I just tried taking out the RegisterTouchWindow call again, before writing this reply). When you do receive these touch events, it works as I have described: through mouse events. There is no apparent way not to receive the mouse events, as far as I can see.

For all I know this may be behavior specific to Windows 8. I haven&#039;t tried it on Windows 7 yet. What I have described is merely the extremely consistent and reproducible behavior of the message system on this one Windows 8 machine that I have.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51501">knight666</a>.</p>
<p>If I were you I would not be so sure of myself (seemingly to the point of rudeness as you are here).</p>
<p>Of course the game calls RegisterTouchWindow, because if you don&#8217;t call this, you don&#8217;t receive any touch events at all. (To verify this for the 20th time, I just tried taking out the RegisterTouchWindow call again, before writing this reply). When you do receive these touch events, it works as I have described: through mouse events. There is no apparent way not to receive the mouse events, as far as I can see.</p>
<p>For all I know this may be behavior specific to Windows 8. I haven&#8217;t tried it on Windows 7 yet. What I have described is merely the extremely consistent and reproducible behavior of the message system on this one Windows 8 machine that I have.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51618</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 16:06:30 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51618</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51615&quot;&gt;Radiance&lt;/a&gt;.

If and when the Ouya actually exists and people have bought it and are running games on it then we will look at it as a possibility.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51615">Radiance</a>.</p>
<p>If and when the Ouya actually exists and people have bought it and are running games on it then we will look at it as a possibility.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Radiance		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51615</link>

		<dc:creator><![CDATA[Radiance]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 14:18:02 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51615</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51272&quot;&gt;Jonathan Blow&lt;/a&gt;.

How about OUYA? I know it isn&#039;t released yet, but:
1. It&#039;s has quite capable Tegra 3 GPU.
2. It&#039;s just a single device. No diversification.
3. It&#039;s a dedicated gaming platform, but without many quality games yet. Game as polished as The Witness will catch a lot of attention.
4. It&#039;s essentially just a usual android device, game will work on (powerful enough) android tablets with minimal changes.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51272">Jonathan Blow</a>.</p>
<p>How about OUYA? I know it isn&#8217;t released yet, but:<br />
1. It&#8217;s has quite capable Tegra 3 GPU.<br />
2. It&#8217;s just a single device. No diversification.<br />
3. It&#8217;s a dedicated gaming platform, but without many quality games yet. Game as polished as The Witness will catch a lot of attention.<br />
4. It&#8217;s essentially just a usual android device, game will work on (powerful enough) android tablets with minimal changes.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sami		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51614</link>

		<dc:creator><![CDATA[Sami]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 14:07:37 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51614</guid>

					<description><![CDATA[Despite my coding experience going no further than ActionScript 3, I still read the whole post. It was pretty interesting, and if I ever need to develop for touchscreen Windows and use WM_TOUCH I&#039;ll know where to look for some help.]]></description>
			<content:encoded><![CDATA[<p>Despite my coding experience going no further than ActionScript 3, I still read the whole post. It was pretty interesting, and if I ever need to develop for touchscreen Windows and use WM_TOUCH I&#8217;ll know where to look for some help.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: James		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51611</link>

		<dc:creator><![CDATA[James]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 11:54:44 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51611</guid>

					<description><![CDATA[Seeing that you released Braid on Linux, not for sales but for ethical reasons, I had always imagined you would embrace Android, especially over iOS. Maybe I&#039;m a bit prejudiced, either way I&#039;m looking forward to seeing it on Windows, I read your previous rant about developing for consoles, but I&#039;d love for it to be on PS3 too.
Whatever happens, I look forward to this next piece of genius, and the subsequent lectures to follow. I hope there isn&#039;t too much pressure from hype and from Braid&#039;s success.]]></description>
			<content:encoded><![CDATA[<p>Seeing that you released Braid on Linux, not for sales but for ethical reasons, I had always imagined you would embrace Android, especially over iOS. Maybe I&#8217;m a bit prejudiced, either way I&#8217;m looking forward to seeing it on Windows, I read your previous rant about developing for consoles, but I&#8217;d love for it to be on PS3 too.<br />
Whatever happens, I look forward to this next piece of genius, and the subsequent lectures to follow. I hope there isn&#8217;t too much pressure from hype and from Braid&#8217;s success.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: knight666		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51501</link>

		<dc:creator><![CDATA[knight666]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 08:22:18 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51501</guid>

					<description><![CDATA[I&#039;ve worked on a project using WM_TOUCH events extensively and let me tell you: you&#039;re doing it wrong.

You complain that WM_TOUCH is being converted to WM_INPUT and WM_MOUSEMOTION. Obviously this is to support applications that are unaware of any WM_TOUCH events being generated. However, there&#039;s a very simple way to work around this: register your application to receive touch!

Call &quot;RegisterTouchWindow&quot; (http://msdn.microsoft.com/en-us/library/windows/desktop/dd317326(v=vs.85).aspx) at the start of your application and you will receive WM_TOUCH messages without them being converted to mouse events.

Check out the development branch of GLFW that includes my patches: https://github.com/elmindreda/glfw/tree/touch. See the functions &quot;_glfwPlatformSetTouchInput&quot; and look for &quot;WM_TOUCH&quot; in &quot;win32_window.c&quot;.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve worked on a project using WM_TOUCH events extensively and let me tell you: you&#8217;re doing it wrong.</p>
<p>You complain that WM_TOUCH is being converted to WM_INPUT and WM_MOUSEMOTION. Obviously this is to support applications that are unaware of any WM_TOUCH events being generated. However, there&#8217;s a very simple way to work around this: register your application to receive touch!</p>
<p>Call &#8220;RegisterTouchWindow&#8221; (<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd317326(v=vs.85)" rel="nofollow ugc">http://msdn.microsoft.com/en-us/library/windows/desktop/dd317326(v=vs.85)</a>.aspx) at the start of your application and you will receive WM_TOUCH messages without them being converted to mouse events.</p>
<p>Check out the development branch of GLFW that includes my patches: <a href="https://github.com/elmindreda/glfw/tree/touch" rel="nofollow ugc">https://github.com/elmindreda/glfw/tree/touch</a>. See the functions &#8220;_glfwPlatformSetTouchInput&#8221; and look for &#8220;WM_TOUCH&#8221; in &#8220;win32_window.c&#8221;.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Dmitri		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51285</link>

		<dc:creator><![CDATA[Dmitri]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 01:14:43 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51285</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51264&quot;&gt;Vincent Povirk&lt;/a&gt;.

WM_POINTER is described in the following slides/talk.

http://video.ch9.ms/build/2011/slides/APP-186T_Townsend.pptx
http://channel9.msdn.com/Events/Build/BUILD2011/APP-186T

The 50 min talk is very interesting if you enjoy the topic of input handling and touch.

I&#039;m a huge fan of the new WM_POINTER API, it&#039;s the best thing coming from Microsoft that I&#039;ve seen. I highly recommend watching the above video.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51264">Vincent Povirk</a>.</p>
<p>WM_POINTER is described in the following slides/talk.</p>
<p><a href="http://video.ch9.ms/build/2011/slides/APP-186T_Townsend.pptx" rel="nofollow ugc">http://video.ch9.ms/build/2011/slides/APP-186T_Townsend.pptx</a><br />
<a href="http://channel9.msdn.com/Events/Build/BUILD2011/APP-186T" rel="nofollow ugc">http://channel9.msdn.com/Events/Build/BUILD2011/APP-186T</a></p>
<p>The 50 min talk is very interesting if you enjoy the topic of input handling and touch.</p>
<p>I&#8217;m a huge fan of the new WM_POINTER API, it&#8217;s the best thing coming from Microsoft that I&#8217;ve seen. I highly recommend watching the above video.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Dmitri		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51274</link>

		<dc:creator><![CDATA[Dmitri]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 01:08:17 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51274</guid>

					<description><![CDATA[The Win32 message loop is all kinds of crazy.

I really dislike DefWindowProc in particular. It is undocumented, you don&#039;t have access to its source code, and worst of all, it completely blocks your main (where typically your OpenGL rendering happens) thread while the user moves or resizes the window. You have no way around your main thread blocked, unless you&#039;re willing to avoid using DefWindowProc by reimplementing all default windows behaviours (moving, resizing, minimizing, etc.), which is a lot of work and will invariably have your app acting differently from the standard Windows experience.

That said, I still think you could&#039;ve debugged this problem faster if you had started with sample code where WM_TOUCH was being received, and changed its message loop one step at a time to be like yours and checked which change breaks WM_TOUCH being received. Or maybe it&#039;d be slower that way, I dunno.]]></description>
			<content:encoded><![CDATA[<p>The Win32 message loop is all kinds of crazy.</p>
<p>I really dislike DefWindowProc in particular. It is undocumented, you don&#8217;t have access to its source code, and worst of all, it completely blocks your main (where typically your OpenGL rendering happens) thread while the user moves or resizes the window. You have no way around your main thread blocked, unless you&#8217;re willing to avoid using DefWindowProc by reimplementing all default windows behaviours (moving, resizing, minimizing, etc.), which is a lot of work and will invariably have your app acting differently from the standard Windows experience.</p>
<p>That said, I still think you could&#8217;ve debugged this problem faster if you had started with sample code where WM_TOUCH was being received, and changed its message loop one step at a time to be like yours and checked which change breaks WM_TOUCH being received. Or maybe it&#8217;d be slower that way, I dunno.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51272</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 00:46:32 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51272</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51262&quot;&gt;Mellow&lt;/a&gt;.

We will see about Android. I am not a fan of trying to build a robust experience across lots of heterogeneous unpredictable hardware-and-software profiles. But if it turns out that there are a couple of devices that are prominent and on which the game will run well, we&#039;d probably release it.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51262">Mellow</a>.</p>
<p>We will see about Android. I am not a fan of trying to build a robust experience across lots of heterogeneous unpredictable hardware-and-software profiles. But if it turns out that there are a couple of devices that are prominent and on which the game will run well, we&#8217;d probably release it.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51271</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 00:45:21 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51271</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51264&quot;&gt;Vincent Povirk&lt;/a&gt;.

I *believe* WM_POINTER is documented in the Windows 8 SDK that was just released in mid-August. I haven&#039;t verified this, though.

The definitions do not exist even in the headers included with Visual Studio 2012. In order to reply to WM_POINTER messages I had to #define the constants myself, etc. (This doesn&#039;t help so much when you want to access the structs!)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51264">Vincent Povirk</a>.</p>
<p>I *believe* WM_POINTER is documented in the Windows 8 SDK that was just released in mid-August. I haven&#8217;t verified this, though.</p>
<p>The definitions do not exist even in the headers included with Visual Studio 2012. In order to reply to WM_POINTER messages I had to #define the constants myself, etc. (This doesn&#8217;t help so much when you want to access the structs!)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: WC		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51270</link>

		<dc:creator><![CDATA[WC]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 00:38:09 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51270</guid>

					<description><![CDATA[Oh joy, magic numbers!

Interesting read.  Thanks for posting this for others to learn from.  I hope that MS fixes this insanity before I have to deal with it, but somehow I doubt that&#039;ll be the case.  ;)]]></description>
			<content:encoded><![CDATA[<p>Oh joy, magic numbers!</p>
<p>Interesting read.  Thanks for posting this for others to learn from.  I hope that MS fixes this insanity before I have to deal with it, but somehow I doubt that&#8217;ll be the case.  ;)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Daniel R. Maciel		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51269</link>

		<dc:creator><![CDATA[Daniel R. Maciel]]></dc:creator>
		<pubDate>Mon, 15 Oct 2012 00:17:37 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51269</guid>

					<description><![CDATA[I guess not many people care about WM_TOUCH. It is always cool to have news about The Witness though.
BTW, I&#039;m ready to thank you for your good work with my monies, is the game out anytime soon? :D]]></description>
			<content:encoded><![CDATA[<p>I guess not many people care about WM_TOUCH. It is always cool to have news about The Witness though.<br />
BTW, I&#8217;m ready to thank you for your good work with my monies, is the game out anytime soon? :D</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ricardo		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51266</link>

		<dc:creator><![CDATA[Ricardo]]></dc:creator>
		<pubDate>Sun, 14 Oct 2012 23:56:43 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51266</guid>

					<description><![CDATA[I&#039;m amazed at how Apple makes things simple for developers, and how Microsoft screws their APIs time after time.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m amazed at how Apple makes things simple for developers, and how Microsoft screws their APIs time after time.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Vincent Povirk		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51264</link>

		<dc:creator><![CDATA[Vincent Povirk]]></dc:creator>
		<pubDate>Sun, 14 Oct 2012 23:51:07 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51264</guid>

					<description><![CDATA[Presumably DefWindowProc is dispatching the WM_TOUCH by calling SendMessage, which will always process the message synchronously. Sent messages are never returned from GetMessage or PeekMessage, just processed as soon as the window thread happens to be in a function that waits for messages (i.e. PeekMessage, GetMessage, or SendMessage). If the window happens to be in the same thread, SendMessage just calls the window proc.

Because WM_INPUT is not a sent message, windows doesn&#039;t know when you&#039;re done processing it, and therefore it cannot know when it&#039;s safe to free the information attached to it. In theory, you could save them up and process them in batches. I don&#039;t know why anyone would do that, but it&#039;s possible. (And, if MS were to free the handle on the next GetMessage call in the thread,  anyone who tried to batch process them would likely have a similar reaction to the resulting confusing behavior.)

Of course, given that you have to opt into WM_TOUCH, I don&#039;t know why they didn&#039;t just put it in the thread input queue and skip the corresponding WM_MOUSEMOVE/WM_INPUT messages. That would add a similar requirement to the one you have with WM_INPUT - since it would not be a posted message, and would have to contain more than 2 pointers worth of data, you&#039;d need to call some other function to free the extra data.

Incidentally, where is WM_POINTER documented? I&#039;m interested in how they designed that differently, and I don&#039;t see it anywhere on MSDN.]]></description>
			<content:encoded><![CDATA[<p>Presumably DefWindowProc is dispatching the WM_TOUCH by calling SendMessage, which will always process the message synchronously. Sent messages are never returned from GetMessage or PeekMessage, just processed as soon as the window thread happens to be in a function that waits for messages (i.e. PeekMessage, GetMessage, or SendMessage). If the window happens to be in the same thread, SendMessage just calls the window proc.</p>
<p>Because WM_INPUT is not a sent message, windows doesn&#8217;t know when you&#8217;re done processing it, and therefore it cannot know when it&#8217;s safe to free the information attached to it. In theory, you could save them up and process them in batches. I don&#8217;t know why anyone would do that, but it&#8217;s possible. (And, if MS were to free the handle on the next GetMessage call in the thread,  anyone who tried to batch process them would likely have a similar reaction to the resulting confusing behavior.)</p>
<p>Of course, given that you have to opt into WM_TOUCH, I don&#8217;t know why they didn&#8217;t just put it in the thread input queue and skip the corresponding WM_MOUSEMOVE/WM_INPUT messages. That would add a similar requirement to the one you have with WM_INPUT &#8211; since it would not be a posted message, and would have to contain more than 2 pointers worth of data, you&#8217;d need to call some other function to free the extra data.</p>
<p>Incidentally, where is WM_POINTER documented? I&#8217;m interested in how they designed that differently, and I don&#8217;t see it anywhere on MSDN.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Mellow		</title>
		<link>https://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/comment-page-1/#comment-51262</link>

		<dc:creator><![CDATA[Mellow]]></dc:creator>
		<pubDate>Sun, 14 Oct 2012 23:35:45 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=1824#comment-51262</guid>

					<description><![CDATA[Planned on iPad and Windows... Any word for Android people?]]></description>
			<content:encoded><![CDATA[<p>Planned on iPad and Windows&#8230; Any word for Android people?</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
