Class: Artoo::Adaptors::Joystick

Inherits:
Adaptor
  • Object
show all
Defined in:
lib/artoo/adaptors/joystick.rb

Overview

Connect to a joystick device

See Also:

  • documentation for more information

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#joystickObject (readonly)

Returns the value of attribute joystick.



8
9
10
# File 'lib/artoo/adaptors/joystick.rb', line 8

def joystick
  @joystick
end

Instance Method Details

#axis(n) ⇒ Object



55
56
57
# File 'lib/artoo/adaptors/joystick.rb', line 55

def axis(n)
  ::SDL.JoystickGetAxis(joystick, n)
end

#ball(n) ⇒ Object



63
64
65
# File 'lib/artoo/adaptors/joystick.rb', line 63

def ball(n)
  ::SDL.JoystickGetBall(joystick, n)
end

#button(n) ⇒ Object



79
80
81
# File 'lib/artoo/adaptors/joystick.rb', line 79

def button(n)
  ::SDL.JoystickGetButton(joystick, n)
end

#connectBoolean

Creates a connection with device

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
# File 'lib/artoo/adaptors/joystick.rb', line 12

def connect
  require 'ruby-sdl-ffi' unless defined?(::SDL)

  ::SDL.Init( ::SDL::INIT_JOYSTICK )

  raise "No SDL joystick available" if num_joysticks == 0

  @joystick = ::SDL.JoystickOpen(0) # TODO: allow user to choose which joystick

  super
end

#disconnectBoolean

Closes connection with device

Returns:

  • (Boolean)


26
27
28
29
# File 'lib/artoo/adaptors/joystick.rb', line 26

def disconnect
  ::SDL.JoystickClose(joystick)
  super
end

#firmware_nameString

Name of device

Returns:

  • (String)


33
34
35
# File 'lib/artoo/adaptors/joystick.rb', line 33

def firmware_name
  ::SDL.JoystickName(0)
end

#hat(n) ⇒ Object



71
72
73
# File 'lib/artoo/adaptors/joystick.rb', line 71

def hat(n)
  ::SDL.JoystickGetHat(joystick, n)
end

#num_axesObject



51
52
53
# File 'lib/artoo/adaptors/joystick.rb', line 51

def num_axes
  ::SDL.JoystickNumAxes(joystick)
end

#num_ballsObject



59
60
61
# File 'lib/artoo/adaptors/joystick.rb', line 59

def num_balls
  ::SDL.JoystickNumBalls(joystick)
end

#num_buttonsObject



75
76
77
# File 'lib/artoo/adaptors/joystick.rb', line 75

def num_buttons
  ::SDL.JoystickNumButtons(joystick)
end

#num_hatsObject



67
68
69
# File 'lib/artoo/adaptors/joystick.rb', line 67

def num_hats
  ::SDL.JoystickNumHats(joystick)
end

#num_joysticksObject



47
48
49
# File 'lib/artoo/adaptors/joystick.rb', line 47

def num_joysticks
  ::SDL.NumJoysticks
end

#pollObject



43
44
45
# File 'lib/artoo/adaptors/joystick.rb', line 43

def poll
  ::SDL.JoystickUpdate
end

#versionString

Version of device

Returns:

  • (String)


39
40
41
# File 'lib/artoo/adaptors/joystick.rb', line 39

def version
  Artoo::Joystick::VERSION
end