Page 1 sur 1

[R] Détecter inversion clics droite/gauche (souris)

Posté : mer. 14 janv. 2015 16:45
par Asardex
Bonjour à tous !

Bon, je suis un petit nouveau sur ce forum, puisqu'en général je trouvais toujours la solution à mes problèmes dans l'aide. Mais aujourd'hui c'est différent. En effet, je n'ai rien trouvé nul part, c'est pourquoi je me suis inscris et que je poste ce sujet. :)
Alors voilà la situation : Pour afficher mon emploi du temps sur le site internet de mon université, il y a une série fastidieuse de clics à faire pour sélectionner ma section, mon groupe de TP, si je suis en 1ère année etc ...
C'est alors que j'ai pensé à faire un petit programme en AutoIt afin de rendre la tache plus agréable. :roll:

Puis, j'ai été confronté à un problème : Lorsque j'ai voulu en faire profiter à toute ma promo, je me suis rendu compte qu'il y avait quelque chose qui allait coincer.
En effet, personnellement je suis gaucher, et je tiens ma souris de la main gauche. Pour (encore une fois) me simplifier la vie, j'ai activé l'option "inverser le bouton principal et secondaire" que l'on peu trouver dans Panneau de configuration\Matériel et audio\Souris. :arrow:
Lorsque l'on utilise MouseClick("left", $x, $y) , la fonction est sensée effectuer un clic avec le bouton gauche. Pour ma part, elle fait donc un clic droit ! :?

Je voudrais donc avoir un moyen de savoir si l'option Windows "inverser le bouton principal et secondaire" est activée ou non, ou bien un moyen de la désactiver/réactiver le temps de l'exécution du programme. 8)

(PS : Par la suite j'ai décidé de rajouter une "checkbox" sur une interface graphique qui se lance avant le programme afin de faire savoir au script si l'option est activée [l'utilisateur doit la cocher si c'est le cas]. C'est donc une solution alternative à mon problème, mais pas la plus ergonomique, et pas non plus très agréable pour l'utilisateur [même si on peu largement s'en contenter])

Merci de votre aide,

Quentin Alias Asardex

Re: [..] Détecter inversion clics droite/gauche (souris)

Posté : mer. 14 janv. 2015 17:00
par Y01
Bonjour,

Code : Tout sélectionner

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Mouse]
"SwapMouseButtons"="0"
0 Pour droitier
1 Pour gaucher.

Avec ça, la détection et la modification devrait être plus simple.

PS : Je déconseille la modification de la base de registre car elle demande un logoff/logon de la session pour être prise en compte.

Re: [..] Détecter inversion clics droite/gauche (souris)

Posté : mer. 14 janv. 2015 17:52
par Asardex
D'accord !

Merci beaucoup pour cette réponse aussi rapide, c'est vrai que j'aurai du chercher la solution dans la base de registre, mais ça ne m'est pas venu à l'idée !

Du coup pour contrôler l'activation ou non de cette option, il suffit simplement de faire ça :

Code : Tout sélectionner

#include <MsgBoxConstants.au3>

; inversion désactivée = 0
; inversion activée = 1

$var = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "SwapMouseButtons")

If($var = 1) Then
;~ RegRead renvoie dans ce cas l'une des deux valeurs suivantes : 0 ou 1 (option désactivée / activée)
;~ Si l'option est activée (=vrai), l'expression dans le if est vraie alors :
    MsgBox(0, "", "Inversion du bouton principal et secondaire activée")
Else ; Sinon, elle est fausse :
    MsgBox(0, "", "Inversion du bouton principal et secondaire désactivée")
EndIf
 
Merci encore pour votre aide !

Re: [..] Détecter inversion clics droite/gauche (souris)

Posté : mer. 14 janv. 2015 18:37
par orax
Bienvenue sur le forum. Si le problème est résolu, merci d'éditer le premier message et de remplacer [..] par [R] dans le titre.

Re: [..] Détecter inversion clics droite/gauche (souris)

Posté : mer. 14 janv. 2015 21:56
par mikell
le fichier d'aide a écrit :If the user has swapped the left and right mouse buttons in the control panel, then the behaviour of the buttons is different. "Left" and "right" always click those buttons, whether the buttons are swapped or not. The "primary" or "main" button will be the main click, whether or not the buttons are swapped. The "secondary" or "menu" buttons will usually bring up the context menu, whether the buttons are swapped or not.

Code : Tout sélectionner

[strike]MouseClick("left", $x, $y)[/strike]
MouseClick("primary", $x, $y)
Image

Re: [..] Détecter inversion clics droite/gauche (souris)

Posté : mer. 14 janv. 2015 23:48
par Asardex
Bien vu :O

Merci encore pour vos réponses, l'une peut être très pratique si on ne veut pas se casser la tête, l'autre peut permettre de comprendre comment sont gérées les options Windows que l'on configure dans le panneau de configurations ! Personnellement, je retiens les deux.

Sur ce, bonne soirée et bonne continuation !