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

    [C/C++] Torna il valore del tasto digitato

    Quali sono le funzioni in windows e linux che permettono di ottenere il tipo di tasto premuto dall'utente indipendentemente dalla finestra utilizzata?

    Grazie.
    Fracty - The Fractal Generator



    If you cannot choose a concise name that expresses what the method does, it is possible that your method is attempting to perform too many diverse tasks.

  2. #2
    Su Windows c'è GetAsyncKeyState, su Linux qualcosa di analogo è la XQueryKeymap.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    La stavo appunto guardando: http://msdn.microsoft.com/en-us/libr...93(VS.85).aspx.

    Tuttavia mi sfugge l'utilizzo, se scrivo ad esempio:

    codice:
    SHORT key = GetAsyncKeyState( 1 );

    Se premo il tasto sinistro del mouse key dovrebbe assumere un valore maggiore di zero, ma ciò non accade, dove sbaglio?
    Fracty - The Fractal Generator



    If you cannot choose a concise name that expresses what the method does, it is possible that your method is attempting to perform too many diverse tasks.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Perché GetAsyncKeyState(1)?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    Se si tratta di descodificare il valore ascii puoi benissimo fare una conversione di formato in output, no?

  6. #6
    Originariamente inviato da GliderKite
    La stavo appunto guardando: http://msdn.microsoft.com/en-us/libr...93(VS.85).aspx.

    Tuttavia mi sfugge l'utilizzo, se scrivo ad esempio:

    codice:
    SHORT key = GetAsyncKeyState( 1 );

    Se premo il tasto sinistro del mouse key dovrebbe assumere un valore maggiore di zero, ma ciò non accade, dove sbaglio?
    Suppongo che accada perché nel momento in cui vai a controllare il tasto è già stato rilasciato, e qualcun altro che usa GetAsyncKeyState si è già preso il "recently pressed" bit. Leggi la sezione Remarks della documentazione della funzione.

    Per inciso, dovresti usare le costanti (VK_LBUTTON, in questo caso) per maggiore chiarezza nel codice.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.