Page 1 of 2

Modifier le comportement de touches lors de la pression d'une autre

Posted: 30 Sep 2018, 11:14
by FRX23
Bonjour,

Je cherche a faire un script simple qui me permettrait de :

A la pression continue d'une touche, inverser les touches 'flèche droite' et flèche gauche' tout en continuant de fonctionner normalement (j'aimerais que ça soit la touche 'flèche bas' )

Lors du relâchement de cette touche, les touches 'flèche droite' et flèche gauche' doivent reprendre leur comportement normal.

Merci d'avance :wave:

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 30 Sep 2018, 15:42
by A_AhkUser
Salut FRX23,

Code: Select all

#NoEnv
#SingleInstance force
#Warn


#If (GetKeyState("Down"))
	Left::Right
	Right::Left
#If

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 01 Oct 2018, 13:57
by FRX23
Salut A_AhkUser,

Merci beaucoup, je vais tester ça :)

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 01 Oct 2018, 14:02
by FRX23
Ça marche nickel :dance: :clap:

Merci infiniment pour ton aide, ça m'ouvre plein de possibilités : :P

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 01 Oct 2018, 14:33
by FRX23
Par contre petit problème :

lorsque j’appuie relativement longtemps sur 'flèche bas' et 'flèche gauche' ou 'flèche droite' et que je relâche tout, c'est comme si 'flèche gauche' ou' droite' restait enfoncer ; jusqu’à ce que j'appuie de nouveau sur 'flèche gauche' ou 'droite' (selon le cas).

Il y a t il une commande de 'reset' ?

Merci d'avance :)

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 06 Oct 2018, 03:06
by FRX23
Bon, en fait c'est pas quand je 'relâche tout' que ça bug, mais quand je relâche la touche 'bas' avant la touche 'droite' ou gauche'

J'ai essayé en rajoutant #InstallKeybdHook
et modifié le GetKeyState en GetKeyState("Down","P")) (pour l’état physique) mais sans succes :(

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 07 Jun 2019, 18:31
by Kilo_SSK
J'avais le même problème, je viens d'essayer, merci, ça marche, nickel!

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 07 Jun 2019, 18:40
by FRX23
Salut,

j'arrive pas a m'en sortir de ce 'petit' problème qui gâche tout :|


En gros :
si je fais 'bas'+'gauche' ça me donne bien 'bas'+'droite'
mais si je ne relâche pas 'gauche' et que je fais 'gauche' en lâchant 'bas' (comme un quart de cercle sur un joypad) la 'gauche' reste enfoncée jusqu’à ce que je presse 'droite'

Comment forcer la relâche de la touche droite ou gauche après les avoir interverties via la méthode de A_AhkUser ci dessus ?

Merci d'avance

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 05 Jan 2020, 06:57
by FRX23
UP

J'ai toujours pas trouvé et je peux pas enlever la balise 'résolu' :|

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 06 Jan 2020, 13:05
by joedf
Bonjour, j'ai enlevé la balise 'résolu' :+1:

pour la solution, je pense tu peux simplement (enleve tout le reste) faire le suivant:

Code: Select all

Left::Right
Right::Left

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 09 Jan 2020, 05:36
by FRX23
Bonjour et merci joedf :)

Malheureusement j'ai besoin que les touches soient inversées que quand je presse la touche 'bas'

C'est pour le mouvement d'un véhicule dans un jeu. Je souhaiterais que quand je recule, les directions ne soient pas inversées.

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 09 Jan 2020, 17:00
by joedf
Hmmm.... ca pt? :think:

Code: Select all

#InstallKeybdHook

isDownActive := 0
settimer, chkDn, 10

#If (isDownActive)
	Left::Right
	Right::Left
#If

chkDn:
isDownActive := GetKeyState("Down")
return

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 12 Jan 2020, 04:40
by FRX23
Merci joedf

Mais ça n'a pas d 'effet, la variable "isDownActive" n'a pas l'air de fonctionner.

Je suis en version 1.1.30.00

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 13 Jan 2020, 10:35
by joedf
Hmmm... le code fonctionne pour moi... :think:
Essaye avec v1.1.32.00 ?

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 13 Jan 2020, 14:47
by FRX23
Ok au temps pour moi j'avais pas recopié le code en entier :shock:

Ça fonctionne mais avec le même problème de touche 'coincée' :crazy:

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 22 May 2020, 09:34
by FRX23
Salut :wave: ,

Ça fait des mois que j’essaie sans succès, de contourner ce bug (propre au jeu je pense) de 'direction coincée'

Ainsi, j'aimerais utiliser ce code qui marche :

Code: Select all

#NoEnv
#SingleInstance force
#Warn


#If (GetKeyState("Down"))
	Left::Right
	Right::Left
#If
Mais rajouter un contrôle qui ferait que après le relâchement de la touche "Down" (c.a.d. quand elle n'est plus active), ça envoie les commandes :

Code: Select all

Send {Left}{Right}
J'ai tester à laide d'un autre script qui affecte ce code a une touche.
Ainsi la pression de cette touche, lors du phénomène de 'direction coincée', le résout

Mais j'aimerais que çà soit automatique et transparent :)

Merki d'avance ;)

Re: Modifier le comportement de touches lors de la pression d'une autre  Topic is solved

Posted: 22 May 2020, 12:55
by joedf
Pas de problèmes! J'pense que cela fonctionne si on rajoute:

Code: Select all

~Down up::Send {Left}{Right}

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 22 May 2020, 13:11
by FRX23
Mission accomplie ! :salute:

merci beaucoup joedf ! :bravo:

:superhappy:

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 22 May 2020, 16:58
by joedf
Parfait! :D

Re: Modifier le comportement de touches lors de la pression d'une autre

Posted: 25 Aug 2020, 03:49
by Pid16
Bonjour je cherche a faire un script qui fait aumatiquement une seule pression sur une touche merci de votre aide