Python - очистка экрана и управление мышью в OS X

Я изучаю очистку экрана и управление мышью в OS X для проект для хобби.

Я не ищу самый элегантный способ, но мне нужно иметь возможность снимать экран примерно каждые полсекунды.

Я обнаружил, что могу использовать инструмент командной строки screencapture ( screencapture -w -W - i ~ / Desktop / capture.jpg ), но меня беспокоит, что это может быть недостаточно быстро.

Я также ищу способ отправлять клики, устанавливать положение курсора и получать позицию курсора . Вроде того, что предоставляет win32api: mouse_event , SetCursorPos и GetCursorPos .

Я нашел этот пример кода, который использует библиотеку PyObjC для установки курсора положение, но он всегда перемещает мою мышь в точку (0,0), а не в координаты, которые я ей передаю.

import objc

class ETMouse():   
    def setMousePosition(self, x, y):
        bndl = objc.loadBundle('CoreGraphics', globals(),
                '/System/Library/Frameworks/ApplicationServices.framework')
        objc.loadBundleFunctions(bndl, globals(),
                [('CGWarpMouseCursorPosition', 'v{CGPoint=ff}')])
        CGWarpMouseCursorPosition((x, y))

if __name__ == "__main__":
    et = ETMouse()
    et.setMousePosition(500, 500)

Изменить: я использую Snow Leopard (10.6), если это важно.

Спасибо!

5
задан mjv 23 December 2010 в 04:30
поделиться