diff options
| -rw-r--r-- | lib/ruby2d/window.rb | 21 |
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 |
