Keycode tasierino numerico

di il
6 risposte

Keycode tasierino numerico

Buon pomeriggio
ho un problema con il keycode dei tasti del tastierino numerico nel senso che se digito il tasto 1 dal tastierino numerico mi restituisce il codice 97 che corrisponde alla a e così via fino al 9 che restituisce il 105 che corrisponde alla j.
Non dovrebbe comunque riconoscere che sono numeri e quindi keycode da 48 a 57?

Grazie
Crodino

6 Risposte

  • Re: Keycode tasierino numerico

    Il NUMLOCK fa la differenza... ma lo puoi rilevare solo con le API se non ricordo male...

    Ma stai usando KeyPress...?
    Hainprovato ad usare KeyDown o KeyUp e leggere KeyAscii...?
  • Re: Keycode tasierino numerico

    Sto usando keyup per formare una stringa che alla digitazione effettua un filtro.
    I dati che deve ricercare sono codici numerici e ho notato che quando digito usando i tasti sopra le lettere funziona, quando uso il tastierino numerico no.
    Allora con il Debug ho notato quello che ho scritto prima.

    Posso eventualmente fare una conversione da codice
    if keycode = 96 then keycode = 48
    ma non so se è la strada più giusta.
  • Re: Keycode tasierino numerico

    Quando il NumLock non è attivo, il tastierino funziona per il controllo del cursore (Su, Giù, Destra, Sinistra, Home, End, PgGiù, PgSu) e quelli sono i codici estesi relativi a questi tasti. Se attivi il NumLock, avrai quelli delle cifre.
  • Re: Keycode tasierino numerico

    No scusa, ho dimenticato di specificare che il numlock è attivo.
    con il numlock spento non entra proprio nell'evento keyup
  • Re: Keycode tasierino numerico

    Sì, nella tastiera i valori del KeyCode sono diversi per i vari tasti, compreso il tastierino.

    Quando il tastierino è attivo i codici delle cifre sono compresi tra 96 e 105. Se ti serve il valore ASCII, allora dividi per due.

    Ad esempio lo zero è VK_NUMPAD0 dal tastierino (0x60) mentre vale 0x30 dalla tastiera

    https://docs.microsoft.com/it-it/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN
  • Re: Keycode tasierino numerico

    Grazie per le spiegazioni. Farò una "conversione" nel codice.
    grazie mille
    Crodino
Devi accedere o registrarti per scrivere nel forum
6 risposte