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
  • gestures: Array

    • types: swipe, circle (possibly also: key tap and screen tap)
    • swipe
      • direction: String
        • up|down|left|right|forward|backward
    • circle
      • direction: String
        • up|down|left|right|forward|backward
      • progress: Float
        • number of rounds for the circle gestures

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