From 52093132397367b43f93b97fdb7dea34f15459cf Mon Sep 17 00:00:00 2001 From: Tom Black Date: Sat, 26 Dec 2015 00:02:01 -0600 Subject: Add basic controller callback --- lib/ruby2d/window.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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 -- cgit v1.2.3