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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Asardex
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 14 janv. 2015 14:52
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par Asardex le mer. 14 janv. 2015 23:49, modifié 1 fois.
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

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

#2

Message 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.
Y01
Asardex
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 14 janv. 2015 14:52
Status : Hors ligne

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

#3

Message 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 !
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#4

Message 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.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#5

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Asardex
Niveau 2
Niveau 2
Messages : 15
Enregistré le : mer. 14 janv. 2015 14:52
Status : Hors ligne

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

#6

Message 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 !
Répondre