Elaphe
De profesión Chapuzas
- Registrado
- 8 Mar 2016
- Mensajes
- 370
- Puntos
- 43
Hola. A ver si me podéis echar una mano, porque de AutoHotkey se un poco, pero de Python sé menos que nada y tengo un script que me gustaría poder modificar. Es muy sencillo. Simplemente hay un array con 4 elementos y al final hay 4 combinaciones de teclas cada una de las cuales activa uno de los elementos en pantalla. Eso funciona. Lo que me gustaría es tener una única combinación de teclas que al presionarse fuera pasando en un ciclo infinito desde el primer elemento hasta el último. ¿Me podríais por favor modificar el código para que eso funcione? Gracias.
Código:
import ac
import acsys
import os
import sys
import threading
from IS_ACUtil import *
arr = ["SHAKERS", "TIME", "FANS SPEED","FORCE FEEDBACK"]
runing_keyhook = False
shutdown = False
def acShutdown():
global shutdown
shutdown = True
def acMain(ac_version):
global function, fswindow
fswindow = ac.newApp("Function select")
ac.setTitle(fswindow, "")
ac.drawBorder(fswindow, 0)
ac.setSize(fswindow, 137, 31)
ac.setIconPosition(fswindow, 0, -10000)
function = ac.addLabel(fswindow, arr[3]);
ac.setPosition(function, 68, 5)
ac.setFontColor(function, 0.945, 0.933, 0.102, 1.0)
ac.setFontAlignment(function, 'center')
runing_keyhook = True
t_kh = threading.Thread(target=keyhook)
t_kh.start()
return "Function select"
def keyhook():
global runing_keyhook
while True:
if getKeyState(18): # alt 6
if getKeyState(54):
ac.setText(function, arr[0].format(function))
if getKeyState(18): # alt 7
if getKeyState(55):
ac.setText(function, arr[1].format(function))
if getKeyState(18): # alt 8
if getKeyState(56):
ac.setText(function, arr[2].format(function))
if getKeyState(18): # alt 9
if getKeyState(57):
ac.setText(function, arr[3].format(function))
if shutdown:
runing_keyhook = False
break