ในฐานะที่เป็นการดัดแปลงจาก @ mat-burns code ในโพสต์นี้
(หมายเหตุคุณจะต้องติดตั้งxcodeด้วย)
#!/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()
เปลี่ยนสาย:
let pointX = 396
let pointY = 214
เพื่อสะท้อนจุดคลิกของคุณ
บันทึกรหัสนี้เป็น moveClick.swift
และจากนั้นใน Terminal.app ทำงาน/bin/chmod +x ~/scripts/moveClick.swift
เพื่อให้สคริปต์ที่ปฏิบัติการได้
เปลี่ยน ~ / สคริปต์ / moveClick.swift เป็นพา ธ ที่แท้จริงไปยังไฟล์ swift ของคุณ
ฉันไม่มี Keyboard มาสโทร แต่ฉันเห็นว่ามันสามารถรันเชลล์สคริปต์ได้
ดำเนินการ Shell Script Action
~/scripts/moveClick.swift
ในตัวอย่างด้านบนเราได้เขียนรหัสจุดคลิกอย่างหนัก
แต่ถ้าคุณต้องการทำให้มันใช้งานได้หลากหลายเราสามารถทำให้โค้ดขัดแย้งกันได้
ใช้รหัสนี้แทน
#!/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()
อีกครั้งใน Keyboard มาสโทร
ดำเนินการ Shell Script Action
~/scripts/moveClick.swift 396, 214