python - libreria - pynput keyboard tutorial
¿Hay un sendKey para Mac en Python? (5)
¿Quizás podría ejecutar un script OSA (man osascript) de Python, por ejemplo, y manejar la aplicación?
En Mac 10.6, quiero provocar que una aplicación activa se desactive o minimice con Python.
Sé que podría usar sendKey en Windows con Python, entonces ¿qué pasa con Mac?
Además de Yinan, que enviará la combinación de teclas a la aplicación actualmente activa, puede enviarla a una aplicación específica de la siguiente manera. Pase lo siguiente a osascript como antes, o guárdelo en un archivo y pase el archivo a osascript
tell application "Safari"
activate
tell application "System Events" to keystroke "r" using {command down}
end tell
Esto enviará Cmd + r a Safari después de traerlo al primer plano.
Esto es lo que encontré de una pregunta diferente sobre . Funciona bastante bien para mi problema.
import os
cmd = """
osascript -e ''tell application "System Events" to keystroke "m" using {command down}''
"""
# minimize active window
os.system(cmd)
Para hacer que mis scripts que ya funcionan en Windows usando SendKeys
de pip
también funcionen en OS X, hice un archivo /Library/Python/2.7/site-packages/SendKeys/__init__.py
( site-packages
es donde pip
pone todo lo que instala en mi Mac ... no estoy seguro si es configurable o no.)
Los contenidos del archivo son:
def SendKeys(keys):
if keys == ''{ENTER}''
keys = ''return''
from os import system
system(''osascript -e /'tell application "System Events" to keystroke '' + keys + "''")
Obviamente, no es muy robusto, así que no lo pypi
en pypi
, pero es suficiente para que mis scripts se ejecuten tanto en OS X como en Windows.
Pruebe appscript , un puente de eventos de Apple disponible en PyPI:
from appscript import app, k
app(''System Events'').keystroke(''N'', using=k.command_down)