summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/ruby2d/window.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/ruby2d/window.rb b/lib/ruby2d/window.rb
index 3f5dd1a..1f05bae 100644
--- a/lib/ruby2d/window.rb
+++ b/lib/ruby2d/window.rb
@@ -118,6 +118,27 @@ module Ruby2D
end
end
+ def controller_callback(is_axis, axis, val, is_btn, btn)
+
+ # puts "is_axis: #{is_axis}, axis: #{axis}, val: #{val}, is_btn: #{is_btn}, btn: #{btn}"
+
+ if is_axis
+ if axis == 0 && val == -32768
+ event = 'left'
+ elsif axis == 0 && val == 32767
+ event = 'right'
+ elsif axis == 1 && val == -32768
+ event = 'up'
+ elsif axis == 1 && val == 32767
+ event = 'down'
+ end
+ elsif is_btn
+ event = btn
+ end
+
+ if @controller.has_key? event
+ @controller[event].call
+ end
end
def update_callback