Pen on Windows 10 Creator doesnt work as mouse after update

Ive just had a couple of customers do an update of WIndows Creator edition and report that the pen no longer works properly for ‘normal’ mouse operation such as drawing a line on a canvas.
After a bit of digging, I turned up this Reddit post from the WIndowsInk team, which is very concerning, given its seeming disregard for what it describes as ‘legacy Win32 apps’


What this means for me is that …
Using a mouse, click a canvas and hold the mouse down to draw
is now
click the canvas using the pen, and it just scrolls.
Making the entire app useless on a Surface using a pen.

[quote]“we also changed the behavior for legacy Win32 applications that weren’t specifically designed for pen. These applications instead rely on Windows to convert pen input into another form of compatible input, such as mouse. While we try to test as many of the most popular applications used with pen before releasing, there is a chance that one of your favorite applications wasn’t covered as part of our validation, relies on input conversion, and may not function as intended after this change.”

They say that changing the following Registry item should help, but one of my users who has tried it says it makes little or no difference:

[code]reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Pen /v LegacyPenInteractionModel /t REG_DWORD /d 1 /f


that sounds like a “very subtle” bias towards .Net applications. Microsoft continues to reduce backwards compatibility. This is a trend that started very slowly with Windows 8, and which is much accelerated since Windows 10. Microsoft is inching towards Apple’s approach: Backwards compatibility is of secondary importance.

Here is a shot in the dark: what happens if you compile to 64 bits? (I am assuming that like most Windows developers, you still make 32 bit applications) Perhaps the conversion still works on 64-bit, just not on 32-bit applications.

Dunno yet but remember Win32 doesnt imply 32bits any more.
The 64bit libs are also Win32

that sounds like a “very subtle” bias towards .Net applications.[/quote]

What it sounds like to me is ‘hey I just added a cool new feature for the 6 people who sent me an email.
What? it breaks hundreds of other apps?
Shhhh… pretend it was part of a grand plan.
Oh , OK, we’ll add a registry option if you insist’

Jeff, it seems what you report is how the basic support for non touch apps is broken.

But have you implemented Christian’s plugins ? Chances are gestures are still recognized as ever, and they include everything, apparently.

Yes Jeff. 64-bit Windows apps are Win32. But there are sometimes small differences between the 64-bit drivers and the 32-bit drivers. As I said, it is a shot in the dark. Low probability, but until proven wrong, something to try. Granted, Michel’s suggestion has a better chance of success.

[quote=378544:@Jeff Tullin]What this means for me is that …
Using a mouse, click a canvas and hold the mouse down to draw
is now
click the canvas using the pen, and it just scrolls.
Making the entire app useless on a Surface using a pen.


A possible workaround… (untested)

If it changes the pen movement to horizontal and vertical “scroll wheel” events which give you the deltas, you can code around it using that event to draw your lines with that code there (checking for Windows version to see which method you have to use).

Depending on your UI, you MAY need to make line drawing model as well, if you don’t already.

  • Karen

Please check pointer and gesture classes in MBS Win Plugin:

SPAM alert!

I put a canvas on a window and put some code in the MouseMove and ScrollWheel events to see which ones fired when I “drew” on it with an active stylus.

The MouseMove event fired as one would expect, not the ScrollWheel.

Windows 10 Home Ver 1709 (Fall Creator update)

  • Karen

Have you checked what edition they are running? The article says that it will only work for users of Windows 10 build 17110 which is currently only in Insider Preview, so it wont do much if they are running 16299.309 (current).

Good spot… I’ll check that!