Qbasicnews.com
SDL and Key Trapping - Printable Version

+- Qbasicnews.com (http://qbasicnews.com/newforum)
+-- Forum: Qbasic "like" compilers/interpreters (http://qbasicnews.com/newforum/forum-5.html)
+--- Forum: FB Discussion & Programming Help (http://qbasicnews.com/newforum/forum-15.html)
+--- Thread: SDL and Key Trapping (/thread-5971.html)



SDL and Key Trapping - Nathan1993 - 02-09-2005

please, point me to where I can learn key trapping and sdl. if you want me to look at code please comment it! :lol:


SDL and Key Trapping - na_th_an - 02-09-2005

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


SDL and Key Trapping - BastetFurry - 02-09-2005

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