|
System | : | Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686 |
Software | : | Apache. PHP/5.3.6-13ubuntu3.10 |
ID | : | uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
|
|
Safe Mode | : | OFF |
Open_Basedir | : | OFF |
Freespace | : | 21.4 GB of 70.42 GB (30.39%) |
|
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON |
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
|
[ System Info ]
[ Processes ]
[ SQL Manager ]
[ Eval ]
[ Encoder ]
[ Mailer ]
[ Back Connection ]
[ Backdoor Server ]
[ Kernel Exploit Search ]
[ MD5 Decrypter ]
[ Reverse IP ]
[ Kill Shell ]
[ FTP Brute-Force ]
|
|
/
usr/
lib/
python2.6/
dist-packages/
twisted/
protocols/
mice/
- drwxr-xr-x
|
Viewing file: mouseman.py (2.8 KB) -rw-r--r--Select action/file-type:  ( +) |  ( +) |  ( +) | Code ( +) | Session ( +) |  ( +) | SDB ( +) |  ( +) |  ( +) |  ( +) |  ( +) |  ( +) |
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details.
# """Logictech MouseMan serial protocol.
http://www.softnco.demon.co.uk/SerialMouse.txt """
from twisted.internet import protocol
class MouseMan(protocol.Protocol): """
Parser for Logitech MouseMan serial mouse protocol (compatible with Microsoft Serial Mouse).
"""
state = 'initial'
leftbutton=None rightbutton=None middlebutton=None
leftold=None rightold=None middleold=None
horiz=None vert=None horizold=None vertold=None
def down_left(self): pass
def up_left(self): pass
def down_middle(self): pass
def up_middle(self): pass
def down_right(self): pass
def up_right(self): pass
def move(self, x, y): pass
horiz=None vert=None
def state_initial(self, byte): if byte & 1<<6: self.word1=byte self.leftbutton = byte & 1<<5 self.rightbutton = byte & 1<<4 return 'horiz' else: return 'initial'
def state_horiz(self, byte): if byte & 1<<6: return self.state_initial(byte) else: x=(self.word1 & 0x03)<<6 | (byte & 0x3f) if x>=128: x=-256+x self.horiz = x return 'vert'
def state_vert(self, byte): if byte & 1<<6: # short packet return self.state_initial(byte) else: x = (self.word1 & 0x0c)<<4 | (byte & 0x3f) if x>=128: x=-256+x self.vert = x self.snapshot() return 'maybemiddle'
def state_maybemiddle(self, byte): if byte & 1<<6: self.snapshot() return self.state_initial(byte) else: self.middlebutton=byte & 1<<5 self.snapshot() return 'initial'
def snapshot(self): if self.leftbutton and not self.leftold: self.down_left() self.leftold=1 if not self.leftbutton and self.leftold: self.up_left() self.leftold=0
if self.middlebutton and not self.middleold: self.down_middle() self.middleold=1 if not self.middlebutton and self.middleold: self.up_middle() self.middleold=0
if self.rightbutton and not self.rightold: self.down_right() self.rightold=1 if not self.rightbutton and self.rightold: self.up_right() self.rightold=0
if self.horiz or self.vert: self.move(self.horiz, self.vert)
def dataReceived(self, data): for c in data: byte = ord(c) self.state = getattr(self, 'state_'+self.state)(byte)
|