/*
* call-seq:
* key_name(sym) -> string
*
* Given the sym of a key, returns a printable representation. This
* differs from key2str in that this will return a printable string
* for any key, even non-printable keys such as the arrow keys.
*
* This method may raise SDLError if the SDL video subsystem could
* not be initialized for some reason.
*
* Example:
* Rubygame.key_name( Rubygame::K_A ) # => "a"
* Rubygame.key_name( Rubygame::K_RETURN ) # => "return"
* Rubygame.key_name( Rubygame::K_LEFT ) # => "left"
*/
VALUE rbgm_keyname(VALUE self, VALUE sym)
{
/* SDL_GetKeyName only works when video system has been initialized. */
if( init_video_system() == 0 )
{
SDLKey key = NUM2INT(sym);
char *result = SDL_GetKeyName(key);
return rb_str_new2(result);
}
else
{
rb_raise(eSDLError,"Could not initialize SDL video subsystem.");
return Qnil;
}
}