• Sam Lantinga's avatar
    Date: Thu, 05 Jul 2007 14:02:33 -0700 · f0da180b
    Sam Lantinga authored
    From: Sam Lantinga
    Subject: SDL 1.3 keyboard plan
    
    After lots of discussion with Christian, this is what we came up with:
    
    > So, to sum up...
    > SDLK_* become the physical keys, starting at > (1<<21)
    > We create a macro SDLK_INDEX(X)
    > We have two functions SDL_GetLayoutKey(SDLKey) and SDL_GetKeyName()
    > SDL_GetLayoutKey maps to UCS4 for printable characters, and SDLK* for
      non-printable characters
    > and does so based on the OS's current keyboard layout
    > SDL_GetKeyName() handles both SDLK_* and UCS4, converting UCS4 to UTF-8 and
      converting SDLK_* into our names, which are UTF-8 for printable characters.
    > WASD folks use SDLK_*, and 'I' folks use SDL_GetLayoutKey(SDLK_*)
    
    Here is the patch he came up with, and his e-mail about it:
    
    Date: Fri, 17 Aug 2007 19:50:28 +0200
    From: Christian Walther
    Subject: Re: SDL 1.3 keyboard plan
    
    > Sounds great, go ahead and send me a patch.
    
    Here goes! Thanks for having a look. Don't hesitate to comment if
    anything does not conform to your ideas.
    
    One caveat: Committing this now may break compilability of some video
    drivers - specifically, if they use any of the SDLK_* codes that were
    obsoleted and moved into SDL_compat.h. I only tried Cocoa (which did
    break, but is already fixed) and X11 (which didn't, but then its key
    handling is #iffed out). If that's a problem, it may need to go into
    a branch.
    
      -Christian
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402630
    f0da180b
Name
Last commit
Last update
..
SDL.h Loading commit data...
SDL_audio.h Loading commit data...
SDL_cdrom.h Loading commit data...
SDL_compat.h Loading commit data...
SDL_config.h.default Loading commit data...
SDL_config.h.in Loading commit data...
SDL_config_dreamcast.h Loading commit data...
SDL_config_macosx.h Loading commit data...
SDL_config_minimal.h Loading commit data...
SDL_config_os2.h Loading commit data...
SDL_config_win32.h Loading commit data...
SDL_copying.h Loading commit data...
SDL_cpuinfo.h Loading commit data...
SDL_endian.h Loading commit data...
SDL_error.h Loading commit data...
SDL_events.h Loading commit data...
SDL_joystick.h Loading commit data...
SDL_keyboard.h Loading commit data...
SDL_keysym.h Loading commit data...
SDL_loadso.h Loading commit data...
SDL_main.h Loading commit data...
SDL_mouse.h Loading commit data...
SDL_mutex.h Loading commit data...
SDL_name.h Loading commit data...
SDL_opengl.h Loading commit data...
SDL_pixels.h Loading commit data...
SDL_platform.h Loading commit data...
SDL_quit.h Loading commit data...
SDL_rwops.h Loading commit data...
SDL_stdinc.h Loading commit data...
SDL_syswm.h Loading commit data...
SDL_thread.h Loading commit data...
SDL_timer.h Loading commit data...
SDL_types.h Loading commit data...
SDL_version.h Loading commit data...
SDL_video.h Loading commit data...
begin_code.h Loading commit data...
close_code.h Loading commit data...
doxyfile Loading commit data...