    Curso de scripvox - aula17 (Por Fabiano Ferreira)

    Nesta aula,
 Vamos ver aes de teclado e mouse.
    Esses comandos servem para simular digitao no teclado ou cliques
de mouse.
    Funcionam como um "controle remoto", sendo as aes enviadas
diretamente  a aplicao pretendida.
    Se bem aplicados, podem ajudar na construo de interfaces sonoras
bastante acessveis, mas, aplicados a qualquer hora, para tudo, sem
limite nenhum, o mximo que conseguiro so interfaces malfeitas e
gambiarras que passaro a impresso  de incompetncia e falta de
conhecimento do programador.
    Alm disso, vamos ver como fazer referncia a um determinado
caracter atravs de seu cdigo ascii.

    Ento vamos l:
-----
*Comando digita;
    Este comando simula a digitao do usurio no teclado.
    Forma de uso:
Digita "string a ser digitada".
    Podemos tambm passar uma varivel contendo uma string para que esta
seja digitada no local pretendido.
     enviado ao fim da digitao um "enter" de forma automtica.
    Colocando o smbolo & (e comercial), o enter no  enviado.

    Exemplo:

Escreve "vou digitar algo no bloco de notas:"
executa "notepad"&
espera 1
digita "Eu adoro o curso de scripvox"
Digita "Por que aprendo muita coisa l."
termina mudo

    O exemplo acima abre o bloco de notas e digita um pequeno texto.
    O script fecha e deixa o notepad aberto.
    com um leitor de telas como o jaws ou nvda, leia o bloco de notas e
veja que ele digitou o texto que foi passado para o comando digita.

*Comando aciona;
    Este comando envia uma tecla virtual para a aplicao desejada.
    Abaixo a lista das teclas virtuais mais importantes:

UP, DOWN, LEFT, RIGHT
ESCAPE ou ESC
ENTER e RETURN
TAB
F1 at F12
INS, DEL ou DELETE
HOME, END
PAGEUP, PAGEDN
PRIOR, NEXT    -> sinonimos de pageup e pagedn
SNAPSHOT       -> printScreen

    Ao utilizar teclas em conjunto com outra, faa assim:
alt+f4... ctrl+m... shift+... etc...

    Veja este exemplo retirado do manual oficial:

executa "\winvox\edivox" &
espera 2
digita "x.txt"
espera 1
aciona "CTRL+Y"
aciona "F2"
espera 1
aciona "ESC"
aciona "S"
aciona "S"

    O exemplo acima, carrega um arquivo no edivox, remove a primeira
linha desse arquivo e enserra.

*Comando clica;
    Este comando simula um clique do mause.
Forma de uso:
clica x y
ou clica tela x y,
ou clica duplo tela x y,
ou clica nulo x y
ou clica nulo tela x y.
    A palavra nulo indica movimentao sem clique do mouse.
    A palavra duplo indica um clique duplo.
    A palavra tela, indica que x y  uma coordenada absoluta de tela.
Se tela for omitida, a coordenada  calculada em funo da janela em
foco.

    Exemplo:

Clica tela 642 282

    D um clique na posio 642,242, sendo esta uma coordenada absoluta
de tela.

    *Comando le mouse, ou le rato;
    Este comando obtem a posio do mouse em funo das coordenadas da
tela ou da janela ativa.
Forma de uso:
le mouse x y, ou
le mouse tela x y, ou ainda,
le rato x y, ou
le rato tela x y.

Exemplo:

Escreve "Posio do mouse:"
le mouse tela x y
Escreve x","y
Termina mudo

    Escreve na tela a posio do mouse em funo das coordenadas da
tela.
-----

    Cdigos retornados pelas teclas

    Algum dia voc parou para pensar como o computador conhece os
smbolos, seja letra, nmero, sinais matemticos, em fim... todo tipo de
caracter?
    Bem, este no  um tema do nosso curso, mas para que fique mais
claro do que estamos falando, darei duas informaes:
1 - Um computador s entende nmeros.

2 - Todos os caracteres possuem um cdigo numrico que os representa.
    Esse cdigo faz parte de uma tabela chamada tabela ascii.
    Ascii  a sigla de
American Standard Code for Information Interchange

    No pretendemos aqui explanar muito sobre a tabela ascii, mas para
quem tem curiosidade, deixo um link para um artigo na wikipedia que fala
sobre o assunto:
http://pt.wikipedia.org/wiki/ASCII

    Sendo assim, vamos ver como referenciar um caracter pelo seu cdigo
ascii no scripvox:

A referncia a um caracter pelo cdigo ascii  utilizada sempre no
comando L com o terminador &.
    Vamos ver um exemplo:

    Escreve "Aperte uma tecla:"
L t &
Se t = "#13" escreve "apertou enter"

    O programa acima pede para o usurio teclar algo.
    Caso o usurio aperte enter, que foi referenciado pelo cdigo #13, o
programa fala, "apertou enter".
    Conhea agora os cdigos mais utilizados:

F1=#0#59;
F2=#0#60;
F3=#0#61;
F4=#0#62;
F5=#0#63;
F6=#0#64;
F7=#0#65;
F8=#0#66;
F9=#0#67;
F10=#0#68;
F11=#0#69;
F12=#0#70;
ALT F1=#0#104;
CONTROL F1=#0#94;
CONTROL F2=#0#95;
CONTROL F3=#0#96;
CONTROL F4=#0#97;
CONTROL F5=#0#98;
CONTROL F6=#0#99;
CONTROL F7=#0#100;
CONTROL F8=#0#101;
CONTROL F9=#0#102;
CONTROL F10=#0#103;
CONTROL F11=#0#104;
CONTROL F12=#0#105;
INSERT=#0#82;
DEL=#0#83;
HOME=#0#71;
END=#0#79;
PGUP=#0#73;
PGDN=#0#81;
CIMA=#0#72;
BAIXO=#0#80;
ESQ=#0#75;
DIR=#0#77;
ENTER=#13;
BACKSPACE=#8;
ESC=#27;
TAB=#9;
CONTROL PGUP =#0#132;
CONTROL PGDN=#0#118;
CONTROL ESQ=#115;
CONTROL DIR=#0#116;
CONTROL UP=#0#113;
CONTROL DOWN=#0#114;
CONTROL BACKSPACE=#0#127;
CONTROL ENTER=#10;
SHIFT INSERT=#0#254;
CONTROL INSERT=#0#255;

    Assim terminamos a aula 17.
    Prxima semana, teremos a ltima aula, que falar sobre operaes com
a internet!
    At l!
