simple_wiimote 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/simple_wiimote.rb +38 -28
  2. metadata +2 -2
@@ -21,21 +21,22 @@ class SimpleWiimote
21
21
  @wiimote.active = false
22
22
 
23
23
  @events = {
24
- '2' => -> {puts 'you pressed 2'},
25
- '1' => -> {puts 'you pressed 1'},
26
- 'b' => -> {puts 'you pressed b'},
27
- 'a' => -> {puts 'you pressed a'},
28
- 'minus' => -> {puts 'you pressed minus'},
24
+ '2' => lambda {|wm| puts 'you pressed 2'},
25
+ '1' => lambda {|wm| puts 'you pressed 1'},
26
+ 'b' => lambda {|wm| puts 'you pressed b'},
27
+ 'a' => lambda {|wm| puts 'you pressed a'},
28
+ 'minus' => lambda {|wm| puts 'you pressed minus'},
29
29
  'void1' => nil,
30
30
  'void2' => nil,
31
- 'home' => -> {puts 'you pressed home'},
32
- 'left' => -> {puts 'you pressed left'},
33
- 'right' => -> {puts 'you pressed right'},
34
- 'down' => -> {puts 'you pressed down'},
35
- 'up' => -> {puts 'you pressed up'},
31
+ 'home' => lambda {|wm| puts 'you pressed home'},
32
+ 'left' => lambda {|wm| puts 'you pressed left'},
33
+ 'right' => lambda {|wm| puts 'you pressed right'},
34
+ 'down' => lambda {|wm| puts 'you pressed down'},
35
+ 'up' => lambda {|wm| puts 'you pressed up'},
36
36
  'plus' => {
37
- on_buttondown: -> {puts 'you pressed plus'},
38
- on_buttonup: -> {puts 'plus button raised'}
37
+ on_buttonpress: lambda {|wm| puts 'you pressed plus'},
38
+ on_buttondown: lambda {|wm| puts wm.acc.inspect},
39
+ on_buttonup: lambda {|wm| puts 'plus button raised'}
39
40
  }
40
41
  }
41
42
 
@@ -46,6 +47,21 @@ class SimpleWiimote
46
47
 
47
48
  previously_pressed, pressed = [], []
48
49
 
50
+ procs_press = {
51
+ Hash: proc {|x, wiimote| x[:on_buttonpress].call(wiimote)},
52
+ Proc: proc {|x, wiimote| x.call(wiimote)}
53
+ }
54
+
55
+ procs_down = {
56
+ Hash: lambda {|x, wiimote| x[:on_buttondown].call(wiimote)},
57
+ Proc: proc { }
58
+ }
59
+
60
+ procs_up = {
61
+ Hash: proc {|x, wiimote| x[:on_buttonup].call(wiimote)},
62
+ Proc: proc { }
63
+ }
64
+
49
65
  begin
50
66
 
51
67
  @wiimote.get_state
@@ -71,27 +87,21 @@ class SimpleWiimote
71
87
  new_keypresses = pressed - previously_pressed
72
88
  expired_keypresses = previously_pressed - pressed
73
89
 
74
- previously_pressed = pressed
75
- pressed = []
76
-
77
- procs1 = {
78
- Hash: lambda {|x| x[:on_buttondown].call},
79
- Proc: lambda {|x| x.call}
80
- }
81
-
82
- procs2 = {
83
- Hash: lambda {|x| x[:on_buttonup].call},
84
- Proc: lambda {|x| }
85
- }
90
+ previously_pressed = pressed
86
91
 
87
92
  new_keypresses.each do |x|
88
- procs1[@events[x].class.to_s.to_sym].call(@events[x])
93
+ procs_press[@events[x].class.to_s.to_sym].call(@events[x], @wiimote)
89
94
  end
90
95
 
96
+ pressed.each do |x|
97
+ procs_down[@events[x].class.to_s.to_sym].call(@events[x], @wiimote)
98
+ end
99
+
91
100
  expired_keypresses.each do |x|
92
- procs2[@events[x].class.to_s.to_sym].call(@events[x])
101
+ procs_up[@events[x].class.to_s.to_sym].call(@events[x], @wiimote)
93
102
  end
94
-
103
+
104
+ pressed = []
95
105
  else
96
106
 
97
107
  if previously_pressed.length > 0 then
@@ -99,7 +109,7 @@ class SimpleWiimote
99
109
  expired_keypresses = previously_pressed
100
110
 
101
111
  expired_keypresses.each do |x|
102
- procs2[@events[x].class.to_s.to_sym].call(@events[x])
112
+ procs_up[@events[x].class.to_s.to_sym].call(@events[x], @wiimote)
103
113
  end
104
114
 
105
115
  previously_pressed, expired_keypressed, pressed = [], [], []
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: simple_wiimote
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.0
5
+ version: 0.2.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - James Robertson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-12-19 00:00:00 Z
13
+ date: 2012-12-20 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cwiid