Module: Ruby2D::Window::KeyEvents

Included in:
Ruby2D::Window
Defined in:
lib/ruby2d/window/key_events.rb

Overview

Keyboard input event handling

Instance Method Summary collapse

Instance Method Details

#key_callback(type, key) ⇒ Object

Key callback method. key arrives already normalized (lowercased): from dispatch_events via the cached scancode-name table, or from a direct caller passing a lowercase key name.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/ruby2d/window/key_events.rb', line 25

def key_callback(type, key)
  # All key events
  fire_event_handlers(:key) { KeyEvent.new(type, key) }

  case type
  # When key is pressed, fired once
  when :down
    handle_key_down type, key
  # When key is being held down, fired every frame
  when :held
    handle_key_held type, key
  # When key released, fired once
  when :up
    handle_key_up type, key
  end
end

#key_held?(key) ⇒ Boolean

Key held event method for class pattern

Returns:

  • (Boolean)


13
14
15
# File 'lib/ruby2d/window/key_events.rb', line 13

def key_held?(key)
  @keys_held.include? key
end

#key_pressed?(key) ⇒ Boolean

Key down event method for class pattern

Returns:

  • (Boolean)


8
9
10
# File 'lib/ruby2d/window/key_events.rb', line 8

def key_pressed?(key)
  @keys_down.include? key
end

#key_released?(key) ⇒ Boolean

Key up event method for class pattern

Returns:

  • (Boolean)


18
19
20
# File 'lib/ruby2d/window/key_events.rb', line 18

def key_released?(key)
  @keys_up.include? key
end