Open alexanderzeillinger opened 9 years ago
I've just managed to upload the finished gesture code. Calibration process is a bit tedious, I'll try to upload my optimized training dataset in a few hours.
On Sun, Jul 19, 2015 at 4:22 AM, Alexander Zeillinger notifications@github.com wrote:
Does the pointing gesture calibration work?
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2
Ok, I compiled the latest code and used the training data that was deleted 3 days ago and was able to finish calibration. Is there anything else I can do now, like actually use the device?
Ah, never mind. Looks like I've got a conflict with another program so it won't work, just need to find out which program it is.
Had no luck finding the problem. When I run the program in a virtual machine I have the Touch+ circle cursor afterwards but running on my normal installation it doesn't appear. I'm using Win 8.1 in both cases, any idea what could cause this?
Yeah could you check if win_cursor_plus.exe is running in the task manager? If it is can ou terminate it manually and try again?
On Mon, Jul 20, 2015 at 12:47 PM, Alexander Zeillinger notifications@github.com wrote:
Had no luck finding the problem. When I run the program in a virtual machine I have the Touch+ circle cursor afterwards but running on my normal installation it doesn't appear. I'm using Win 8.1 in both cases, any idea what could cause this?
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-122760958
Yes it is running, when I terminate it it starts automatically again but still no circle cursor.
It definitely seems to receive and react to data that it receives, it's just that the cursor itself doesn't appear.
I added some console output to win_cursor_plus:
ipc.SetUDPCallback(delegate(string message)
{
Console.WriteLine("UDP message: " + message);
if (message != "hide_cursor_index" || message != "hide_cursor_thumb")
{
and
timer.Tick += delegate(object o, EventArgs e)
{
Console.WriteLine("cursorIndex: " + showCursorIndex + ", cursorThumb: " + showCursorThumb);
ipc.Update();
Sometimes it would receive no UDP messages at all and even when it does both showCursorIndex and showCursorThumb are always false so the left and top position of the cursor would never be set.
I 'm using the training data that was removed in b0dab9ed3590020bd04d2267a67709409090e2f4, maybe that's just the reason?
I'm uploading the latest training data, it's taking a while because there's so many of them. I've taken a different approach to training the hand pose estimator: instead of only saving a new training file when the system recognizes the wrong pose, I've set it to save a new pose every time the hand position is different from the closest one in the database by a certain threshold. It's working well for me, but everyone has different hands. Could you give it a try? Thanks!
On Mon, Jul 20, 2015 at 3:14 PM, Alexander Zeillinger notifications@github.com wrote:
I added some console output to win_cursor_plus:
ipc.SetUDPCallback(delegate(string message)
{
Console.WriteLine("UDP message: " + message);
if (message != "hide_cursor_index" || message != "hide_cursor_thumb")
{
andtimer.Tick += delegate(object o, EventArgs e)
{
Console.WriteLine("cursorIndex: " + showCursorIndex + ", cursorThumb: " + showCursorThumb);
ipc.Update();
Sometimes it would receive no UDP messages at all and even when it does both showCursorIndex and showCursorThumb are always false so the left and top position of the cursor would never be set.I 'm using the training data that was removed in b0dab9ed3590020bd04d2267a67709409090e2f4, maybe that's just the reason?
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-122783493
Yes, I will try it, let me know when it's up.
Okay it's up
On Mon, Jul 20, 2015 at 3:28 PM, Alexander Zeillinger notifications@github.com wrote:
Yes, I will try it, let me know when it's up.
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-122785463
Oh yeah, if it doesn't run you can try to manually terminate daemon_plus.exe, track_plus.exe and win_cursor_plus.exe in that order. They should terminate properly if you right click on the tray icon and click exit.
On Mon, Jul 20, 2015 at 3:28 PM, Alexander Zeillinger notifications@github.com wrote:
Yes, I will try it, let me know when it's up.
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-122785463
Still only working in a VM but the precision is much better now. Pinch and zoom was also working now.
Interesting. I'll push a few more improvements and then give you a heads up. Please feel free to push any changes where you see fit.
On Mon, Jul 20, 2015 at 3:59 PM, Alexander Zeillinger notifications@github.com wrote:
Still only working in a VM but the precision is much better now. Pinch and zoom was also working now.
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-122790590
Oh could you explain the issue with the European keyboard layout?
On Mon, Jul 20, 2015 at 4:04 PM, Lai Xue sheley1998@gmail.com wrote:
Interesting. I'll push a few more improvements and then give you a heads up. Please feel free to push any changes where you see fit. On Mon, Jul 20, 2015 at 3:59 PM, Alexander Zeillinger notifications@github.com wrote:
Still only working in a VM but the precision is much better now. Pinch and zoom was also working now.
Reply to this email directly or view it on GitHub: https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-122790590
Found the problem with the missing circle.
So "win_cursor_plus" receives UDP messages and parses the x, y, z coordinates like below:
bool b0 = float.TryParse(xyStr[0], out x);
bool b1 = float.TryParse(xyStr[1], out y);
bool b2 = float.TryParse(xyStr[2], out z);
bool b3 = int.TryParse(xyStr[3], out down);
if (b0 && b1 && b2)
Unfortunately this will fail for systems using a decimal mark other than a point. In Austria we have a comma as decimal mark so the parsing will fail and b0, b1, b2 will always be false and the circle never shows up.
Please use TryParse(string s, NumberStyles style, IFormatProvider provider, out float result)
to fix this.
Another issue - I do have the circles now with the solution above but "cursorIndexDown" doesn't work using the TUIO class. I have set "useTUIO" to false to use the other path where it works.
"useTUIO" was swtiched on to test the cursor without actually sending touch events into the OS. In order to make the cursor work over the Modern Start Screen, you need to set "UIAccess "to "true" inside of the "app.manifest" of the c# project, code-sign the compiled "win_cursor_plus.exe", then place the entire "build" folder in "c:/program files" or c:/program files (x86)" and run "daemon_plus.exe" from there. Here's a link to the "win_cursor_plus.exe" code signed with a certificate I bought from Microsoft, could you check if it works? Thanks!
https://www.dropbox.com/s/9yejuxr3if8bccl/win_cursor_plus.exe?dl=0
On Wednesday, July 22, 2015, Alexander Zeillinger notifications@github.com wrote:
Another issue - I do have the circles now with the solution above but the "cursorIndexDown" doesn't work using the TUIO class. I have set "useTUIO" to false to use the other path where it works.
— Reply to this email directly or view it on GitHub https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-123471150 .
Oh and please terminate daemon_plus.exe, win_cursor_plus.exe, and track_plus.exe if any of them are still running before you proceed
On Wednesday, July 22, 2015, Lai Xue sheley1998@gmail.com wrote:
"useTUIO" was swtiched on to test the cursor without actually sending touch events into the OS. In order to make the cursor work over the Modern Start Screen, you need to set "UIAccess "to "true" inside of the "app.manifest" of the c# project, code-sign the compiled "win_cursor_plus.exe", then place the entire "build" folder in "c:/program files" or c:/program files (x86)" and run "daemon_plus.exe" from there. Here's a link to the "win_cursor_plus.exe" code signed with a certificate I bought from Microsoft, could you check if it works? Thanks!
https://www.dropbox.com/s/9yejuxr3if8bccl/win_cursor_plus.exe?dl=0
On Wednesday, July 22, 2015, Alexander Zeillinger < notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:
Another issue - I do have the circles now with the solution above but the "cursorIndexDown" doesn't work using the TUIO class. I have set "useTUIO" to false to use the other path where it works.
— Reply to this email directly or view it on GitHub https://github.com/Ractiv/touch_plus_source_code/issues/2#issuecomment-123471150 .
Yes it worked!
Does the pointing gesture calibration work?