class Artoo::Drivers::Xbox360

The Xbox360 controller driver behaviors

Public Instance Methods

axis_map() click to toggle source
# File lib/artoo/drivers/xbox360.rb, line 55
def axis_map
  BINDING_MAP[:xbox360][:axis_map]
end
button_map() click to toggle source
# File lib/artoo/drivers/xbox360.rb, line 51
def button_map
  BINDING_MAP[:xbox360][:button_map]
end
currently_pressed?(b) click to toggle source
# File lib/artoo/drivers/xbox360.rb, line 8
def currently_pressed?(b)
  if button_map.has_value?(b)
    button_values[button_map.key(b)]
  else
    super b
  end
end
handle_joystick() click to toggle source
# File lib/artoo/drivers/xbox360.rb, line 16
def handle_joystick
  x0 = connection.axis(axis_map[:j0_x])
  y0 = connection.axis(axis_map[:j0_y])
  publish_joystick(0, x0, y0)

  x1 = connection.axis(axis_map[:j1_x])
  y1 = connection.axis(axis_map[:j1_y])
  publish_joystick(1, x1, y1)

  handle_trigger
end
handle_trigger() click to toggle source
# File lib/artoo/drivers/xbox360.rb, line 28
def handle_trigger
  unless axis_map[:lt].nil?
    publish_trigger(:lt, connection.axis(axis_map[:lt]))
  end

  unless axis_map[:rt].nil?
    publish_trigger(:rt, connection.axis(axis_map[:rt]))
  end
end
publish_button(b) click to toggle source
Calls superclass method Artoo::Drivers::Joystick#publish_button
# File lib/artoo/drivers/xbox360.rb, line 42
def publish_button(b)
  if button_values[b] == 1
    publish(event_topic_name("button_#{button_map[b]}"))
  else
    publish(event_topic_name("button_up_#{button_map[b]}"))
  end
  super
end
publish_trigger(t, v) click to toggle source
# File lib/artoo/drivers/xbox360.rb, line 38
def publish_trigger(t, v)
  publish(event_topic_name("trigger_#{t}"), v)
end