Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to detect mouse click in python 3 on linux?

Tags:

python

I am very new to python, and I want to be able to detect mouse click events across the entire screen.

This question is closest to what I want, however none of the answers are very descriptive.

How can I do this?

like image 444
gandalf3 Avatar asked Dec 17 '13 08:12

gandalf3


1 Answers

you can handle mouse input using the lib PyUserInput (code sample from github) :

from pymouse import PyMouseEvent

def fibo():
    a = 0
    yield a
    b = 1
    yield b
    while True:
        a, b = b, a+b
        yield b

class Clickonacci(PyMouseEvent):
    def __init__(self):
        PyMouseEvent.__init__(self)
        self.fibo = fibo()

    def click(self, x, y, button, press):
        '''Print Fibonacci numbers when the left click is pressed.'''
        if button == 1:
            if press:
                print(self.fibo.next())
        else:  # Exit if any other mouse button used
            self.stop()

C = Clickonacci()
C.run()

otherwise, you can do it with the Xlib lib : Python Xlib catch/send mouseclick

like image 95
onionpsy Avatar answered Oct 15 '22 07:10

onionpsy