A brincadeira toda começou depois que me perguntaram como manipular o mouse no Xorg. Uma rápida pesquisada na documentação do python-xlib e encontrei coisas interessantes. Por exemplo, como mover o mouse no X?
from Xlib import X, XK, display import Xlib.ext.xtest display = display.Display() Xlib.ext.xtest.fake_input(display, X.MotionNotify, x, y) display.sync()
E simular um click ?
from Xlib import X, XK, display import Xlib.ext.xtest display = display.Display() Xlib.ext.xtest.fake_input(display, X.ButtonPress, 1) #1 left, 2 middle, 3 right Xlib.ext.xtest.fake_input(display, X.ButtonRelease, 1) display.sync()
Ok, já sabemos como manipular o mouse, e com o teclado, como seria?
from Xlib import X, XK, display import Xlib.ext.xtest display = display.Display() Xlib.ext.xtest.fake_input(display, X.KeyPress, key) Xlib.ext.xtest.fake_input(display, X.KeyRelease, key) display.sync()
Diante dessa facilidade surgiu uma idéia, eu poderia fazer um software que monitarasse todos os eventos de mouse e teclado, armazenasse isso e reproduzisse posteriormente.
Esse software poderia ser usado para automatizar testes em interfaces gráficas, assim como páginas Web. O XorgRecord poderia ser usado também para ensinar uma pessoa em outro computador como realizar determinada tarefa. No lugar de assistir um screencast, o usuário baixaria um simples arquivo txt que faria com que seu computador reproduzisse a aula, sem consumir tanta banda ou demorar quanto baixar um vídeo e com o benefício de todas as atividades da aula ficarem gravadas em seu computador. Evidentemente aqui tem uma falha incrível de segurança se mal utilizado.
Outro exemplo seria ensinar alguém a configurar uma impressora apenas enviando um arquivo de reprodução. Além de observar toda a operação necessária, o usuário já teria sua impressora configurada ao fim da aula.
O projeto esta muito simples, os dados são salvos em formato txt limpo, de forma clara e legível, podendo ser reproduzido manualmente caso desejado. Para trafegar na rede uma simples compactação dos arquivos gerados já diminui bastante o seu tamanho.
O software se integra ao systray do gnome e tem as opções de gravar e reproduzir eventos, assim como salvar e abrir um arquivo de eventos. Ele esta disponível no seguinte link e já pode ser usado pelos interessados. Quem quiser colaborar, comentar ou solicitar algum novo recurso pode entrar em contato.

Muito legal esta sua idéia, não consigo para de pensar nas possibilidades que este software proporciona.
), eu comento aqui.
Vou baixar o fonte e a cada descoberta de uso (que não seja idiota
[...] Site do projeto Tags: python-xlib, xorgrecord Leave a Comment [...]