simple_wiimote 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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