    Curso de scripvox - aula17 (Por Fabiano Ferreira)

    Nesta aula,
 Vamos ver ações de teclado e mouse.
    Esses comandos servem para simular digitação no teclado ou cliques
de mouse.
    Funcionam como um "controle remoto", sendo as ações enviadas
diretamente  a aplicação pretendida.
    Se bem aplicados, podem ajudar na construção de interfaces sonoras
bastante acessíveis, mas, aplicados a qualquer hora, para tudo, sem
limite nenhum, o máximo que conseguirão são interfaces malfeitas e
gambiarras que passarão a impressão  de incompetência e falta de
conhecimento do programador.
    Além disso, vamos ver como fazer referência a um determinado
caracter através de seu código ascii.

    Então vamos lá:
-----
*Comando digita;
    Este comando simula a digitação do usuário no teclado.
    Forma de uso:
Digita "string a ser digitada".
    Podemos também passar uma variável contendo uma string para que esta
seja digitada no local pretendido.
    É enviado ao fim da digitação um "enter" de forma automática.
    Colocando o símbolo & (e comercial), o enter não é 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 aplicação 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, faça 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 movimentação 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 função da janela em
foco.

    Exemplo:

Clica tela 642 282

    Dá um clique na posição 642,242, sendo esta uma coordenada absoluta
de tela.

    *Comando le mouse, ou le rato;
    Este comando obtem a posição do mouse em função 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 "Posição do mouse:"
le mouse tela x y
Escreve x","y
Termina mudo

    Escreve na tela a posição do mouse em função das coordenadas da
tela.
-----

    Códigos retornados pelas teclas

    Algum dia você parou para pensar como o computador conhece os
símbolos, seja letra, número, sinais matemáticos, em fim... todo tipo de
caracter?
    Bem, este não é um tema do nosso curso, mas para que fique mais
claro do que estamos falando, darei duas informações:
1 - Um computador só entende números.

2 - Todos os caracteres possuem um código numérico que os representa.
    Esse código faz parte de uma tabela chamada tabela ascii.
    Ascii é a sigla de
American Standard Code for Information Interchange

    Não 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 código
ascii no scripvox:

A referência a um caracter pelo código 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 usuário teclar algo.
    Caso o usuário aperte enter, que foi referenciado pelo código #13, o
programa fala, "apertou enter".
    Conheça agora os códigos 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.
    Próxima semana, teremos a última aula, que falará sobre operações com
a internet!
    Até lá!
