module Input
Module to parse key and mod to take into account special keys and extend Ruby/SDL’s key parsing
- Author
-
Steven Davidovitz (steviedizzle@gmail.com)
- Copyright
-
Copyright © 2006, The Nebular Gauntlet DEV team
- License
-
GPL
Public Instance Methods
display_key(sym, mod)
click to toggle source
Parses key and mod and calls insert
-
sym Key that is pressed
-
mod Mod key if pressed
# File lib/input.rb, line 15 def display_key(sym, mod) if mod == SDL::Key::MOD_NONE || mod == 4096 unless sym >= 300 && sym <= 310 || sym == 271 || sym == 9 || sym == 319 if SDL::Key.getKeyName(sym).length <= 1 insert(SDL::Key.getKeyName(sym)) end end elsif mod == (SDL::Key::MOD_LSHIFT || SDL::Key::MOD_RSHIFT) || mod == (4097 || 4098) case sym when 96 insert("~") when 49 insert("!") when 50 insert("@") when 51 insert("#") when 52 insert("$") when 53 insert("%") when 54 insert("^") when 55 insert("&") when 56 insert("*") when 57 insert("(") when 48 insert(")") when 45 insert("_") when 61 insert("+") when 91 insert("{") when 92 insert("|") when 93 insert("}") when 59 insert(":") when 39 insert('"') when 44 insert("<") when 46 insert(">") when 47 insert("?") else if SDL::Key.getKeyName(sym).length <= 1 insert(SDL::Key.getKeyName(sym).capitalize) end end elsif mod == SDL::Key::MOD_CAPS || mod == 12288 unless sym >= 300 && sym <= 310 || sym == 271 || sym == 9 || sym == 319 if SDL::Key.getKeyName(sym).length <= 1 insert(SDL::Key.getKeyName(sym).capitalize) end end end end
insert(str)
click to toggle source
Inserts str into buffer at cursorPos
-
str
String
to insert
# File lib/input.rb, line 82 def insert(str) @buffer.insert(@cursor_pos, str) @cursor_pos += 1 end