2010-08-23 30 views
32

पर माउस क्लिक को अनुकरण करें मैं वर्तमान में अपने कंप्यूटर के साथ माउस के रूप में काम करने के लिए अपने निंटेंडो Wiimote (किंडा दुखी दुखी) बनाने की प्रक्रिया में हूं। मैंने नंचुक के छड़ी नियंत्रण को वास्तव में माउस पर ऊपर और नीचे, स्क्रीन पर बाएं और दाएं स्थानांतरित करने में कामयाब रहा है! यह बहुत रोमांचक था। अब मैं अटक गया हूँ।पाइथन

मैं सही अजगर के माध्यम से चीजों पर क्लिक करें जब मैं एक दबाते हैं, जब मैं एक खोज करने के लिए चला गया छोड़ दिया करने के लिए/चाहते हैं, सभी यह tkinter था के साथ आया था?

तो मेरे सवाल, क्या मैं अजगर/सही डेस्कटॉप पर क्लिक करें छोड़ दिया करने के लिए कहते हैं, और यदि यह संभव है, हो सकता है एक टुकड़ा प्रदान करते हैं?

आपकी मदद के लिए धन्यवाद!

नोट: मुझे लगता है कि मैं यह उल्लेख करना भूल गया कि यह लिनक्स के लिए है।

+2

इस ओएस/विंडोइंग प्रणाली निर्भर करेगा शायद। आदर्श रूप में, आपके ऑपरेटिंग सिस्टम विंडोिंग सिस्टम में पाइथन बाइंडिंग होगी। आम तौर पर, तर्क सी/सी ++/सी #/उद्देश्य-सी कॉल के समान होते हैं जो दस्तावेज़ीकरण वास्तव में लिखा जाता है। या आप भाग्यशाली हो सकते हैं और वास्तविक पायथन दस्तावेज़ प्राप्त कर सकते हैं। कम से कम पोस्ट करें कि आप किस ओएस पर हैं ताकि लोग मदद कर सकें। – aaronasterling

+0

शायद यह उत्तर प्रासंगिक नहीं है लेकिन शायद आप सिकुली परियोजना स्रोत की जांच कर सकते हैं। यह ज्योथन है लेकिन ... – joaquin

+0

एक अच्छी परियोजना की तरह दिखता है .. माउस को स्थानांतरित करने के लिए आप क्या उपयोग कर रहे हैं? क्या आप पाइथन के माध्यम से ऐसा कर रहे हैं, या किसी अन्य तरीके से? और, ज़ाहिर है, किस ओएस/डीई/डब्ल्यूएम पर? बीटीडब्ल्यू, कुछ समय पहले, मुझे एक एक्सर्ग ड्राइवर मिला जो कि माउस के रूप में Wiimote (आईआर-पेन इंटरैक्टिव व्हाइटबोर्ड प्रोजेक्ट के लिए) का उपयोग करने की अनुमति दे सकता है, शायद यह नौकरी कर सकता है ..? – redShadow

उत्तर

15

पायथन-यूनपुट का उपयोग करना बहुत आसान है।

http://tjjr.fi/software/python-uinput/

यहाँ एक उदाहरण https://github.com/tuomasjjrasanen/python-uinput/blob/master/examples/mouse.py

+0

कोई भी विचार बाहरी पुस्तकालयों/उपकरणों का उपयोग किए बिना ऐसे कार्यों को कैसे करें? – Jewenile

2

आप इस सहायक हो सकते हैं:

http://www.eventghost.org/

गुड लक!

+0

और लिनक्स के तहत, आप यूनपुट का उपयोग कर सकते हैं। – tonfa

2

आप अजगर स्क्रिप्ट से XTE कार्यक्रम इंटरफेस करने की कोशिश कर सकते हैं।

2

खोलें है अपने टर्मिनल और गोटो सीडी/usr/share/pyshared/मुड़/प्रोटोकॉल/चूहों
इस __init__.pymouseman.py अजगर स्क्रिप्ट आप के लिए काम करेंगे कर सकते हैं, उनकी जाँच करो।

4

evdev पैकेज इनपुट लिनक्स में उपतंत्र से निपटने के कुछ हिस्सों के लिए बाइंडिंग प्रदान करता है। यह यूनपुट के लिए एक पाइथोनिक इंटरफ़ेस भी शामिल होता है।

एक सापेक्ष गति घटना है और एक बाईं माउस भेजने का उदाहरण evdev साथ क्लिक:

from evdev import UInput, ecodes as e 

capabilities = { 
    e.EV_REL : (e.REL_X, e.REL_Y), 
    e.EV_KEY : (e.BTN_LEFT, e.BTN_RIGHT), 
} 

with UInput(capabilities) as ui: 
    ui.write(e.EV_REL, e.REL_X, 10) 
    ui.write(e.EV_REL, e.REL_Y, 10) 
    ui.write(e.EV_KEY, e.BTN_LEFT, 1) 
    ui.syn() 
23

आप PyMouse जो अब PyUserInput साथ विलय कर दिया गया है का उपयोग कर सकते हैं। मैं पिप के माध्यम से यह स्थापित:

  1. apt-get install python-pip

  2. pip install pymouse

कुछ मामलों में यह कर्सर का इस्तेमाल किया और अन्य लोगों में यह कर्सर के बिना माउस की घटनाओं में नक़ल की।

from pymouse import PyMouse 

m = PyMouse() 
m.position() #gets mouse current position coordinates 
m.move(x,y) 
m.click(x,y) #the third argument "1" represents the mouse button 
m.press(x,y) #mouse button press 
m.release(x,y) #mouse button release 

आप यह भी निर्दिष्ट कर सकते हैं जो माउस बटन आप इस्तेमाल करना चाहते हैं। पूर्व बाएं बटन:

m.click(x,y,1) 

ध्यान रखें, लिनक्स पर इसे एक्सलिब की आवश्यकता है।

-1

मैंने यह उल्लेख नहीं देखा, तो यहां यह जाता है - python-dogtail भी है; देखें:

यह जरूरी है ग्नोम डेस्कटॉप में "सहायक प्रौद्योगिकियों सक्षम करें" - लेकिन सिद्धांत रूप में प्राप्त कर सकते हैं जैसे कि किसी एप्लिकेशन के जीयूआई बटन के नाम, और उन पर आभासी क्लिक की अनुमति दें (बजाय x/y निर्देशांक के माध्यम से)।

0

आप (चलाने pip install pyautogui) PyPI से PyAutoGUI जीयूआई स्वचालन मॉड्यूल स्थापित कर सकते हैं और फिर एक निश्चित एक्स पर क्लिक करने के pyautogui.click() फोन और वाई स्क्रीन के निर्देशांक:

>>> import pyautogui 
>>> pyautogui.click(50, 100) 
>>> pyautogui.moveTo(200, 200) 

PyAutoGUI विंडोज, मैक पर काम करता है, और लिनक्स, और पायथन 2 और 3 पर। यह कीबोर्ड को अनुकरण भी कर सकता है, माउस ड्रैग कर सकता है, स्क्रीनशॉट ले सकता है, और स्क्रीनशॉट की सरल छवि पहचान कर सकता है।

पूर्ण डॉक्स पर https://pyautogui.readthedocs.org/

3

PyAutoGui काम करता है शानदार .. अल Sweigart के लिए धन्यवाद रहे हैं ...

मेरा का एक उदाहरण ...

import pyautogui 

pyautogui.FAILSAFE = False 

for x in range(555, 899): 
    pyautogui.moveTo(x, x)