Comme une adaptation du code de @mat-burns en ce poste ( Note Vous aurez également besoin xcode installé. )
#!/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()
Changez les lignes :
let pointX = 396
let pointY = 214
pour refléter votre point de clic.
Sauvegarder ce code en bas comme moveClick.swift
Et ensuite, dans Terminal.app, exécutez /bin/chmod +x ~/scripts/moveClick.swift
pour rendre le script exécutable
Remplacez ~/scripts/moveClick.swift par votre chemin d'accès réel à votre fichier swift.
Je n'ai pas Keyboard maestro Mais je vois qu'il peut exécuter un shell script.
Exécuter un script Shell Action
~/scripts/moveClick.swift
Dans l'exemple ci-dessus, nous avons codé en dur le point de clic.
Mais si vous voulez le rendre polyvalent, nous pouvons faire en sorte que le code prenne des arguments.
En utilisant ce code à la place.
#!/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()
Encore une fois dans Keyboard maestro.
Exécuter un script Shell Action
~/scripts/moveClick.swift 396, 214