Differenze tra le versioni di "Sapere via codice se il tasto 'Blocco Maiuscole' è attivo"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'E' possibile sapere mediante il codice, se il tasto [https://it.wikipedia.org/wiki/Blocco_maiuscole Blocco maiuscole] è attivo, utilizzando alcune risorse della libreria ''SD...') |
|||
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
E' possibile sapere mediante il codice, se il tasto [https://it.wikipedia.org/wiki/Blocco_maiuscole Blocco maiuscole] è attivo, utilizzando alcune risorse della libreria ''SDL''. | E' possibile sapere mediante il codice, se il tasto [https://it.wikipedia.org/wiki/Blocco_maiuscole Blocco maiuscole] è attivo, utilizzando alcune risorse della libreria ''SDL''. | ||
− | Per poter utilizzare tali risorse sarà necessario installare nel sistema ed utilizzare nell'applicazione Gambas la libreria | + | Per poter utilizzare tali risorse sarà necessario installare nel sistema ed utilizzare nell'applicazione Gambas la libreria condivisa: "''libSDL-1.2.so.0.11.4'' ". |
− | + | Mostriamo un semplice codice, nel quale se è stato premuto il tasto 'Blocco Maiuscole', allora ciò verrà comunicato in console/terminale: | |
− | Mostriamo un semplice codice: | ||
Library "libSDL-1.2:0.11.4" | Library "libSDL-1.2:0.11.4" | ||
Riga 34: | Riga 33: | ||
Dim i, modifiers As Integer | Dim i, modifiers As Integer | ||
Dim sf As Pointer | Dim sf As Pointer | ||
− | + | ||
− | + | i = SDL_Init(0) | |
− | + | If i <> 0 Then Error.Raise("Impossibile inizializzare la libreria SDL !") | |
− | + | ||
− | + | sf = SDL_SetVideoMode(1, 1, 0, 0) | |
− | + | If sf == 0 Then Error.Raise("Impossibile impostare una modalità video !") | |
− | + | ||
− | + | modifiers = SDL_GetModState() | |
− | + | ||
− | + | If modifiers And KMOD_CAPS Then Print "Tasto 'Blocco Maiuscole': \e[31mattivo \e[0m!" | |
− | + | ||
<FONT Color=gray>' ''Va in chiusura:''</font> | <FONT Color=gray>' ''Va in chiusura:''</font> | ||
− | + | SDL_FreeSurface(sf) | |
− | + | SDL_Quit() | |
− | + | ||
'''End''' | '''End''' | ||
− | |||
Versione attuale delle 22:19, 7 ott 2022
E' possibile sapere mediante il codice, se il tasto Blocco maiuscole è attivo, utilizzando alcune risorse della libreria SDL.
Per poter utilizzare tali risorse sarà necessario installare nel sistema ed utilizzare nell'applicazione Gambas la libreria condivisa: "libSDL-1.2.so.0.11.4 ".
Mostriamo un semplice codice, nel quale se è stato premuto il tasto 'Blocco Maiuscole', allora ciò verrà comunicato in console/terminale:
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("Impossibile inizializzare la libreria SDL !") sf = SDL_SetVideoMode(1, 1, 0, 0) If sf == 0 Then Error.Raise("Impossibile impostare una modalità video !") modifiers = SDL_GetModState() If modifiers And KMOD_CAPS Then Print "Tasto 'Blocco Maiuscole': \e[31mattivo \e[0m!" ' Va in chiusura: SDL_FreeSurface(sf) SDL_Quit() End