Evitar que falle el teclado

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

User avatar
Hache_raw
Posts: 7
Joined: 24 Sep 2017, 15:02
Location: Tenerife
Contact:

Evitar que falle el teclado

28 Sep 2017, 15:42

Buenas tardes.

Tengo un script para que pulsa tres teclas en una ventana en segundo plano. Asi puedo trabajar mientras en otras cosas.

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

settitlematchmode,2

F1::
Gosub t1
SetTimer, t1, 500

i := false
While (!i)
{
    controlSend,,{left down}, Uso a distancia de tu PS4
    Sleep 1000
    controlSend,,{left up}, Uso a distancia de tu PS4

    controlSend,,{down down}, Uso a distancia de tu PS4
    Sleep 1000
    controlSend,,{down up}, Uso a distancia de tu PS4
}
Return


t1:
controlSend,,{enter down}, Uso a distancia de tu PS4
Sleep 400
controlSend,,{enter up}, Uso a distancia de tu PS4
Return


F2::
i := true
SetTimer, t1, Off
Return
El problema es que me afecta al teclado: Muchas veces no me funciona el Shift para poner letras en mayúsculas. Lo mismo con las tildes. Realmente creo que el problema es que el teclado se cambia al idioma "en" mientras AHK ejecuta el script.

Hay alguna manera de arreglarlo, es un bug, es normal?

Gracias!
Make it idiot proof and someone will make a better idiot.
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Evitar que falle el teclado

28 Sep 2017, 16:36

He probado el código con Notepad y me hace lo mismo, interfiere cuando estas escribiendo en otra ventana. He encontrado un tema al respecto pero no parece ser el caso, diría que este comportamiento es normal.
Una 'solución' sería detener el Script cuando detecte que el teclado está siendo utilizado, por ejemplo:
(nota: cambiar el título de la ventana, puse el bloc de notas para probar)

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

settitlematchmode,2

F1::
Gosub t1
SetTimer, t1, 500
SetTimer, t2, 500

i := false
While (!i)
{
    controlSend,,{left down}, Bloc de notas
    Sleep 1000
    controlSend,,{left up}, Bloc de notas

    controlSend,,{down down}, Bloc de notas
    Sleep 1000
    controlSend,,{down up}, Bloc de notas
}
Return

t1:
controlSend,,{enter down}, Bloc de notas
Sleep 400
controlSend,,{enter up}, Bloc de notas
Return

F2::
i := true
SetTimer, t1, Off
SetTimer, t2, Off
Return

t2:
SetTimer, t2, Off
If (!i)
{
    Input, Str, B I L1 V * E
    If (ErrorLevel == "Max")
    {
        Gosub F2
        SetTimer, F1, -1000
    }
    SetTimer, t2, On
}
Return

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 22 guests