dejo un simple código de una aplicacion de línea de comandos para mover el puntero del ratoncito en la pantalla.
Public Struct timeval
tv_sec As Long ' segundos
tv_usec As Long ' microsegundos
End Struct
Public Struct input_event
tv As Struct Timeval
type As Short
code As Short
value As Integer
End Struct
Private Const EV_SYN As Short = 0
Private Const EV_REL As Short = 2
Private Const REL_X As Short = 0
Private Const REL_Y As Short = 1
Private Const SYN_REPORT As Short = 0
Public Sub Main()
Dim eventoX, eventoY, fine_evento As New Input_event
Dim s As String
Dim ss As String[]
Dim fl As File
Dim b As Byte
' Identificamos el file-device exacto del ratón.:
s = File.Load("/proc/bus/input/devices")
s = Replace$(s, "\n", " ")
ss = Split(s, " ", "", True)
For b = 0 To ss.Max
' Identificamos la línea que contiene el texto "Handlers=mouse...",
' y entonces recogemos la última palabra de la propia línea.
' Esta palabra es el nombre del file-device del mouse:
If ss[b] Like "Handlers=mouse*" Then s = ss[b + 1]
Next
'''''''''''
' Para leer el file-device detectado, se debe tener los permisos necesarios.
' Por consiguiente, si no han cambiados los permisos del file-device, a continuación se modifican
' (*** es necesario escribir la propia password ! ***):
If Stat("/dev/input" &/ s).Auth <> "rwsrwxrwx" Then
Shell "echo 'PASSWORD' | sudo -S chmod 4777 /dev/input" &/ s Wait
Endif
fl = Open "/dev/input" &/ s For Write
If IsNull(fl) Then Error.Raise("No es posible abrir el file-device !")
' Asigne los datos para el desplazamiento horizontal del mouse en la pantalla:
With eventoX
.type = EV_REL
.code = REL_X
' Se asigna un valor positivo para mover el puntero del mouse a la derecha,
' y un valor negativo para mover el puntero a la izquierda. :
.value = 100
End With
' Asigne los datos para el movimiento vertical del ratón en la pantalla.:
With eventoY
.type = EV_REL
.code = REL_Y
' Se asigna un valor positivo para mover el puntero del mouse hacia abajo,
' y un valor negativo para moverlo hacia arriba:
.value = 100
End With
With fine_evento
.type = EV_SYN
.code = SYN_REPORT
.value = 0
End With
For b = 1 To 5
Write #fl, eventoX As Input_event ' Mueve el ratoncito horizontalmente
Write #fl, fine_evento As Input_event ' Muestra el movimiento del ratón
Wait 1
Write #fl, eventoY As Input_event ' Mueve el ratoncito verticalmente
Write #fl, fine_evento As Input_event ' Muestra el movimiento del ratón
Wait 1
Next
' Terminando...:
fl.Close
End
tv_sec As Long ' segundos
tv_usec As Long ' microsegundos
End Struct
Public Struct input_event
tv As Struct Timeval
type As Short
code As Short
value As Integer
End Struct
Private Const EV_SYN As Short = 0
Private Const EV_REL As Short = 2
Private Const REL_X As Short = 0
Private Const REL_Y As Short = 1
Private Const SYN_REPORT As Short = 0
Public Sub Main()
Dim eventoX, eventoY, fine_evento As New Input_event
Dim s As String
Dim ss As String[]
Dim fl As File
Dim b As Byte
' Identificamos el file-device exacto del ratón.:
s = File.Load("/proc/bus/input/devices")
s = Replace$(s, "\n", " ")
ss = Split(s, " ", "", True)
For b = 0 To ss.Max
' Identificamos la línea que contiene el texto "Handlers=mouse...",
' y entonces recogemos la última palabra de la propia línea.
' Esta palabra es el nombre del file-device del mouse:
If ss[b] Like "Handlers=mouse*" Then s = ss[b + 1]
Next
'''''''''''
' Para leer el file-device detectado, se debe tener los permisos necesarios.
' Por consiguiente, si no han cambiados los permisos del file-device, a continuación se modifican
' (*** es necesario escribir la propia password ! ***):
If Stat("/dev/input" &/ s).Auth <> "rwsrwxrwx" Then
Shell "echo 'PASSWORD' | sudo -S chmod 4777 /dev/input" &/ s Wait
Endif
fl = Open "/dev/input" &/ s For Write
If IsNull(fl) Then Error.Raise("No es posible abrir el file-device !")
' Asigne los datos para el desplazamiento horizontal del mouse en la pantalla:
With eventoX
.type = EV_REL
.code = REL_X
' Se asigna un valor positivo para mover el puntero del mouse a la derecha,
' y un valor negativo para mover el puntero a la izquierda. :
.value = 100
End With
' Asigne los datos para el movimiento vertical del ratón en la pantalla.:
With eventoY
.type = EV_REL
.code = REL_Y
' Se asigna un valor positivo para mover el puntero del mouse hacia abajo,
' y un valor negativo para moverlo hacia arriba:
.value = 100
End With
With fine_evento
.type = EV_SYN
.code = SYN_REPORT
.value = 0
End With
For b = 1 To 5
Write #fl, eventoX As Input_event ' Mueve el ratoncito horizontalmente
Write #fl, fine_evento As Input_event ' Muestra el movimiento del ratón
Wait 1
Write #fl, eventoY As Input_event ' Mueve el ratoncito verticalmente
Write #fl, fine_evento As Input_event ' Muestra el movimiento del ratón
Wait 1
Next
' Terminando...:
fl.Close
End