Jump to content

Fingers - Leap hand tracking and physical switches for VR and others


Recommended Posts

Well, in all due respect to @rafalg78, the instructions weren't the clearest haha.  But the 3d ring file is AWESOME!!  So I've basically been doing this through trial and error and on my 2nd iteration.  Great starting point and code though!

I originally failed with the software because I was using the newest/generic 8.x Circuit Python libraries as outlined in @rafalg78 howto.  Unfortunately, those don't seem to work and I learned there was a precompiled version he made with the LIBS he used.  And it worked!!!  Sort of...  Maybe it was the communication in the post I didn't understand, but I assumed all the tactile switches were also positioned in the same way, i.e: Both top contacts go to a positive contact, both bottoms go to a ground, or change this to both left contact, or right contacts.  

After soldering and playing around I realized one of my solder joints wasn't great on version 2.0 so left/right buttons weren't working unless pressure applied to a joint.  OK, next version will fix.  But the down button didn't work... Until all of a sudden I realized if I help down the left or right button then clicked down, there was a signal and it worked... So that was the first time the thought crossed my mind that the tactile switches weren't meant to be positioned in the same wiring position.

It seems his wiring diagram isn't based on the switches all being in the same "up' or "down" position during placement.  Based on solder positions in his original diagram, it's not based on "Positive" being the same on both top contacts, and bottom contacts based on their placement.  So i'll have to make a new one that's improved with your Hat switch this time.

I should have reverse engineered it from the beginning and analyzed it, but I decided to just go for it.  Now time to tinker and dial it in. 

Se here's my second version that is almost all working.  It works fine in game, but I notice fingers app doesn't recognize it, just says "searching".  Doesn't really matter though because my system recognizes it as a keyboard/mouse device and clicks work in game.

@rafalg78Please chime in with your interations and where I went wrong.  Your code is great and i'll figure out where to improve when I try it with a Hat switch next 🙂

UPDATE  5/29: Just looked at Serial console, and both left and right buttons are registering as a left click.  The wiring is definitely backwards in terms of polarity, lol.  Will update wiring. The lightning bolts on the diagram @Rafa20670 made are where the positive's should be, but aren't necessarily correlating to my set up.  My buttons were placed in a way where either both top pins are positive/neg and or bottom are pos/neg, not left/right.

 

IMG-3265.jpg

IMG-3258.jpg

IMG-3263.jpg

IMG-3268.jpg

IMG-3269.jpg

IMG-3270.jpg

IMG-3271.jpg

IMG-3272.jpg

left_ring.zip

left ring diagram sodlering NEW VERSION.jpg


Edited by randomguylurking
Link to comment
Share on other sites

Final iteration/attempt.  All buttons are working and copied everything from @rafalg78 Left Ring code/files/LIBS.  I changed the wiring in this one and the arrangement of the buttons for wiring purposes.  Thinking about changing the code to repurpose the "Up" button mapped to "ESC" rather than "scroll up".  Will need to read up on Circuit Python later.  All these parts were from either Digikey.com or Amazon.  This is the Seeed NRF52480 w/ Sense, some random tactile 6mm buttons from Amazon, a basic power switch and a 40mah battery.  I used a 100mah battery on first attempt as that was the smallest one I could find to get here in a reasonable amount of time (not shipping from China).  This is the 2nd one I used that I bought from Amazon yesterday, and delivered it same day lol. It fits PERFECTLY in the ring models that are available.  I filled in most areas with epoxy to hold the board down and keep any solder joints or wires from getting knocked.  I'm very amatuer when it comes to soldering and the gun I was using was TERRIBLE.  I would have had much better results without a cheap chinese POS from Amazon.

https://www.amazon.com/dp/B07TWHGHW4?psc=1&ref=ppx_yo2ov_dt_b_product_details

Would love to hear thoughts and let me know if you have any questions as I spent 2 weeks of LOTS of trial and error.  This ring is printed in White PETG, the others were in PLA.  I'm having problems printing more with PETG and bed adhesion, but will try another customer version based on files from Rafalg.

 

IMG-3290.jpg

IMG-3291.jpg

IMG-3293.jpg

IMG-3294.jpg

IMG-3295.jpg


Edited by randomguylurking
Link to comment
Share on other sites

I have Leap Motion working for hand tracking in DCS using the Hand-Tracked Cockpit Clicking (HTCC) 3rd party app for a mouse pointer (GitHub - fredemmott/HTCC: Hand tracking for flight simulator cockpit clicking)

I have bought 2x bluetooth rings with the aim to act as a mouse clicker (rather than clicks mapped HOTAS)

https://www.aliexpress.com/item/1005005586453838.html?channel=twinner

The Bluetooth device pairs to the PC (running windows), recognised as keyboard device from it's symbol. However it is advertised to function with iOS, Android & HarmonyOS, not windows. At present the device inputs are not recognised, anyone know of a piece of software or idea as to how to get the inputs to be recognised, so I can remap them or use it. 

Using PowerToys to try to register the device input did not work. 

https://answers.microsoft.com/en-us/windows/forum/all/bluetooth-headset-button-remapping/364ae052-ba34-4bf6-9524-21e274ee5eef 

The rings together with shipping cost £15, so no biggy financially if I can't get it to work, but would very much like to get it working if possible. 

 

Not sure if @randomguylurking or @rafalg78 would have any insight on this - having made their own BT ring clickers from scratch. 

 

Screenshot 2023-06-04 184716.pngnull

Screenshot 2023-06-04 184800.png

image.png

Screenshot 2023-06-04 185449.png

Screenshot 2023-06-04 185507.png

Screenshot 2023-06-04 185547.png

image.jpeg


Edited by MK IX Hawk
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 6/4/2023 at 1:56 PM, MK IX Hawk said:

I have Leap Motion working for hand tracking in DCS using the Hand-Tracked Cockpit Clicking (HTCC) 3rd party app for a mouse pointer (GitHub - fredemmott/HTCC: Hand tracking for flight simulator cockpit clicking)

I have bought 2x bluetooth rings with the aim to act as a mouse clicker (rather than clicks mapped HOTAS)

https://www.aliexpress.com/item/1005005586453838.html?channel=twinner

The Bluetooth device pairs to the PC (running windows), recognised as keyboard device from it's symbol. However it is advertised to function with iOS, Android & HarmonyOS, not windows. At present the device inputs are not recognised, anyone know of a piece of software or idea as to how to get the inputs to be recognised, so I can remap them or use it. 

Using PowerToys to try to register the device input did not work. 

https://answers.microsoft.com/en-us/windows/forum/all/bluetooth-headset-button-remapping/364ae052-ba34-4bf6-9524-21e274ee5eef 

The rings together with shipping cost £15, so no biggy financially if I can't get it to work, but would very much like to get it working if possible. 

 

Not sure if @randomguylurking or @rafalg78 would have any insight on this - having made their own BT ring clickers from scratch. 

 

Screenshot 2023-06-04 184716.pngnull

Screenshot 2023-06-04 184800.png

image.png

Screenshot 2023-06-04 185449.png

Screenshot 2023-06-04 185507.png

Screenshot 2023-06-04 185547.png

image.jpeg

 

Those iOS ones that are cheap and advertised as "page turners" won't work.  I bought this and it works just fine, great actually.  It's just a little large and clunky for my taste.  It works out of the box and wasn't bad as long as you positioned it right on your finger and covered the mouse laser.  

I used this thing for a little while until I could figure out how to piece and MacGyver the Bluetooth ring together.

https://www.amazon.com/gp/product/B075CKYVDW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1


Edited by randomguylurking
Link to comment
Share on other sites

Thanks to @rafalg78 and the wonderful instructables page https://www.instructables.com/Ring-With-Mouse-Buttons-Wheel/  I built the ring mouse and it's working very nice with fingers and leap motion.

However, I have a question which I think it's not solved yet. How do you manage to use the fingers as mouse while using the VR headset which by default moves the mouse cursor? It seems quite difficult to change switches because you need to keep your head completely still.

My question is have you managed to decouple or disable the vr headset mouse movement?


Edited by tomeye
Link to comment
Share on other sites

@randomguylurking Thanks for the reply & link

 

If it needs to be a mouse, made for windows, rather being able to adapt a smart device page turner - Genius seems to have made various ring mouses over the years but unfortunately seems their no longer selling it - though I will email and confirm if this is the case.  

Genius | Touch Pen, Mouse, Keyboard, Headset, Speaker, Gaming, Video devices | product (genius-me.com)

null

image.png

  • Like 1
Link to comment
Share on other sites

Thanks to @rafalg78 and the wonderful instructables page https://www.instructables.com/Ring-With-Mouse-Buttons-Wheel/  I built the ring mouse and it's working very nice with fingers and leap motion.
However, I have a question which I think it's not solved yet. How do you manage to use the fingers as mouse while using the VR headset which by default moves the mouse cursor? It seems quite difficult to change switches because you need to keep your head completely still.
My question is have you managed to decouple or disable the vr headset mouse movement?
Options -> VR -> tick "use mouse"
Now the cursor is decoupled from your head
  • Thanks 1

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽  Valve Index 🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, Virpil Alpha Grip, Virpil CM3 Throttle + Control Panel 2, Winwing Orion (Skywalker) Pedals, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

@VirusAM I tested this before and after your recommendation, it seems to work better but I feel the head movement could be causing the feeling that it's hard to control with fingers and leap motion. Maybe it needs some kind of saturation setting like we do for hotas.

Link to comment
Share on other sites

  • 1 month later...

i use this... which is basically a mouse on your finger... the middle black portion is actually a track pad.. pressing it is left click, the notch on the right of it is right click.  While the notch on the left switches the trackpad to scroll wheel mode

 

http://genius-me.com/product/?i=ring-presenter

 

EDIT: no need for drivers. Its plug and play


Edited by Eagle_01

Intel Core i7 7700, 16GB DDR4 RAM, Intel 660P PCIe NVMe, Zotac 2070 Super Amp, Oculus Rift S

 

A-10C, FA-18C, F-14B, FC3, F-5E, F-86, AV8B, M-2000, Combined Arms, AJS37, F-16C, C-101, MiG-15Bis, MiG-19P, MiG-21Bis, L-39, P-51D, Spitfire LFMkIX, Bf-109, Fw-190 Dora, Fw-190 Anton, P-47D, I-16, SA342, Mi-8MTV2, UH-1H, Ka-50

Link to comment
Share on other sites

En 3/8/2023 a las 2:06, Eagle_01 dijo:

i use this... which is basically a mouse on your finger... the middle black portion is actually a track pad.. pressing it is left click, the notch on the right of it is right click.  While the notch on the left switches the trackpad to scroll wheel mode

 

http://genius-me.com/product/?i=ring-presenter

 

EDIT: no need for drivers. Its plug and play

 

This is a good solution, also this one(cheaper and easiest to find) 

Also I found at aliexpress the genius, but I think it is expensive. here can you see it 

https://es.aliexpress.com/item/32780224884.html?gatewayAdapt=glo2esp  

Intel i9 10850k - MSI Tomahawk 490z - 64 GB DDR4 3000 - HP Reverb G2 - MSI optix Mag321curv 4k monitor - MSI RTX 3080ti - Winwing Orion Throttle base plus F18 stick

Link to comment
Share on other sites

  • 2 months later...

I have posted v0.9.5 of Fingers - this adds a sensitivity slider to compensate for different headset FOVs causing the cursor to not always track 1:1 with the cockpits. By default it is set to 135, which is roughly equivalent to Pimax Small, though you probably want to set it lower to increase movement and to make the corners of the screen easier to each (particularly in the menus)

I will change the naming here in a future release because it's weird that decreasing the value increases the movement, but I wanted to get this out for now to solve some of the problems people have been having

  • Like 1
Link to comment
Share on other sites

On 10/30/2023 at 12:13 AM, frenzon said:

I have posted v0.9.5 of Fingers - this adds a sensitivity slider to compensate for different headset FOVs causing the cursor to not always track 1:1 with the cockpits. By default it is set to 135, which is roughly equivalent to Pimax Small, though you probably want to set it lower to increase movement and to make the corners of the screen easier to each (particularly in the menus)

I will change the naming here in a future release because it's weird that decreasing the value increases the movement, but I wanted to get this out for now to solve some of the problems people have been having

Funny! I have just come back to DCS after some time away and was having this exact issue.  @frenzon your timing could not be better!

Link to comment
Share on other sites

  • 2 months later...

Since yesterday I have been using an alternative to the Fingers application. In my case, it works more stably and precisely. There is still the problem that head movement also causes the mouse cursor to move, but this is less annoying.

I am using HTTC

According to author instruction I did:

1. Leap Motion drivers: Gemini v5.16.0 (October 2023) or later installed

2. You must use the multithreaded version of DCS, and remove the LeapC.dll from both the bin and bin-mt folders inside your DCS installation. Alternatively, rename them.

My settings are:

image.png

There is no need to keep the application open when DCS is running.

Link to comment
Share on other sites

4 hours ago, tomeye said:

I tried that but when I changed the scale of the hands following the instructions I could not see the cursor.

I think our bigger problem is the head movement. 

Look on my settings, I think you have to set "Virtual touch screen or tablet" in "Prefered game interface". Then from definition you will not see your hands. In that setting hands movement is transfer to the mouse. Behavior is the same as with Fingers but in my case more stable, better responsive. 

And yes, head movement together with mouse is the biggest issue. But despite this, I can't imagine stopping using "Rings". It gives incredible immersion in the game and works the most sensibly of anything I've tried.

Link to comment
Share on other sites

12 hours ago, rafalg78 said:

Look on my settings, I think you have to set "Virtual touch screen or tablet" in "Prefered game interface". Then from definition you will not see your hands. In that setting hands movement is transfer to the mouse. Behavior is the same as with Fingers but in my case more stable, better responsive. 

And yes, head movement together with mouse is the biggest issue. But despite this, I can't imagine stopping using "Rings". It gives incredible immersion in the game and works the most sensibly of anything I've tried.

Did you modify the scale inside the files CoreMods\characters\models\glove_L.chanimgpu and glove_R.chanimgpu as per https://htcc.fredemmott.com/games/dcs-world/README.html ?

Link to comment
Share on other sites

2 hours ago, tomeye said:

Did you modify the scale inside the files CoreMods\characters\models\glove_L.chanimgpu and glove_R.chanimgpu as per https://htcc.fredemmott.com/games/dcs-world/README.html ?

If using controller emulation

That change is unneeded and has no effect when using touch screen/tablet emulation. If it has an effect with HTCC, you're using oculus touch controller emulation, which will not work correctly with this ring; it would need new firmware, and some changes to HTCC. I'm interested, but hoping to find a supplier for the batteries that can deliver to the US faster than March 😛


Edited by actually_fred

My projects:

OpenKneeboard - VR and non-VR kneeboard with optional support for drawing tablets; get help
HTCC - Quest hand tracking for DCS; get help

If you need help with these projects, please use their 'get help' links above; I'm not able to track support requests on these forums.

 

Link to comment
Share on other sites

@actually_fred good to have you here 😀

Next time I revise the Ring I would use a larger battery. I saw 90mAh (20x12x6mm) on Aliexpress, it would be perfect.

If necessary, I can provide adjusted a new 3D model of the Ring for printing.

Link to comment
Share on other sites

A quick repair will bring it back if needed.

Check that Leap Motion support is disabled in DCS if you want to use leap motion via openxr instead.

My projects:

OpenKneeboard - VR and non-VR kneeboard with optional support for drawing tablets; get help
HTCC - Quest hand tracking for DCS; get help

If you need help with these projects, please use their 'get help' links above; I'm not able to track support requests on these forums.

 

Link to comment
Share on other sites

2 minutes ago, actually_fred said:

A quick repair will bring it back if needed.

Check that Leap Motion support is disabled in DCS if you want to use leap motion via openxr instead.

Ah yes that would be in DCS, thanks!

Link to comment
Share on other sites

4 minutes ago, tomeye said:

When I remove LeapC.dll from bin directories DCS starts in 2d. I remember having this problem before but do not remember the solution. Any hints?

Check also "OpenXR tools for Windows Mixed Reality", tab "Mixed Reality".

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...