quarta-feira, 25 de janeiro de 2012

Problemas, problemas, problemas…

Então, ao analisar um pouco algumas DLLs de envio de comandos e tal (até achei uma que consegue simular o botão 3 do mouse perfeitamente, tanto pressionando quanto soltando, e até mesmo a rolagem), notei que todas as que prometem simular teclas sendo pressionadas se limitam a isso: A simular as teclas serem PRESSIONADAS.

“Mas, qual o problema então, Leo?” – Simples: Eu preciso de uma que não mande apenas um “raiozinho” de comando. Eu preciso de uma que seja capaz de detectar enquanto eu estiver pressionando a bendita tecla, atééé o momento de eu soltá-la. As DLLs somente mandam um pequeno “pulso”, mas nada de “segurar” a tecla. O GM possui o recurso de detectar se a tecla está sendo pressionada ou não nativamente, mas para cada tecla é um comando diferente… Não sou nem louco de colocar +- 100 comandos diferentes pra transmitir em rede e em tempo real… tsc tsc tsc…

Sendo assim, vou ter que apelar: vou ter que montar um “layout” de teclado no programa, sendo que cada tecla é um objeto. E, as teclas serão apenas acionadas por algumas “bolas” que, ao entrarem em colisão com as tais teclas, elas vão fazer o comando de PRESSIONAR e, ao sair da tecla, faz o comando de SOLTAR. Ficará mais fácil assim, pois desse modo, me preocuparei apenas com coordenadas x e y dessas “bolas”.

Ninguém aperta mais do que 5 teclas ao mesmo tempo (Aquele que aperta, que atire a primeira tecla!), então 5 bolinhas já serão o suficiente. E, como cada bolinha usará coordenadas x e y, então são 10 índices de rede no máximo. Até o momento, estou usando apenas 5 índices: Coordenadas x e y do mouse (0 e 1), botão esquerdo (2), botão direito (3) e botão do meio (4). 15 índices ainda manterá a conexão rápida e em tempo real, apesar de que, segundo meus cálculos, será meio difícil de digitar um texto usando esse recurso, pois as teclas podem sair rápidas demais e o método não detectar essas “teclas-relâmpago”…

Então, simbora programar. A madrugada promete! Até lá! <ô/

Nenhum comentário:

Postar um comentário