For Python 3.6 releases, we provide two binary installer options for download. The default variant is 64-bit-only and works on macOS 10.9 (Mavericks) and later systems. We also continue to provide a 64-bit/32-bit variant that works on all versions of macOS from 10.6 (Snow Leopard) on. May 20, 2020 Alternatives to python(x,y) for Windows, Mac, Linux, Web, iPhone and more. Filter by license to discover only free or Open Source alternatives. This list contains a total of 25+ apps similar to python(x,y). List updated: 5/20/2020 10:02:00 PM.
![]()
Release Date: March 4, 2019
Python 2.7.16 is a bugfix release in the Python 2.7 series.
Note
Attention macOS users: As of 2.7.16, all current python.org macOS installers ship with builtin copies of OpenSSL and Tcl/Tk 8.6. See the installer README for more information.
Released:
A simple, cross-platform module for mouse and keyboard control
Project description
PyUserInput
A module for cross-platform control of the mouse and keyboard in python that is simple to use. Mouse control should work on Windows, Mac, and X11 (most Linux systems). Scrolling is implemented, but users should be aware that variations may exist between platforms and applications. Keyboard control works on X11(linux) and Windows systems. Mac control is a work in progress. Dependencies ------------ Depending on your platform, you will need the following python modules for PyUserInput to function: * Linux - Xlib * Mac - Quartz, AppKit * Windows - pywin32, pyHook How to get started ------------------ After installing PyUserInput, you should have pymouse and pykeyboard modules in your python path. Let's make a mouse and keyboard object: ```python from pymouse import PyMouse from pykeyboard import PyKeyboard m = PyMouse() k = PyKeyboard() ``` Here's an example of clicking the center of the screen and typing 'Hello, World!': ```python x_dim, y_dim = m.screen_size() m.click(x_dim/2, y_dim/2, 1) k.type_string('Hello, World!') ``` PyKeyboard allows for a range of ways for sending keystrokes: ```python # pressing a key k.press_key('H') # which you then follow with a release of the key k.release_key('H') # or you can 'tap' a key which does both k.tap_key('e') # note that that tap_key does support a way of repeating keystrokes with a interval time between each k.tap_key('l',n=2,interval=5) # and you can send a string if needed too k.type_string('o World!') ``` and it supports a wide range of special keys: ```python #Create an Alt+Tab combo k.press_key(k.alt_key) k.tap_key(k.tab_key) k.release_key(k.alt_key) k.tap_key(k.function_keys[5]) # Tap F5 k.tap_key(k.numpad_keys['Home']) # Tap 'Home' on the numpad k.tap_key(k.numpad_keys[5], n=3) # Tap 5 on the numpad, thrice ``` Note you can also send multiple keystrokes together (e.g. when accessing a keyboard shortcut) using the press_keys method: ```python # Mac example k.press_keys(['Command','shift','3']) # Windows example k.press_keys([k.windows_l_key,'d']) ``` Consistency between platforms is a big challenge; Please look at the source for the operating system that you are using to help understand the format of the keys that you would need to send. For example: ```python # Windows k.tap_key(k.alt_key) # Mac k.tap_key('Alternate') ``` I'd like to make a special note about using PyMouseEvent and PyKeyboardEvent. These objects are a framework for listening for mouse and keyboard input; they don't do anything besides listen until you subclass them. I'm still formalizing PyKeyboardEvent, so here's an example of subclassing PyMouseEvent: ```python 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() ``` Intended Functionality of Capturing in PyUserInput -------------------------------------------------- For PyMouseEvent classes, the variables 'capture' and 'capture_move' may be passed during instantiation. If `capture=True` is passed, the intended result is that all mouse button input will go to your program and nowhere else. The same is true for `capture_move=True` except it deals with mouse pointer motion instead of the buttons. Both may be set simultaneously, and serve to prevent events from propagating further. If you notice any bugs with this behavior, please bring it to our attention. A Short Todo List ----------------- These are a few things I am considering for future development in PyUserInput: * Ensuring that PyMouse capturing works for all platforms * Implement PyKeyboard capturing (add PyKeyboardEvent for Mac as well) * PyMouse dynamic delta scrolling (available in Mac and Windows, hard to standardize) * Make friends with more Mac developers, testing help is needed... Many thanks to -------------- [Pepijn de Vos](https://github.com/pepijndevos) - For making [PyMouse](https://github.com/pepijndevos/PyMouse) and allowing me to modify and distribute it along with PyKeyboard. [Jack Grigg](https://github.com/pythonian4000) - For contributions to cross-platform scrolling in PyMouse. Release historyRelease notifications | RSS feed
0.1.11
0.1.10
0.1.9
Anaconda Python
0.1.8
0.1.7
0.1.6
Python X Y Download
0.1.5
0.1.4
0.1.3
0.1.2
![]() Python Download Mac Os
0.1.1
0.1
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for PyUserInput-0.1.11-py2-none-any.whl
Hashes for PyUserInput-0.1.11.tar.gz
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
December 2020
Categories |