StrokesPlus Forum
                       
StrokesPlus Forum
Home | Profile | Register | Active Topics
Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 General Discussion
 General Discussion
 Bunch of stuff to ask!
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Larynx

11 Posts

Posted - 03/01/2014 :  15:05:41  Show Profile  Reply with Quote
Hi there!
I know, I know. My account has been approved just 5 minutes ago and I already have several issues and feature requestsÖ How fucking impolite!

My first issue regards an app (PDF Annotator, if you care) where all gestures are executed successfully, but the regular right click is not consumed. So every gesture opens a dropdown Menu, which is so very annoyingÖ

Second issue regards another app (IMindMap 7, if you care again) where absolutely no gesture is executed at all. Iím totally at a loss why. And no, the app is not listed in the ignore list.

Letís face the third issue! I tried to execute a Powershell script, which requires administrator approval (it toggles the driver of my touchscreen on and off, and yes I dis- and enable my touchscreen very very regularly). Of course without requiring administrator approval itself S+ can hardly run a script which does, so I disabled UAC. When I double click my desktop shortcut the script executes without ever asking me if Iím authorised or not. But if I let S+ execute it that fucking Powershell bastard denies!
Btw, here is the line I wrote in S+:
acShellExecute("open", "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "C:\\touchToggle.ps1", "", 1)

Any chance to get this working? That really would help me a lot!

Finally I got two feature requests!
Iíve seen, that S+ even supports touchpad gestures. So would it might be possible to implement touchscreen gestures as well? That would be truly awesome!
The second feature request is tricky, maybe even impossible. Moreover I probably am the only person in universe who wants such stuff:
My tablet has got a digitizer and, as I already mentioned, a touchscreen. So every time the pen comes near the display the touchinput is blocked. So I can rest my meaty palm on the display without causing havoc. But still it permanently happens that I lay down my hand before the pen is near enough to the display causing the havoc I spoke about. Btw that is why I permanently toggle my touchscreen driver!
So if S+ would be able to distinguish between touch and pen triggered MouseEvents it could consume the touchiput in certain apps, leaving the digitizer input unharmed. (I already wrote to the PDF Annotator guys. They said that this would be impossible, but I know it isnít because OneNote can do it!).
Like I said I know that this isnít something everybodyís interested in but if you got some ideas how to accomplish this: Iím ready to pay for it.

So thatís it for today! Let me finish of with saying how very awesome this tool already is. I really donít know why mouse gestures are so unpopular. They are really cool, incredibly useful and enormously fast!

Rob

USA
2601 Posts

Posted - 03/02/2014 :  11:58:01  Show Profile  Visit Rob's Homepage  Reply with Quote
1. PDF Annotator - I can't reproduce this issue. I draw a gesture and let go, but no menu appears. A regular right-click (no gesture/action match) presents the context menu as expected. Email me your config file (StrokesPlus.xml, probably in C:\Users\USERNAME\AppData\Roaming\StrokesPlus) and I can see if there's a configuration reason it's happening for you.

2. iMindMap 7 - Once again, I cannot reproduce this either. Gestures like maximize/restore work fine, as do things like Copy and Paste (successfully copies/pastes Central Idea element...whatever that is as I've never used this app!). Same thing, send me your StrokesPlus.xml and StrokesPlus.lua as well, just in case there's something in there.

3. Try enabling UAC and running S+ as Administrator instead (right-click->Run as Administrator or right-click S+, Properties > Compatibility Run as Admin). S+ only used to run as Admin until Windows 8 came along, then I needed to sign and denote UIAccess privileges to work in the Metro start screen, but that prevents it from executing pure admin req'd actions. Also, you can try using acRunProgram and see if your results are any different

4. Touchscreen - That's a looong term goal, it's something which is pretty time consuming and challenging to implement...especially considering I don't have a touchscreen device =)

5. This would come along with #4 being implemented. All of that mouse vs touch vs pen messages are all included in the touch integration, but right S+ only responds to mouse events, which are converted from touch/pen events and relayed as mouse events it the program doesn't process them as touch/pen.
Go to Top of Page

Larynx

11 Posts

Posted - 03/02/2014 :  19:03:19  Show Profile  Reply with Quote
Hey there!
Thank you for your support!
Enabling UAC and start as Administrator not only solved issue 3, IMindMap now obeys as well! So thank you very much. Thats really awesome already!

But the PDF Annotator issue still persists. I noticed, that this dropdown menu only occurs on some tools. Hand and Arrow work but Pen and Marker trigger that popup Menu. Furthermore they only do this when I perform the gesture directly on my PDF document.

So #4 implementation will enable separation between touch and pen events? OMFG How long will I have to wait for this?

Fixing the issue with Powershell and IMindMap already helps me a lot. Would be really cool if PDF Annotator could be fixed as well.

Thank you very much for your hard work Rob. The job you're doing here is really awesome!
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/02/2014 :  23:29:12  Show Profile  Visit Rob's Homepage  Reply with Quote
The only way I can get PDF Annotator to behave in that was is if the S+ Preference Relay Gesture on No Match is checked and I draw a gesture which doesn't match (this replays the mouse down, movement, then mouse up events, expectedly showing the popup menu).

#4/5: Honestly, it will still be quite a while
Go to Top of Page

Larynx

11 Posts

Posted - 03/03/2014 :  01:38:33  Show Profile  Reply with Quote
Ok, did some further test and found out that this only occurs if I use the digitizer for drawing the gestures. Any chance to pull a log or something which might help me figure out whats wrong?
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/03/2014 :  17:43:32  Show Profile  Visit Rob's Homepage  Reply with Quote
How exactly is the digitizer being used to interact with S+?

Meaning, how do you invoke the stroke button? Is this a long press on the screen, and button on the pen? As I said, I don't have a touch/pen device, so I'm ignorant about the usage.
Go to Top of Page

Larynx

11 Posts

Posted - 03/03/2014 :  19:08:59  Show Profile  Reply with Quote
I'm using it like a mouse. Standard pressdown does a left click. If I press an additional button pressdown does a right click - this is what I use to draw the S+ gestures. The Digitizer got a second button, which in paint turns on the eraser but doesn't seem to be recognisable for S+

By the way: I noticed, that Microsoft OneNote behaves the same like PDF Annotator. Normal mouse gestures are executed perfectly whereas digitizer gestures work but they have a high failing rate and the right click is never consumed.
Both progs have in common, that they are specifically designed for pen input, like beeing pressure sensitive and so on. Photoshop is pressure sensitive as well but I don't have any issues there. But Photoshop seems to use another aproach: They always supported just wacom pens. Only since the most recent update my N-Trig is working as well.

Edited by - Larynx on 03/03/2014 19:10:50
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/04/2014 :  17:56:07  Show Profile  Visit Rob's Homepage  Reply with Quote
My guess is that applications which directly support the digitizer may be getting the digitizer events separately from the synthesized (by the digitizer driver) mouse input.

For example, OneNote has integration to communicate with the pen, the pen driver also injects synthesized mouse events. The driver is injecting the mouse click, but OneNote is reacting to the button press separately via direct integration.

Without having the hardware, it's difficult to confirm, but it certainly seems like the most probably issue.
Go to Top of Page

Larynx

11 Posts

Posted - 03/05/2014 :  05:04:47  Show Profile  Reply with Quote
I'm not the kind of guy who leaves problems unsolved. So let' check some further options!

1. I've read in some posts, that other people using S+ in metro apps as well. But I wasn't able to do so. Neither with digitizer or mouse. Is there something I have to turn on to have metro support?

2. I want to try to implement gestures with my eraser button. How would I check which event is triggered when I press it?

I will think about some other approches. There is no way of not getting this fixed.
Till than thank you for your kind support Rob!
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/05/2014 :  12:30:13  Show Profile  Visit Rob's Homepage  Reply with Quote
1. You must run the signed version of S+, and it must be installed under Program Files. This is not within my control, but by Microsoft.

2. Well, you could use Spy++ or something equivalent like Winspector. Open up Notepad and have the app watch all of Notepad's windows message, press the erase button, and see if/what messages are relayed. However, the digitizer's driver may NOT convert an erase event to a standard windows message (I would check its software, maybe under control panel?). It may be up to the program supporting the digitizer to interface the device/driver and comunicate with it directly (meaning S+ would never see the event). But there may also be something behind the scenes that Windows does(?). Or as I said, you may be able to configure the driver to do something on an erase button press which S+ can respond to; though it may not play well with applications which actually respond to the erase button...if that makes sense.
Go to Top of Page

Larynx

11 Posts

Posted - 03/05/2014 :  13:55:59  Show Profile  Reply with Quote
1. Is already the case. Installed in C:\Program Files\StokesPlus, UAC is enabled and S+ is run with elevated privileges. I downloaded once again the 64Bit signed windows installer and reinstalled it, just to be shure. But still metro apps are not supported. There is an Certificate in the S+ Folder. Do I have to install it to some special location or just leave it there?
In the german windows version the "Program Files" Folder is named Programme, does this might cause any issues with S+ (normally it doesn't because paths are converted by windows automaticaly)

2. Thanks, I'm gona test Spy++ and see what happens!
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/05/2014 :  13:58:36  Show Profile  Visit Rob's Homepage  Reply with Quote
So are you able to draw gestures on the Start screen? If so, it's behaving as expected. Define "not working with Metro" apps. In what way is not working?
Go to Top of Page

Larynx

11 Posts

Posted - 03/05/2014 :  14:08:25  Show Profile  Reply with Quote
Every immersive sceen, Start screen as well as each App downloaded from windows store or the windows store itself. Everything that takes place on the pre-win8 desktop works; at least partially ;)
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/05/2014 :  15:08:42  Show Profile  Visit Rob's Homepage  Reply with Quote
Well that's odd; it works fine for me (Win 8.1 64-bit on three different machines) and others from what I understand.

The install is supposed to install the certificate, in fact if it doesn't install, I don't believe S+ will even run. You can run certmgr.msc and confirm that under Trusted Root Certification Authorities there is an entry for StrokesPlusCert. Also, right-click StrokesPlus.exe->Properties->Digital Signatures and make sure all is well in there, and is ok in the Details button.

The Metro interaction is all driven by the certificate in combination with UIAccess="true" in the manifest (compiled into StrokesPlus.exe), so I'm not sure why it wouldn't be working.

Also, try running GPEdit.msc, Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options. Look at the User Account Control settings and see if there is anything there which could be causing it. There are a few which specifically mention UIAccess, perhaps try disabling the settings and see if that helps?

Let me know either way.
Go to Top of Page

Larynx

11 Posts

Posted - 03/05/2014 :  17:12:47  Show Profile  Reply with Quote
Tried everything but nothing helped. I just created a new useraccount and voilŗ it has metro support. I will setup my whole account tomorrow, maybe thereby I come across something but most likely we will never now what was wrong.

Btw: I immediately tried if PDF Annotator and OneNote now behave as well. They don't.
So don't think that your done with me already. This might will go on for years!

Chears!
Go to Top of Page

Larynx

11 Posts

Posted - 03/07/2014 :  16:49:08  Show Profile  Reply with Quote
Ok I let Spy++ check out what's going on:

I performed mouseclicks on NotePad with a mouse and my digitizer. Then I did the same with a metro app (digitizer does not trigger S+ gestures within metro apps, mouse does) and compared the results:

Mouse on NotePad performs events of type WM_LBUTTONDOWN, WM_MOUSEMOVE, WM_LBUTTONUP
Mouse on metro apps does the same

Digitizer on NotePad perfoms, like mouse WM_LBUTTONDOWN, WM_MOUSEMOVE, WM_LBUTTONUP
additionally it performs WM_POINTERDOWN, WM_POINTERUPDATE, WM_POINTERUP

Digitizer on metro app ONLY performs WM_POINTERDOWN, WM_POINTERUPDATE, WM_POINTERUP

somewhere I read that S+ uses SetWindowsHookEx to catch mouseEvents would it might be possible to catch PointerEvents as well?

Don't kwow if it might help but here is the metro-digitizer-right-click-log:
<000001> 003B056E P WM_POINTERENTER wPointerID:07FB wFlags:2002
<000002> 003B056E P WM_POINTERUPDATE wPointerID:07FB wFlags:2002 ptX:975 ptY:590
<000027> 003B056E R WM_POINTERACTIVATE pmsd->lResult:FFFFFFFFFFFFFFFF
<000028> 003B056E S WM_MOUSEACTIVATE hwndTopLevel:003B056E nHittest:HTCLIENT uMsg:WM_POINTERDOWN
<000029> 003B056E R WM_MOUSEACTIVATE fuActivate:MA_ACTIVATE
<000030> 003B056E P WM_POINTERDOWN wPointerID:07FB wFlags:2026 ptX:1040 ptY:603
<000031> 003B056E P WM_POINTERUPDATE wPointerID:07FB wFlags:2026 ptX:1047 ptY:608
<000061> 003B056E P WM_POINTERUPDATE wPointerID:07FB wFlags:2026 ptX:1142 ptY:613
<000062> 003B056E P WM_POINTERUP wPointerID:07FB wFlags:2002 ptX:1142 ptY:613
<000063> 003B056E P WM_POINTERUPDATE wPointerID:07FB wFlags:2002 ptX:1143 ptY:609
<000108> 003B056E P WM_POINTERLEAVE wPointerID:07FB wFlags:2002

here is the metro-digitizer-left-click-log:
<000001> 003B056E P WM_POINTERENTER wPointerID:07E8 wFlags:2003
<000045> 003B056E R WM_POINTERACTIVATE pmsd->lResult:FFFFFFFFFFFFFFFF
<000046> 003B056E S WM_MOUSEACTIVATE hwndTopLevel:003B056E nHittest:HTCLIENT uMsg:WM_POINTERDOWN
<000047> 003B056E R WM_MOUSEACTIVATE fuActivate:MA_ACTIVATE
<000048> 003B056E P WM_POINTERDOWN wPointerID:07E8 wFlags:2026 ptX:1056 ptY:617
<000049> 003B056E P WM_POINTERUPDATE wPointerID:07E8 wFlags:2026 ptX:1057 ptY:617
<000083> 003B056E P WM_POINTERUPDATE wPointerID:07E8 wFlags:2026 ptX:1059 ptY:618
<000084> 003B056E P WM_POINTERUP wPointerID:07E8 wFlags:2002 ptX:1059 ptY:618
<000117> 003B056E P WM_POINTERLEAVE wPointerID:07E8 wFlags:2002

As you might realise I've taken out all those repeatet WM_POINTERUPDATE spam

Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/09/2014 :  12:12:30  Show Profile  Visit Rob's Homepage  Reply with Quote
I figured they would come in WM_POINTER messages. Hooking those are much different than capturing mouse messages...touch/pen (under which the WM_POINTER messages fall) are a completely different beast.

I've posted about the specifics in more than one thread here, but in the end it's not a simple additional message check. Only the active application receives pointer messages, unless you register a global touch input window (which is what S+ would have to do), but there can only be one such window registered at a time, and that window is responsible for ALL touch/pen input. This means that not only would S+ have to flawlessly detect and handle all touch/pen input, it also would have to perfectly forward those events to the foreground application...unless an action/gesture was detected by S+; all without the user noticing anything different; like everything in life, the devil is in the details.

Clearly it's possible, but it's challenging to do just right, and without a touch device, it's simply not something I can realistically accomplish.

At some point, I'll get some extra money together and buy a touch device. When that happens, I'll begin the huge undertaking of integrating touch/pen support into S+.
Go to Top of Page

Larynx

11 Posts

Posted - 03/10/2014 :  17:21:01  Show Profile  Reply with Quote
So my options are wait for you getting a touch device or learn to develop such a global touch input window by myself...
Let me think some days about it.

Till then thank you for your help, again!

Edited by - Larynx on 03/10/2014 17:21:31
Go to Top of Page

Rob

USA
2601 Posts

Posted - 03/10/2014 :  17:22:18  Show Profile  Visit Rob's Homepage  Reply with Quote
No exactly, option 3 is to buy me a touch device

Just kidding!
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
StrokesPlus Forum © 2011-2018 Rob Yapchanyk Go To Top Of Page
Snitz Forums 2000