lib/touchberrypi/Keyboard.rb in touchberrypi-0.1.1 vs lib/touchberrypi/Keyboard.rb in touchberrypi-0.1.2
- old
+ new
@@ -1,55 +1,55 @@
-require 'pi_piper'
-require 'qt1070'
-
-
-module Touchberrypi
- class Keyboard
-
- include PiPiper
- include Qt1070
-
- KEY_MAP = ["LEFT","RIGHT","UP","DOWN","B","A","X"]
-
- def initialize
- sensor = Qt1070.new "/dev/i2c-1"
-
- # read sensor status to reset 'change' pin
- sensor.detection_status
- @previous_status = sensor.key_status
-
- this = self
-
- watch :pin => 4, :pull => :up, :trigger => :falling do
- detection = sensor.detection_status
- status = sensor.key_status
-
- this.call_block status
- end
- end
-
- def on_key_change &block
- @on_key_change_block = block
- end
-
- def on_key_up &block
- @on_key_up_block = block
- end
-
- def on_key_down &block
- @on_key_down_block = block
- end
-
- def call_block status
- status.length.times do |i|
- if status[i] != @previous_status[i]
- key = KEY_MAP[i]
- @on_key_up_block.call key if status[i] == "released" unless @on_key_up_block.nil?
- @on_key_down_block.call key if status[i] == "pressed" unless @on_key_down_block.nil?
- @on_key_change_block.call key, status[i] unless @on_key_change_block.nil?
- end
- end
- @previous_status = status
- end
-
- end
-end
+require 'pi_piper'
+require 'qt1070'
+
+
+module Touchberrypi
+ class Keyboard
+
+ include PiPiper
+ include Qt1070
+
+ KEY_MAP = ["LEFT","RIGHT","UP","DOWN","B","A","X"]
+
+ def initialize i2c
+ sensor = Qt1070.new i2c
+
+ # read sensor status to reset 'change' pin
+ sensor.detection_status
+ @previous_status = sensor.key_status
+
+ this = self
+
+ watch :pin => 4, :pull => :up, :trigger => :falling do
+ detection = sensor.detection_status
+ status = sensor.key_status
+
+ this.call_block status
+ end
+ end
+
+ def on_key_change &block
+ @on_key_change_block = block
+ end
+
+ def on_key_up &block
+ @on_key_up_block = block
+ end
+
+ def on_key_down &block
+ @on_key_down_block = block
+ end
+
+ def call_block status
+ status.length.times do |i|
+ if status[i] != @previous_status[i]
+ key = KEY_MAP[i]
+ @on_key_up_block.call key if status[i] == "released" unless @on_key_up_block.nil?
+ @on_key_down_block.call key if status[i] == "pressed" unless @on_key_down_block.nil?
+ @on_key_change_block.call key, status[i] unless @on_key_change_block.nil?
+ end
+ end
+ @previous_status = status
+ end
+
+ end
+end