Mollette souris au clavier

Contenu du snippet

Ce petit bout de code présente comment on peut simuler une molette de souris sans avoir de molette souris. Appuyez sur le touche "Arret défil" et bouger la souris vers le haut ou le bas pour utiliser le "scroll".

Très pratique si comme moi vous avez un clavier avec trackbool intégré.

Le programme utilise les bibliothèques PyHook et PyWin32. (Normalement ces deux bibliothèque et celle par défaut devrais suffire) Le programme est fait pour Python 2.5.

Source / Exemple :


# -*- coding: iso8859-1 -*-

import win32api
import win32con
import sys
import pythoncom
import pyHook

##Variable global
activ = 0
y = 0

##Evenement declanché sur une touche
def OnKeyboardEvent(event):
    global activ
    global y

    if event.Key == "Scroll":
        y = win32api.GetCursorPos()[1]
        if activ == 1:
            activ = 0
            hm.UnhookMouse()
        elif activ == 0:
            activ = 1
            hm.HookMouse()
        return False
            
    # return True pour executer l'evenement normal de la touche
    return True

##Evenement declanché sur mouvement de la souris
def OnMouseEvent(event):
    global y
    if y < event.Position[1]:
        win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL,0,0,-120)
    elif y > event.Position[1]:
        win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL,0,0,120)
    return False

hm = pyHook.HookManager()
# Abonner les fonctions au evenement
hm.KeyDown = OnKeyboardEvent
hm.MouseMove = OnMouseEvent
# "Connection" au Hook du clavier
hm.HookKeyboard()
# Ecoute
pythoncom.PumpMessages()

Conclusion :


Se n'est surement pas la meilleur méthode. Mais elle fonctionne ;-)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.