module RbSDL2::Keyboard
Public Class Methods
any_key?(= each.any?)
click to toggle source
いずれかのキーが押されている場合に true を戻す。つまり *any key* が押されたということ。
# File lib/rb_sdl2/keyboard.rb, line 26 def any_key? = each.any? # 引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 # 押されていない場合は nil を戻す。 # 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 # キー名は SDL が定義したものである。 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state) end end
key?(name)
click to toggle source
引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 押されていない場合は nil を戻す。 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 キー名は SDL
が定義したものである。
# File lib/rb_sdl2/keyboard.rb, line 32 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state) end end end
keycode_to_name(keycode)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 4 def keycode_to_name(keycode) = ::SDL2.SDL_GetKeyName(keycode).read_string # 対応するコードが存在しない場合 0 を戻す。戻り値 は nonzero? メソッドをチェーンすることができる。 # これは KeyboardState#[] での利用を考慮して設計した。 def keycode_to_scancode(keycode) = ::SDL2.SDL_GetScancodeFromKey(keycode) def name_to_keycode(name) = ::SDL2.SDL_GetKeyFromName(name) def name_to_scancode(name) = ::SDL2.SDL_GetScancodeFromName(name) def scancode_to_keycode(scancode) = ::SDL2.SDL_GetKeyFromScancode(scancode) def scancode_to_name(scancode) = ::SDL2.SDL_GetScancodeName(scancode).read_string end require 'forwardable' extend SingleForwardable require_relative 'keyboard/keyboard_state' def_single_delegators 'KeyboardState.instance', *%i([] each to_str) class << self # いずれかのキーが押されている場合に true を戻す。つまり *any key* が押されたということ。 def any_key? = each.any? # 引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 # 押されていない場合は nil を戻す。 # 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 # キー名は SDL が定義したものである。 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::
keycode_to_scancode(keycode)
click to toggle source
対応するコードが存在しない場合 0 を戻す。戻り値 は nonzero? メソッドをチェーンすることができる。 これは KeyboardState#[]
での利用を考慮して設計した。
# File lib/rb_sdl2/keyboard.rb, line 8 def keycode_to_scancode(keycode) = ::SDL2.SDL_GetScancodeFromKey(keycode) def name_to_keycode(name) = ::SDL2.SDL_GetKeyFromName(name) def name_to_scancode(name) = ::SDL2.SDL_GetScancodeFromName(name) def scancode_to_keycode(scancode) = ::SDL2.SDL_GetKeyFromScancode(scancode) def scancode_to_name(scancode) = ::SDL2.SDL_GetScancodeName(scancode).read_string end require 'forwardable' extend SingleForwardable require_relative 'keyboard/keyboard_state' def_single_delegators 'KeyboardState.instance', *%i([] each to_str) class << self # いずれかのキーが押されている場合に true を戻す。つまり *any key* が押されたということ。 def any_key? = each.any? # 引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 # 押されていない場合は nil を戻す。 # 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 # キー名は SDL が定義したものである。 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(
mod(= ::SDL2.SDL_GetModState)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 40 def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state) end end
mod=(state)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 45 def mod=(state) ::SDL2::SDL_SetModState(state) end
name_to_keycode(name)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 10 def name_to_keycode(name) = ::SDL2.SDL_GetKeyFromName(name) def name_to_scancode(name) = ::SDL2.SDL_GetScancodeFromName(name) def scancode_to_keycode(scancode) = ::SDL2.SDL_GetKeyFromScancode(scancode) def scancode_to_name(scancode) = ::SDL2.SDL_GetScancodeName(scancode).read_string end require 'forwardable' extend SingleForwardable require_relative 'keyboard/keyboard_state' def_single_delegators 'KeyboardState.instance', *%i([] each to_str) class << self # いずれかのキーが押されている場合に true を戻す。つまり *any key* が押されたということ。 def any_key? = each.any? # 引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 # 押されていない場合は nil を戻す。 # 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 # キー名は SDL が定義したものである。 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state)
name_to_scancode(name)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 12 def name_to_scancode(name) = ::SDL2.SDL_GetScancodeFromName(name) def scancode_to_keycode(scancode) = ::SDL2.SDL_GetKeyFromScancode(scancode) def scancode_to_name(scancode) = ::SDL2.SDL_GetScancodeName(scancode).read_string end require 'forwardable' extend SingleForwardable require_relative 'keyboard/keyboard_state' def_single_delegators 'KeyboardState.instance', *%i([] each to_str) class << self # いずれかのキーが押されている場合に true を戻す。つまり *any key* が押されたということ。 def any_key? = each.any? # 引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 # 押されていない場合は nil を戻す。 # 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 # キー名は SDL が定義したものである。 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state)
names(= scancodes.map { |num| scancode_to_name(num) })
click to toggle source
現在押されているキーの名前を配列で戻す。
# File lib/rb_sdl2/keyboard.rb, line 35 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state) end end end end
scancode_to_keycode(scancode)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 14 def scancode_to_keycode(scancode) = ::SDL2.SDL_GetKeyFromScancode(scancode) def scancode_to_name(scancode) = ::SDL2.SDL_GetScancodeName(scancode).read_string end require 'forwardable' extend SingleForwardable require_relative 'keyboard/keyboard_state' def_single_delegators 'KeyboardState.instance', *%i([] each to_str) class << self # いずれかのキーが押されている場合に true を戻す。つまり *any key* が押されたということ。 def any_key? = each.any? # 引数に与えたキー名のキーが押されている場合に対応するスキャンコードを戻す。 # 押されていない場合は nil を戻す。 # 不正な名前の場合でも例外を戻さない、その場合 0 または nil を戻す。 # キー名は SDL が定義したものである。 def key?(name) = self[name_to_scancode(name)] # 現在押されているキーの名前を配列で戻す。 def names = scancodes.map { |num| scancode_to_name(num) } # 現在押されているキーのスキャンコードを配列で戻す。 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state) end
scancode_to_name(scancode)
click to toggle source
# File lib/rb_sdl2/keyboard.rb, line 16 def scancode_to_name(scancode) = ::SDL2.SDL_GetScancodeName(scancode).read_string end
scancodes(= each.to_a.compact!)
click to toggle source
現在押されているキーのスキャンコードを配列で戻す。
# File lib/rb_sdl2/keyboard.rb, line 38 def scancodes = each.to_a.compact! def mod = ::SDL2.SDL_GetModState require_relative 'keyboard/key_mod' include KeyMod def mod=(state) ::SDL2::SDL_SetModState(state) end end end