Como una adaptación de @ mat-burns codifica en esta publicación
(Tenga en cuenta que también necesitará xcode instalado).
#!/usr/bin/env xcrun swift
import Foundation
let kDelayUSec : useconds_t = 500_000
func moveMouseClick( p1: CGPoint) {
let mouseMove = CGEventCreateMouseEvent(nil, CGEventType(kCGEventLeftMouseDragged), p1, CGMouseButton(kCGMouseButtonLeft)).takeUnretainedValue()
let mouseDown = CGEventCreateMouseEvent(nil, CGEventType(kCGEventLeftMouseDown), p1, CGMouseButton(kCGMouseButtonLeft)).takeUnretainedValue()
let mouseUp = CGEventCreateMouseEvent(nil, CGEventType(kCGEventLeftMouseUp), p1, CGMouseButton(kCGMouseButtonLeft)).takeUnretainedValue()
CGEventPost(CGEventTapLocation(kCGHIDEventTap), mouseMove)
usleep(kDelayUSec)
CGEventPost(CGEventTapLocation(kCGHIDEventTap), mouseDown)
usleep(kDelayUSec)
CGEventPost(CGEventTapLocation(kCGHIDEventTap), mouseUp)
}
func main() {
let pointX = 396
let pointY = 214
let p1 = CGPointMake( CGFloat(pointX), CGFloat(pointY))
moveMouseClick( p1)
}
main()
Cambia las líneas:
let pointX = 396
let pointY = 214
para reflejar tu punto de clic.
Guarda este código como moveClick.swift
Y luego, en Terminal.app, ejecuta /bin/chmod +x ~/scripts/moveClick.swift
para hacer que el script sea ejecutable
Cambie ~ / scripts / moveClick.swift a su ruta real a su archivo swift.
No tengo Keyboard maestro, pero veo que puede ejecutar un script de shell.
Ejecutar una acción de script de shell
~/scripts/moveClick.swift
En el ejemplo anterior, hemos codificado el punto de clic.
Pero si quiere que sea versátil, podemos hacer que el código tome argumentos.
Utilizando este código en su lugar.
#!/usr/bin/env xcrun swift
import Foundation
let kDelayUSec : useconds_t = 500_000
func moveMouseClick( p1: CGPoint) {
let mouseMove = CGEventCreateMouseEvent(nil, CGEventType(kCGEventLeftMouseDragged), p1, CGMouseButton(kCGMouseButtonLeft)).takeUnretainedValue()
let mouseDown = CGEventCreateMouseEvent(nil, CGEventType(kCGEventLeftMouseDown), p1, CGMouseButton(kCGMouseButtonLeft)).takeUnretainedValue()
let mouseUp = CGEventCreateMouseEvent(nil, CGEventType(kCGEventLeftMouseUp), p1, CGMouseButton(kCGMouseButtonLeft)).takeUnretainedValue()
CGEventPost(CGEventTapLocation(kCGHIDEventTap), mouseMove)
usleep(kDelayUSec)
CGEventPost(CGEventTapLocation(kCGHIDEventTap), mouseDown)
usleep(kDelayUSec)
CGEventPost(CGEventTapLocation(kCGHIDEventTap), mouseUp)
}
func main() {
let p1 = CGPointMake( CGFloat(atof( C_ARGV[1])), CGFloat(atof( C_ARGV[2])))
moveMouseClick( p1)
}
main()
Otra vez en Keyboard maestro.
Ejecutar una acción de script de shell
~/scripts/moveClick.swift 396, 214