Class: ShatteredController::KeyConverter
- Inherits:
-
Object
- Object
- ShatteredController::KeyConverter
- Defined in:
- lib/keyboard_input/key_converter.rb
Overview
It allows us to query the status of each device every frame.
Class Method Summary collapse
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize(ogre_input) ⇒ KeyConverter
constructor
:nodoc:.
- #key_event?(type, key_symbol) ⇒ Boolean
Constructor Details
#initialize(ogre_input) ⇒ KeyConverter
:nodoc:
6 7 8 |
# File 'lib/keyboard_input/key_converter.rb', line 6 def initialize( ogre_input ) @ogre_input = ogre_input end |
Class Method Details
.back_conversions ⇒ Object
16 17 18 |
# File 'lib/keyboard_input/key_converter.rb', line 16 def self.back_conversions @@back_conversions ||= conversions.invert end |
.conversions ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/keyboard_input/key_converter.rb', line 19 def self.conversions begin return @@conversions rescue NameError end @@conversions = {} ShatteredOgre.constants.each do |constant| kc_evaled = eval("ShatteredOgre::#{constant}") @@conversions[kc_evaled] = symbolize(constant[3..-1].downcase) if constant.to_s =~ /^KC_/ end return @@conversions end |
.convert(kc_character) ⇒ Object
31 32 33 34 |
# File 'lib/keyboard_input/key_converter.rb', line 31 def self.convert( kc_character ) return self.conversions[kc_character] if kc_character.is_a? Fixnum return self.back_conversions[kc_character] end |
Instance Method Details
#flush ⇒ Object
12 13 14 |
# File 'lib/keyboard_input/key_converter.rb', line 12 def flush @ogre_input.flush end |
#key_event?(type, key_symbol) ⇒ Boolean
9 10 11 |
# File 'lib/keyboard_input/key_converter.rb', line 9 def key_event?( type, key_symbol ) return @ogre_input.send(:"isKey#{type.to_s.capitalize}", self.class.convert(key_symbol)) end |