GETATKBDRAW()

Esta função, ao contrario de GETATKBD(), retorna o "raw scancode" do teclado. Ou seja, nao há tabela de translação - se voce aperta a tecla "A", voce vai receber tres bytes (1C F0 1C) como resposta.

Observe que, sabe-se lá porque, necessita-se da tabela de translação igualzinho na função GETATKBD(), porem a mesma pode estar vazia que nao faz a minima diferença. Estas foram as palavras do Mark Alberts: "porque a mesma rotina é utilizada, voce precisa ter uma tabela, mas a mesma pode estar vazia. Entao basta definir o rotulo [da tabela], ele nao é utilizado no modo "raw". Em "raw mode", nao há conversao do scancode, entao voce pega o scancode direto."

Forma de uso:

var=GETATKBDRAW()

Onde var pode ser BYTE ou STRING. Se nenhuma tecla for pressionada, o valor 0 será retornado. Lembre-se que enquanto a função GETATKBD() aguarda uma tecla ser pressionada, a função GETATKBDRAW() nao aguarda.


'Programa teste pra GETATKBDRAW()

'Dica publicada em 29/01/2006 por Alexandre Souza

config keyboard = pind.2, DATA = pinD.4, keydata = tabela

dim scancode as string * 1

mainloop:

scancode=getatkbdraw()

if scancode="" then goto mainloop

print scancode ; " " ;

goto mainloop

end

 

tabela:

data 0