Moving mouse, Python3 and PyObjc

J

joaofguiomar

import objc

def clickMouse(x, y, button):
bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(), [('CGPostMouseEvent', 'v{CGPoint=ff}III')])
CGPostMouseEvent((x, y), 1, button, 1)
CGPostMouseEvent((x, y), 1, button, 0)

clickMouse(600,500, 1)


this seems to send the mouse cursos to the top left corner, no matter what coords i send on clickMouse...


Also, I just can't seem to install PyObjc and use it on Python3.3 ... always get No module named objc.

Sighs... Made a simple python app while at work (windows 7) and was trying to change it to work on Os X (home computer) but cant even get the basics done (move and click mouse)....


Thank you.
 
T

Terry Reedy

import objc
def clickMouse(x, y, button): bndl = objc.loadBundle('CoreGraphics',
globals(),
'/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(), [('CGPostMouseEvent',
'v{CGPoint=ff}III')]) CGPostMouseEvent((x, y), 1, button, 1)
CGPostMouseEvent((x, y), 1, button, 0)
clickMouse(600,500, 1)
this seems to send the mouse cursos to the top left corner, no matter
what coords i send on clickMouse...

Also, I just can't seem to install PyObjc and use it on Python3.3 ...
always get No module named objc.

If the import fails, then the call to clickMouse should fail with
NameError, but you said that clickMouse executes, so it is hard to
determine what you have done and what does and does not work.

You need to post more information.
 
D

Dave Angel

import objc

def clickMouse(x, y, button):
bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(), [('CGPostMouseEvent', 'v{CGPoint=ff}III')])
CGPostMouseEvent((x, y), 1, button, 1)
CGPostMouseEvent((x, y), 1, button, 0)

clickMouse(600,500, 1)


this seems to send the mouse cursos to the top left corner, no matter what coords i send on clickMouse...


Also, I just can't seem to install PyObjc and use it on Python3.3 ... always get No module named objc.

Sighs... Made a simple python app while at work (windows 7) and was trying to change it to work on Os X (home computer) but cant even get the basics done (move and click mouse)....


Thank you.

What's the objc module got to do with the mouse?

http://packages.python.org/pyobjc/api/module-objc.html

Perhaps you meant some other module. Could you be specific? What
modules did you import, what other code did you write, what version of
Python are you running, and on which computer OS did you get the results
you describe?
 
O

Oneill

import objc



def clickMouse(x, y, button):

bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework')

objc.loadBundleFunctions(bndl, globals(), [('CGPostMouseEvent', 'v{CGPoint=ff}III')])

CGPostMouseEvent((x, y), 1, button, 1)

CGPostMouseEvent((x, y), 1, button, 0)



clickMouse(600,500, 1)





this seems to send the mouse cursos to the top left corner, no matter what coords i send on clickMouse...





Also, I just can't seem to install PyObjc and use it on Python3.3 ... always get No module named objc.



Sighs... Made a simple python app while at work (windows 7) and was trying to change it to work on Os X (home computer) but cant even get the basics done (move and click mouse)....





Thank you.




Well i did this : sudo env CC=clang easy_install -U pyobjc

and i get alot of these:

warning: no directories found matching 'source-deps'
warning: no previously-included files matching '.DS_Store' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
clang: warning: argument unused during compilation: '-mno-fused-madd'
Skipping installation of build/bdist.macosx-10.8-intel/egg/PyObjCTest/__init__.py (namespace package)
Skipping installation of build/bdist.macosx-10.8-intel/egg/PyObjCTest/test_abactions.py (namespace package)

before i tried easy_install pyobjc and it failed, with env CC=clang it finishes but with alot of those warnings.
 
O

Oneill

import objc

def clickMouse(x, y, button):
bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(), [('CGPostMouseEvent', 'v{CGPoint=ff}III')])
CGPostMouseEvent((x, y), 1, button, 1)
CGPostMouseEvent((x, y), 1, button, 0)

clickMouse(600,500, 1)


this seems to send the mouse cursos to the top left corner, no matter what coords i send on clickMouse...


Also, I just can't seem to install PyObjc and use it on Python3.3 ... always get No module named objc.

Sighs... Made a simple python app while at work (windows 7) and was trying to change it to work on Os X (home computer) but cant even get the basics done (move and click mouse)....


Thank you.



What's the objc module got to do with the mouse?



http://packages.python.org/pyobjc/api/module-objc.html



Perhaps you meant some other module. Could you be specific? What

modules did you import, what other code did you write, what version of

Python are you running, and on which computer OS did you get the results

you describe?



Well without PyObjc i couldnt control the mouse... I saw some examples importing Quartz but that also failed...

I have python 2.7 installed and 3.3. I started building the app using Python 3.3 at work (windows) and importing win32api and win32con. Everything went smoothly.

At home I was going to import OS X libs to replace the win32 ones to control the mouse in OS X. I tried installing autopy and it fails

"clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
src/screengrab.c:48:26: warning: implicit declaration of function 'CGDisplayBitsPerPixel' is invalid in C99 [-Wimplicit-function-declaration]
bitsPerPixel = (uint8_t)CGDisplayBitsPerPixel(displayID);
^
src/screengrab.c:191:2: warning: 'CGLSetFullScreen' is deprecated [-Wdeprecated-declarations]
CGLSetFullScreen(glContext);
"


PyObjc used to ouput similar errors but i tried with the env CC=clang and at least it doesnt fail, but gives me alot of skipping and warnings.


also tried PyMouse but that didn't work also, couldnt install.



At the moment I can click the mouse and it actually moves, but no matter what coords I place it always goes to the upper left corner.


Mac Os X 10.8.2
Python 2.7 / 3.3
Im using Komodo Edit

also installed ActivstatePython.
 
O

Oneill

import objc

def clickMouse(x, y, button):
bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework')
objc.loadBundleFunctions(bndl, globals(), [('CGPostMouseEvent', 'v{CGPoint=ff}III')])
CGPostMouseEvent((x, y), 1, button, 1)
CGPostMouseEvent((x, y), 1, button, 0)

clickMouse(600,500, 1)


this seems to send the mouse cursos to the top left corner, no matter what coords i send on clickMouse...


Also, I just can't seem to install PyObjc and use it on Python3.3 ... always get No module named objc.

Sighs... Made a simple python app while at work (windows 7) and was trying to change it to work on Os X (home computer) but cant even get the basics done (move and click mouse)....


Thank you.



What's the objc module got to do with the mouse?



http://packages.python.org/pyobjc/api/module-objc.html



Perhaps you meant some other module. Could you be specific? What

modules did you import, what other code did you write, what version of

Python are you running, and on which computer OS did you get the results

you describe?



Well without PyObjc i couldnt control the mouse... I saw some examples importing Quartz but that also failed...

I have python 2.7 installed and 3.3. I started building the app using Python 3.3 at work (windows) and importing win32api and win32con. Everything went smoothly.

At home I was going to import OS X libs to replace the win32 ones to control the mouse in OS X. I tried installing autopy and it fails

"clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
clang: warning: argument unused during compilation: '-mno-fused-madd'
src/screengrab.c:48:26: warning: implicit declaration of function 'CGDisplayBitsPerPixel' is invalid in C99 [-Wimplicit-function-declaration]
bitsPerPixel = (uint8_t)CGDisplayBitsPerPixel(displayID);
^
src/screengrab.c:191:2: warning: 'CGLSetFullScreen' is deprecated [-Wdeprecated-declarations]
CGLSetFullScreen(glContext);
"


PyObjc used to ouput similar errors but i tried with the env CC=clang and at least it doesnt fail, but gives me alot of skipping and warnings.


also tried PyMouse but that didn't work also, couldnt install.



At the moment I can click the mouse and it actually moves, but no matter what coords I place it always goes to the upper left corner.


Mac Os X 10.8.2
Python 2.7 / 3.3
Im using Komodo Edit

also installed ActivstatePython.
 
D

Dave Angel

Your emails are very hard to read, since your mailer doublespaces nearly
everything you quote.
Well without PyObjc i couldnt control the mouse... I saw some examples importing Quartz but that also failed...

Well, now I can guess some of the answers to my questions. You
mentioned Windows, but apparently that was a red herring. You are
apparently writing an objective C application (Cocoa) for the iPhone,
and using the pyobjc module to translate Python to Objective C.

so the answer to your original problem (mouse going to 0,0) could need
some combination of Mac development tools, Cocoa runtime environment,
etc. to solve. You're not writing cross-platform, so you've rejected
the standard guis for doing this sort of thing.

Perhaps the page at
http://docs.python-guide.org/en/latest/scenarios/gui/

could be of help in choosing a different gui toolkit.

But I can't figure I'd be of any help, since I don't have a Mac, nor a
license for their development environment, nor any docs for either.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,818
Latest member
Brigette36

Latest Threads

Top