Modificateur de défilement pour souris / trackball dans Windows

J'ai un trackball (Logitech Trackman Marble dans ce cas, bien que cela puisse s'appliquer à n'importe quel périphérique de pointage ou de pointage) où j'aimerais utiliser l'un des boutons en tant que clic central quand je clique dessus, mais pour déclencher une action de défilement lorsque je Maintenez-le enfoncé et déplacez la balle autour.

Je pourrais le faire très facilement dans Linux en configurant le modificateur de défilement dans la configuration X, mais le pilote livré avec le trackball (Logitech) ne permet qu'un ou l'autre. Existe-t-il un moyen de configurer cela dans Windows 8?

Le contrôle des boutons X-Mouse devrait fonctionner. http://www.highrez.co.uk/downloads/XMouseButtonControl.htm Il suffit de configurer l'un des boutons pour "Modifier le mouvement pour défiler". La façon dont cela fonctionne avec ma souris est que je tiens le bouton, puis le déplacement de la souris défile la page au lieu de déplacer le pointeur. Il devrait fonctionner de la même manière pour un trackball.

J'ai trouvé sur Windows 8.1: Téléchargez Marble Mouse Wheel ( http://marble-mouse-scroll-wheel.software.informer.com/download/ – ignorez / annulez les annonces – télécharger uniquement marbleinst.exe), mais après l'installation, exécutez-le En mode compatibilité pour Windows 7. Réglé (bouton 4) en tant que bouton de défilement.

Je viens d'avoir une souris Logitech Marble et j'ai aussi eu le problème du défilement. J'ai donc fait ce script sur AutoHotKey. Le bouton X gauche permet le défilement, ce qui signifie que, en bas, vous pouvez vous déplacer verticalement et horizontalement avec la balle, et avancer et reculer dans le navigateur avec les boutons gauche et droit. Le bouton X droit a la même action que le bouton du milieu.

Im sur Windows 7.

#SINGLEINSTANCE FORCE GLOBAL status := "basic" GLOBAL cnt_x GLOBAL cnt_y XButton2::MButton $*XButton1:: status := "scroll" cnt_x := 0 cnt_y := 0 MOUSEGETPOS, st_x, st_y SETTIMER, _scroll, 30 RETURN $*XButton1 UP:: status := "basic" SETTIMER, _scroll, OFF RETURN _scroll: MOUSEGETPOS, cur_x, cur_y MOUSEMOVE, st_x, st_y IF(abs(cur_x-st_x) > abs(cur_y-st_y)) { cnt_x := cnt_x + (cur_x-st_x) ControlGetFocus, control, A IF (cnt_x > 7) { cnt := floor(cnt_x / 8) LOOP, %cnt% { SendMessage, 0x114, 0, 0, %control%, A } cnt_x := cnt_x - 8*floor(cnt_x / 8) } ELSE IF (cnt_x < -7) { cnt := -ceil(cnt_x / 8) LOOP, %cnt% { SendMessage, 0x114, 1, 0, %control%, A } cnt_x := cnt_x - 8*ceil(cnt_x / 8) } } ELSE { IF (cur_y >= st_y) { cnt_y := cnt_y + (cur_y-st_y)**1.2 } ELSE { cnt_y := cnt_y -(st_y-cur_y)**1.2 } IF (cnt_y > 7) { cnt := floor(cnt_y / 8) LOOP, %cnt% { CLICK WheelUp } cnt_y := cnt_y - 8*floor(cnt_y / 8) } ELSE IF (cnt_y < -7) { cnt := -ceil(cnt_y / 8) LOOP, %cnt% { CLICK WheelDown } cnt_y := cnt_y - 8*ceil(cnt_y / 8) } } RETURN $*LButton:: IF (status = "basic") { CLICK DOWN Left } ELSE IF (status = "scroll") { SEND {Browser_Back} } RETURN $*LButton UP:: IF (status = "basic") { CLICK UP Left } RETURN $*RButton:: IF (status = "basic") { CLICK DOWN Right } ELSE IF (status = "scroll") { SEND {Browser_Forward} } RETURN $*RButton UP:: IF (status = "basic") { CLICK UP Right } RETURN