Usar ctrl-izquierda y ctrl-derecha para cambiar de escritorio es frágil, porque dependes de que el usuario tenga eso en sus asignaciones de teclado.
Dicho esto, este fragmento de Applescript desplazará los escritorios a la izquierda o a la derecha, según.
tell application "System Events"
-- key code 123 is left arrow
-- key code 124 is right arrow
key code 123 using {control down}
end tell
Si quieres ejecutar esto desde Python, una buena referencia es la publicación del Dr. Drang en leancrew . Reproduzco aquí las partes importantes en caso de que la publicación desaparezca. El post es lo suficientemente antiguo como para que sea python2, lo he arreglado para python3.
Primero el módulo, applescript.py
# dr drang appleScript handler for python
# http://www.leancrew.com/all-this/2013/03/combining-python-and-applescript/
import subprocess
def asrun(ascript):
"Run the given AppleScript and return the standard output and error."
osa = subprocess.Popen(['osascript', '-'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
return osa.communicate(bytes(ascript,'UTF-8'))[0]
def asquote(astr):
"Return the AppleScript equivalent of the given string."
astr = astr.replace('"', '" & quote & "')
return '"{}"'.format(astr)
Aquí hay un ejemplo, todo en un archivo frente a la importación del módulo. Esto moverá un escritorio a la izquierda.
# dr drang appleScript handler for python
# http://www.leancrew.com/all-this/2013/03/combining-python-and-applescript/
import subprocess
def asrun(ascript):
"Run the given AppleScript and return the standard output and error."
osa = subprocess.Popen(['osascript', '-'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
return osa.communicate(bytes(ascript,'UTF-8'))[0]
def asquote(astr):
"Return the AppleScript equivalent of the given string."
astr = astr.replace('"', '" & quote & "')
return '"{}"'.format(astr)
ascript = '''
tell application "System Events"
-- key code 123 is left arrow
-- key code 124 is right arrow
key code 123 using {control down}
end tell
'''
asrun(ascript)