-
Notifications
You must be signed in to change notification settings - Fork 21
FakeSpace Pinch Gloves, 5DT Data Glove
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
!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.