Olá, pessoal.
Não sei se alguém visualizou minha postagem acima, mas, mesmo não havendo respostas, venho informar que não necessito mais dessa "teclada", pois resolvi conseguindo muito mais que isso.
Eu consegui desenvolver uma captura de tela pelo próprio programa do Qbasic.
Depois de muito trabalho em entender a estrutura de imagens, elaborei esse programinha de captura de tela, salvando-a no formato BMP, que é o mais fácil de ser entendido e programado:
REM CAPTURA DE TELA POR UM PROGRAMA DO QBASIC.
DIM p AS STRING * 1
REM Cabecalho de arquivo BMP (640x480 16 cores) já convertido em decimais
DATA 66,77,118,88,2,0,0,0,0,0,118,0,0,0,40,0,0,0,128,2
DATA 0,0,224,1,0,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,0
DATA 0,0,0,168,0,0,168,168,0,0,0,0,168,0,168,0,168,0,0,84
DATA 168,0,168,168,168,0,84,84,84,0,252,84,84,0,84,252,84,0,252,252
DATA 84,0,84,84,252,0,252,84,252,0,84,252,252,0,252,252,252,0
REM Dimensiona "s" pelo tamanho do cabecalho
DIM s(118) AS INTEGER
FOR i = 1 TO 118
READ s(i)
NEXT i
CLS : SCREEN 12
REM Cria uma tela para ser capturada
FOR i = 1 TO 300
a = INT(RND * 640)
b = INT(RND * 480)
c = INT(RND * 640)
d = INT(RND * 480)
cor = INT(RND * 16)
LINE (a, b)-(c, d), cor
NEXT i
REM Inicia a criacao do arquivo BMP de nome "TELA0001.BMP"
OPEN "C:\TELA0001.BMP" FOR BINARY AS #1
REM Cria o cabecalho
FOR i = 1 TO 118
p = CHR$(s(i)): REM O "PUT" deve enviar o codigo ASCII do valor do dado
PUT #1, i, p
NEXT i
REM Para iniciar dados da imagem no ponto imediatamente apos o cabecalho
l = 119
REM Transfere valores de cores de cada pixel da tela ao arquivo
FOR y = 479 TO 0 STEP -1: REM O BMP varre de baixo para cima
FOR x = 0 TO 639 STEP 2
a = POINT(x, y) * 16
a = a + POINT(x + 1, y)
p = CHR$(a): REM O "PUT" deve enviar o codigo ASCII do valor de cada pixel
PUT #1, l, p
l = l + 1
NEXT x, y
REM Arquivo BMP completamente formado
REM Fecha arqivo
CLOSE #1
END