Class: Ev3dev::Button
- Inherits:
-
Object
- Object
- Ev3dev::Button
- Defined in:
- lib/ev3dev/button.rb
Constant Summary collapse
- KEY_UP =
www.ev3dev.org/docs/tutorials/using-ev3-buttons/ from linux/input.h
103- KEY_DOWN =
108- KEY_LEFT =
105- KEY_RIGHT =
106- KEY_ENTER =
28- KEY_BACK =
14- KEY_MAX =
0x2ff- BUF_LEN =
end of stuff from linux/input.h
(KEY_MAX + 7) / 8
- PATH =
"/dev/input/by-path/platform-gpio-keys.0-event"
Instance Method Summary collapse
- #back? ⇒ Boolean
- #down? ⇒ Boolean
- #enter? ⇒ Boolean
- #EVIOCGKEY(length) ⇒ Object
-
#initialize ⇒ Button
constructor
A new instance of Button.
- #left? ⇒ Boolean
- #pressed ⇒ Object
- #right? ⇒ Boolean
- #up? ⇒ Boolean
Constructor Details
#initialize ⇒ Button
Returns a new instance of Button.
22 23 24 25 |
# File 'lib/ev3dev/button.rb', line 22 def initialize raise "couldn't find LED attributes" unless File.exist?(PATH) = {up: KEY_UP, down: KEY_DOWN, left: KEY_LEFT, right: KEY_RIGHT, enter: KEY_ENTER, back: KEY_BACK} end |
Instance Method Details
#back? ⇒ Boolean
52 53 54 55 |
# File 'lib/ev3dev/button.rb', line 52 def back? buf = get_key_buf key_pressed?(KEY_BACK, buf) end |
#down? ⇒ Boolean
32 33 34 35 |
# File 'lib/ev3dev/button.rb', line 32 def down? buf = get_key_buf key_pressed?(KEY_DOWN, buf) end |
#enter? ⇒ Boolean
47 48 49 50 |
# File 'lib/ev3dev/button.rb', line 47 def enter? buf = get_key_buf key_pressed?(KEY_ENTER, buf) end |
#EVIOCGKEY(length) ⇒ Object
14 15 16 |
# File 'lib/ev3dev/button.rb', line 14 def EVIOCGKEY(length) 2 << (14+8+8) | length << (8+8) | 'E'.ord << 8 | 0x18 end |
#left? ⇒ Boolean
37 38 39 40 |
# File 'lib/ev3dev/button.rb', line 37 def left? buf = get_key_buf key_pressed?(KEY_LEFT, buf) end |
#pressed ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/ev3dev/button.rb', line 57 def pressed =[] buf = get_key_buf .each do |, key_code| << .to_s if key_pressed?(key_code, buf) end end |
#right? ⇒ Boolean
42 43 44 45 |
# File 'lib/ev3dev/button.rb', line 42 def right? buf = get_key_buf key_pressed?(KEY_RIGHT, buf) end |
#up? ⇒ Boolean
27 28 29 30 |
# File 'lib/ev3dev/button.rb', line 27 def up? buf = get_key_buf key_pressed?(KEY_UP, buf) end |