https://foro.gambas-es.org/viewtopic.php?f=1&t=4766&p=27407#p27407
-----------------------------------
vuott
Jueves, 16 Julio 2015, 01:58

Re: Como Detectar Si La Tecla Bloq Mayúsculas Esta Activada O No?
-----------------------------------
" [i]Audivistis, functiones externae, gementem vocem meam atque flentem ![/i] "    :smile: 

Vamos a utilizar las funciones externas del API de SDL:
[code linenumbers=false syntax=gambas]Library "libSDL-1.2:0.11.4"

Private Const KMOD_CAPS As Integer = 8192

' int SDL_Init(Uint32 flags)
' Initialize the SDL library.
Private Extern SDL_Init(flags As Integer) As Integer

' SDL_Surface *SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags)
' Set up a video mode with the specified width, height and bits-per-pixel.
Private Extern SDL_SetVideoMode(width As Integer, height As Integer, bitsperpixel As Integer, flags As Integer) As Pointer

' SDL_Keymod SDLCALL SDL_GetModState(void)
' Get the current key modifier state for the keyboard.
Private Extern SDL_GetModState() As Integer

' void SDL_FreeSurface(SDL_Surface* surface)
' Free an RGB surface.
Private Extern SDL_FreeSurface(surface As Pointer)

' void SDL_Quit(void)
' Clean up all initialized subsystems.
Private Extern SDL_Quit()


Public Sub Main()
 
 Dim i, modifiers As Integer
 Dim sf As Pointer
  
  i = SDL_Init(0)
  If i <> 0 Then Error.Raise("Imposible inicializar la libreria SDL !")

  sf = SDL_SetVideoMode(1, 1, 0, 0)
  If sf == 0 Then Error.Raise("Imposible configurar una modalidad video !")

  modifiers = SDL_GetModState()
  
  If modifiers And KMOD_CAPS Then Print "Tecla Bloq Mayúsculas: activada !"

  SDL_FreeSurface(sf)
  SDL_Quit()

End[/code]    :lol:


