Qbasicnews.com

Full Version: SDL and Key Trapping
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
please, point me to where I can learn key trapping and sdl. if you want me to look at code please comment it! :lol:
This is the best source I know about SDL: http://sdldoc.csn.ul.ie/index.php Wink

and, of course, http://www.libsdl.org/tutorials.php
This goes as follow:

Code:
dim keys as uint8 ptr  
keys = SDL_GetKeyState(NULL)

if keys[SDLK_UP] then
  ' Do something
endif
if keys[SDLK_DOWN] then
  ' Do something
endif
if keys[SDLK_LEFT] then
  ' Do something
endif
if keys[SDLK_RIGHT] then
  ' Do something
endif
Problem here is that you cannot do it with a nice looking select but have to use if´s as keys is an array of 255 elements.

If you need to know what SDLK_Something you need have a look at SDL_keysym.bi

Have fun ^.^

EDIT: If you just want to check it when a key is actauly pressed, check your event holder for SDL_KEYDOWN

(Just copied my simple keywait routine)
Code:
sub SDL_WaitForKeypress()
   dim WaitForKeyEvent as SDL_Event
   do
   SDL_PollEvent(@WaitForKeyEvent)
  
   select case WaitForKeyEvent.type
      case SDL_KEYDOWN:
         'Do your key stuff here!
         exit do
      case SDL_MOUSEDOWN:
         'Do your mouse stuff here
         exit do
   end select

   loop
end sub