Skip to content

FakeSpace Pinch Gloves, 5DT Data Glove

Ravbug edited this page Jan 18, 2019 · 1 revision

FakeSpace Pinch Gloves

FakeSpace pinch gloves have two gloves with electrical contacts on each finger. So you can tell which gesture the user is doing by which fingers are touching each other.

They must be plugged into a serial, aka COM, aka RS232 port.

There is probably a switch on your pinch gloves control box that says which baud rate you want. If it is not set to 9600 then you need to add a line in your script like this:

Pinch.Baud115200 = true

Here is a list of supported baud rates: 1200, 2400, 4800, 9600, 14400, 19200, 38400, 56000, 57600, 76800, 115200, 128000, 153600, 256000

You can then read any of the possible combinations of fingers to see if those two fingers are touching:

Eg. Key.Enter = Pinch.RightThumbRightIndex

You can use any combination of the following fingers: LeftThumb, LeftIndex, LeftMiddle, LeftRing, LeftPinky, RightThumb, RightIndex, RightMiddle, RightRing, RightPinky

If you want to use a combination of 3 fingers touching you must do it like this:

Key.Enter = Pinch.RightThumbRightIndex and Pinch.RightThumbRightMiddle

There have been reports that GlovePIE has the right and left hands backwards. I don’t know because I can’t test it. Can someone check and let me know?

If you have multiple sets of pinch gloves, or it is plugged into a strange COM port, you can specify a COM port like this:

Key.Enter = Pinch.Com1.RightThumbRightIndex

5DT Data Glove

!NOT SUPPORTED IN GLOVEPIE 0.45 Free!

NEW! Because this dll caused problems for Emotiv’s edk.dll, you need to run Glovepie_bird_5dt.exe if you downloaded the Emotiv version of GlovePIE.

The 5DT Data Glove is a cheaper, but not consumer-priced VR glove. It is more expensive than the Essential Reality P5 Glove, but in many ways it has less features. It has no tracker, and no buttons.

I don’t have a 5DT Data Glove, so this is untested.

You can detect whether the FiveDT glove exists with: FiveDT.Exists

The DG5 model has just the five fingers. You can read their raw values like this:

FiveDT.AbsoluteThumb
FiveDT.AbsoluteIndex
FiveDT.AbsoluteMiddle
FiveDT.AbsoluteRing
FiveDT.AbsolutePinky

Or you can read their calibrated values like this:

FiveDT.Thumb, FiveDT.Index, FiveDT.Middle, FiveDT.Ring, and FiveDT.Pinky

To tell if it is a left-handed glove, you can read FiveDT.LeftHand, which is true or false.

You can tell which type of glove it is with FiveDT.Type, or FiveDT.TypeName.

The DG14 model has near (proximal) and far (medial) sensors for each finger. Although for the thumb it measures the medial and distal joints. The distal joints are the finger tips, which are only measured for the thumb.

FiveDT.AbsoluteThumbMedial
FiveDT.AbsoluteIndexProximal
FiveDT.AbsoluteMiddleProximal
FiveDT.AbsoluteRingProximal
FiveDT.AbsolutePinkyProximal
FiveDT.AbsoluteThumbDistal
FiveDT.AbsoluteIndexMedial
FiveDT.AbsoluteMiddleMedial
FiveDT.AbsoluteRingMedial
FiveDT.AbsolutePinkyMedial

You can read the calibrated values like this:

FiveDT.ThumbNear
FiveDT.ThumbFar
FiveDT.IndexNear
FiveDT.IndexFar
FiveDT.MiddleNear
FiveDT.MiddleFar
FiveDT.RingNear
FiveDT.RingFar
FiveDT.PinkyNear
FiveDT.PinkyFar

On the DG14, you can also read the gaps between the fingers:

FiveDT.AbsoluteGapThumbIndex
FiveDT.AbsoluteGapIndexMiddle
FiveDT.AbsoluteGapMiddleRing
FiveDT.AbsoluteGapRingPinky
FiveDT.AbsoluteGapThumbPalm
FiveDT.GapThumbIndex
FiveDT.GapIndexMiddle
FiveDT.GapMiddleRing
FiveDT.GapRingPinky
FiveDT.GapThumbPalm

There is also a wrist bend sensor:

FiveDT.AbsoluteWristBend
FiveDT.WristBend

Some gloves also have a rotation sensor:

FiveDT.RawPitch
FiveDT.RawRoll
FiveDT.ScaledPitch
FiveDT.ScaledRoll

You can read a number to identify a gesture like this:

FiveDT.Gesture

You can also recognise gestures the GlovePIE way, by using a 5-letter code representing the 5 fingers: thumb, index, middle, ring, pinky

Eg. FiveDT.xlnnn

The letters can be: x: don’t care n: fully bent r: partly bent l: straight

The gesture will be either true or false.

You can set FiveDT.minn and FiveDT.maxl (maxL) to specify the ranges that correspond to l and n.

If you want to calibrate the glove from GlovePIE, you can start calibration by setting FiveDT.calibrating = true

And you can stop calibration by setting FiveDT.calibrating = false

There is also a FiveDT.NewData value, but I don’t remember what it does.

Clone this wiki locally