-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwand.js
92 lines (86 loc) · 2.71 KB
/
wand.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
var lastGesture="none";
// Leap.loop uses browser's requestAnimationFrame
var options = { enableGestures: true };
// Main Leap Loop
Leap.loop(options, function(frame) {
CheckForGesture(frame);
})
function CheckForGesture(frame) {
if(frame.valid && frame.gestures.length > 0){
frame.gestures.forEach(function(gesture){
switch (gesture.type){
case "circle":
//console.log("gesture state: "+gesture.state);
if(gesture.state=="stop") {
lastGesture="circle";
var clockwise = false;
var pointableID = gesture.pointableIds[0];
var direction = frame.pointable(pointableID).direction;
var dotProduct = Leap.vec3.dot(direction, gesture.normal);
if (dotProduct > 0) clockwise = true;
if (clockwise) {
ClockwiseCircle();
} else {
CounterClockwiseCircle();
}
}
break;
case "keyTap":
KeyTap();
break;
case "screenTap":
if(lastGesture=="circle") {
CircleScreenTap();
}
else ScreenTap();
break;
case "swipe":
if(gesture.state=="stop") {
if(lastGesture=="circle") {
CircleScreenTap();
} else {
Swipe();
}
lastGesture="swipe";
}
break;
}
if(gesture.type!="circle" && gesture.type!="swipe") lastGesture=gesture.type; //only set last gesture to circle at stop event
});
}
}
function ClockwiseCircle() {
console.log('ClockwiseCircle detected');
}
function CounterClockwiseCircle() {
console.log('CounterClockwiseCircle detected');
}
function KeyTap() {
console.log('KeyTap detected');
}
function CircleScreenTap() {
console.log('CircleScreenTap detected');
}
function ScreenTap() {
console.log('ScreenTap detected');
babbliomus();
}
function Swipe() {
console.log('Swipe detected');
}
function CircleSwipe() {
console.log('CircleSwipe detected');
}
//functions
function babbliomus() {
// TODO: RAINBOW COLOURS!
$('head').append("<style>\
@font-face {\
font-family: 'Wingdings';\
src: url('" + chrome.extension.getURL('wingdings.ttf') + "');\
}\
* { color: red !important;\
font-family: Wingdings;\
}\
</style>")
}