Class: ShatteredController::KeyConverter

Inherits:
Object
  • Object
show all
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

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_conversionsObject



16
17
18
# File 'lib/keyboard_input/key_converter.rb', line 16

def self.back_conversions
  @@back_conversions ||= conversions.invert
end

.conversionsObject



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

#flushObject



12
13
14
# File 'lib/keyboard_input/key_converter.rb', line 12

def flush
  @ogre_input.flush
end

#key_event?(type, key_symbol) ⇒ Boolean

Returns:

  • (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