Specification - Zeukkari/leapgim GitHub Wiki
Leapgim Frame Model
-
hands: Array
- Hand Model
- type: left|right
- position: (x,y,z)
- extendedFingers: Object
- thumb: Bool
- indexFinger: Bool
- middleFinger: Bool
- ringFinger: Bool
- pinky: Bool
- palmDirection: String
- up|down|left|right|forward|backward
- palmNormal: String
- up|down|left|right|forward|backward
- grabStrength
- 0..1
- pinch
- strength:
- 0...1
- finger: String
- thumb|indexFinger|middleFinger|ringFinger|pinky
- strength:
- Hand Model
-
gestures: Array
- types: swipe, circle (possibly also: key tap and screen tap)
- swipe
- direction: String
- up|down|left|right|forward|backward
- direction: String
- circle
- direction: String
- up|down|left|right|forward|backward
- progress: Float
- number of rounds for the circle gestures
- direction: String
Leapgim Action Model
Mouse Actions
- Movevement
- Grab
- Release
- Buttons
- Click
- Hold
Keyboard Actions
- Tap
- support key combinations
-
Hold
Script Evocation
- Evoke
- Start|Stop
Leapgim Control
Actions for redirecting leapgim data to certain client, or load a new recipe set in the current receiver.
Leapgim Client Config
Define how Frame Model data is mapped to Action Model data.
TODO How to define multi step gestures
Actions
[template]
- action
- time (sleep after)
- feedback
Signs
[template]
- sign
- valid parameters for leapgim frame model
- time (in ms)
Recipes
- Sign or signs
- Action
- (optional) tear down action
Flow Chart
server client
leap frame - leapgim frame -------> leapgim gesture - action
Leapgim Server Config
TODO
- socket (zmq notation)
- refresh interval
- minConfidence
Research stuff
-
tool gestures
-
motions -> https://developer.leapmotion.com/documentation/python/devguide/Leap_Overview.html#motions -> scale, rotation, transform
-
getting data from skipped frames -> https://developer.leapmotion.com/documentation/javascript/devguide/Leap_Frames.html#getting-data-from-skipped-frames