Individuare mediante le funzioni del API di SDL2 tutti gli scancode disponibili

Da Gambas-it.org - Wikipedia.

A ciascun tasto della tastiera è assegnato un numero, o una sequenza di numeri, che la maggior parte delle tastiere inviano a un computer per segnalare quali tasti sono stati premuti.
Tali dati sono chiamati scancode (codice scan).

Il seguente codice, utilizzando alcune funzioni esterne del API della libreria SDL2, permette di conoscere tutti gli scancode disponibili assegnati ai tasti della tastiera.

Sarà necessario utilizzare la libreria condivisa: "libSDL2-2.0.so.0.3000.0 ".

Library "libSDL2-2.0:0.3000.0"

Private Const SDL_NUM_SCANCODES As Integer = 512

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

' const char* SDL_GetScancodeName(SDL_Scancode scancode)
' Gets a human-readable name for a scancode.
Private Extern SDL_GetScancodeName(SDL_scancode As Integer) As String

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


Public Sub Main()
 
 Dim i As Integer
  
' Inizializa la libreria SDL:
 i = SDL_Init(0)
 If i <> 0 Then Error.Raise("Inizializzazione della libreria SDL2: fallita !")

 For i = 0 To SDL_NUM_SCANCODES - 1 
   Print "Codice scan: "; i; " - "; SDL_GetScancodeName(i)
 Next
 
 SDL_Quit()

End


Riferimenti