Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] GetKeyboardState(), GetKeyState()... ???

    Come si Utilizzano queste due Funzioni ???
    GetKeyboardState
    GetKeyState
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  2. #2
    Up :quote:
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  3. #3
    Allora comincio con la GetKeyState...

    ecco qua il codice:

    codice:
    short GetKeyState(int)
    Il valore che prende, cioè l'argomento è la Ascii della lettera ed è Int, mentre il valore che restituisce è di tipo Short.

    Questa funzione data quindi un codice ascii restituisce lo stato del tasto in questione...

    Facciamo un esempio con la ascii 97 che rappresenta le lettera 'a'.

    Si possono presentare tre casi:

    1°caso:

    Se premo la a e la tengo premuta il valore numerico restituito dalla funzione (convertito in binario) ha il bit più significativo uguale a 1.

    Il numero infatti restituito è solitamente -128 e convertendolo in binario anche ricordandosi il complemento a due, e togliendo il bit del segno(cioè quello che determina se il numero è negativo o positivo) la sua configurazione è

    "0000000"

    E si puo notare benissimo che il primo bit, che è uguale a 1, è quello più significativo(cioè quello che nel numero ha più importanza).

    2°caso:

    Se invece la 'a' la premo e la rilascio immediatamente (toggle) il valore numerico restituito dalla funzione (convertito in binario) ha il bit meno significativo uguale a 1.

    Il numero infatto solitamente restituito è -127 e convertendolo in binario:

    "0000001"

    si vede subito che il bit meno significativo cioè il primo a partire da destra è 1.

    3°caso:

    Se la 'a' invece non viene premuta la funzione restituisce 0.

    .................................................. .................

    Adesso passiamo alla GetKeyboardState che mi permette di conoscere lo stato di tutte le 256 chiavi della tastiera.

    Allora lo stato di un tasto consiste in questo...

    Mettiamo che inzialmente lo stato con ascii 97 cioè la 'a' abbia lo stato uguale a zero.

    Se io la premo il suo stato passa da zero a uno.

    Se la premo di nuovo il suo stato passa da uno a zero.

    E così via....

    Consiste in questo lo stato dei tasti della tastiera secondo quella funzione...

    La funzione è così:

    codice:
    Int GetKeyboardState(unsigned char vet)
    Prende come argomento un vettore unsigned char con 256 elementi dove puo così andare a salvare lo stato delle 256 chiavi della tastiera.

    il valore restituito sarebbe un Bool(quindi uno o zero) e la si puo salvare benissimo in un int..

    Se il valore è zero la funzione ha fallito altrimenti ha avuto successo...

    Spero così di averti chiarito un po le idee...

    Se non è chiaro qualcosa fammi sapere!

    Ciao ciao!!
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.