Abhilfe für einen Trackball ohne Scrollrad?

30

Ich überlege mir einen Trackball zu kaufen und meine Option ist Logitech Trackman Marble. Aber dann habe ich festgestellt, dass es kein Scrollrad gibt. Wie gehen Sie damit um? Möchte ich auf jeden Fall einen Trackball mit Scrollrad kaufen? Ich scrolle viel mit Facebook.

Ich möchte nicht mit Zeige- und Mittelfinger klicken, daher funktionieren einige Trackball-Mäuse nicht wie das Trackman Wheel.

lamwaiman1988
quelle
Probieren Sie das Trackman Wheel von Logitech. Die bieten ein kabelgebundenes oder ein kabelloses Modell an.
Moab
Ich möchte nicht mit Zeige- und Mittelfinger klicken, deshalb möchte ich einen Trackball mit dem Ball in der Mitte. Vielen Dank.
Lamwaiman1988
Normalerweise können Sie solche Einstellungen mit Ihrer Maussoftware vornehmen. Von dort aus können Sie verschiedene Aktionen ausführen (Halten Sie die rechte Maustaste gedrückt, während Sie den Trackball bewegen, usw.). Ich gehe davon aus, dass Sie Ihr Problem wahrscheinlich schon jetzt behoben haben, weil Sie dies vor einem Jahr gepostet haben . Wenn nicht, viel Glück.
HelpingHand
@HelpingHand Nope Ich konnte immer noch keine brauchbare Lösung finden. Jetzt benutze ich PageUp und PageDown zum Scrollen.
Lamwaiman1988

Antworten:

13

Wenn Sie unter Windows arbeiten, schlagen wir vor, AutoHotKey auszuprobieren. Andere Benutzer haben bereits das Scrollen mit der Marble Mouse in Angriff genommen (ich habe das Skript unten verwendet):

http://www.autohotkey.com/board/topic/4677-wheel-button-emulation-script/

Die mit den Treibern gelieferte Lösung von Logitech ist seltsam: Sie klicken einmal, um den 4-Wege-Bildlauf zu aktivieren, und klicken erneut, um ihn zu deaktivieren. Du kannst nicht halten und scrollen, wonach ich gesucht habe. Ich habe die Software deinstalliert.

user1146719
quelle
Diese Lösung funktioniert, unterstützt jedoch nur die kleine linke Taste auf dem Trackball, sodass die Standardfunktion "Zurück" für die Webseite deaktiviert wird. Auf jeden Fall kann ich diese Antwort akzeptieren, nachdem ich sie einige Tage lang ausprobiert habe.
Lamwaiman1988
HINWEIS: Das AHK-Skript funktioniert nur für Trackballs mit X-Tasten oder Trackballs mit 4 oder mehr Tasten.
Michael Paulukonis
Es ist sehr einfach, das Skript zu aktualisieren, um eine andere Schaltfläche zu verwenden. Über einer Variablenzuweisung im oberen Bereich befindet sich ein Kommentar. Ändern Sie "XButton1" in einen anderen Wert, um stattdessen diese Schaltfläche zu verwenden. In der AHK-Hilfedatei (führen Sie AHK einfach über das Startmenü aus) finden Sie unter "Liste der Tasten, Maustasten und Joystick-Steuerelemente" eine Liste mit Sondertasten, in der Sie eine beliebige Taste als Modifikator auswählen können.
James B
9

Ich habe den gleichen Trackball und die Lösung ist sehr elegant: Wenn Sie auf eine ausgewählte Schaltfläche klicken, wird der Ball selbst zu einem Scrollrad. Ich habe den großen rechten Knopf gewählt, den ich mit dem kleinen Finger drücke.

Dies ist sehr praktisch und dauert nur ein paar Tage, um sich daran zu gewöhnen.

Sie werden schnell feststellen, dass jedes Scrollrad (auf einer Maus oder einem Trackball) unbrauchbar ist. Vertrau mir, es lohnt sich ;-)

Vorteile:

  • 2D Scrollen statt 1D
  • Schneller und präziser scrollen als ein Rad
  • bequemer für lange Scroll (dank der Trägheit des Balls). Perfekt für dein Facebook-Beispiel.

Ich kann nicht mehr ohne leben.

Das unter jedem Linux-Betriebssystem zu konfigurieren ist nicht schwer. Sie müssen lediglich eine /etc/X11/xorg.conf-Datei erstellen (siehe meine Konfiguration hier: Konfigurieren Sie einen Trackball unter Linux, ohne Xorg.conf zu bearbeiten ).

Weitere Details finden Sie hier: https://help.ubuntu.com/community/Logitech_Marblemouse_USB

Unter Windows habe ich keine Erfahrung, aber ich denke, mit dem Trackball wird ein Konfigurationstool ausgeliefert.

ploum
quelle
2
Meine Arbeitsumgebung besteht hauptsächlich aus Windows, daher ist dies für mich keine praktikable Option, und ich habe keine Ahnung, wie ich dies in Windows portieren soll.
Lamwaiman1988
8

Sie können das Marble Mouse Scroll Wheel ausprobieren, das speziell für diese Maus entwickelt wurde:

Marble Mouse Scroll Wheel, oder einfach Marble Scroll, ist ein kleines Programm, das entwickelt wurde, um ein Scrollrad auf einem Trackball oder einer Maus ohne ein Scrollrad zu simulieren. Es wurde speziell für die Logitech Marble Mouse entwickelt, kann jedoch mit jeder Standardmaus oder jedem Trackball verwendet werden. Es ist für Windows 2000 und höher ausgelegt.

Marble Scroll ist ein Ersatz für die Funktionen Autoscroll und Universal Scroll von Logitech. Weder emulieren Sie ein echtes Scrollrad richtig, noch weisen beide Einschränkungen und Fehler auf.

Marble Scroll funktioniert mit jeder Maus oder jedem Trackball und erfordert keine Installation der SetPoint- oder MouseWare-Treiber von Logitech.

Eigenschaften

  • Fügen Sie jeder Maus mit mehr als zwei Tasten ein Mausrad hinzu
  • Kompatibilität mit den meisten Anwendungen, die ein Scrollrad unterstützen (für jede Art von Eingabe)
  • Einstellbare Beschleunigung
  • Einstellbarer Bildlaufabstand (pro "Schritt" - siehe unten)
  • Schrittweises Scrollen, um ein echtes Mausrad zu simulieren
  • Schneller Links- / Rechtshänder-Umschalter
  • Schnelle Aktivierung / Deaktivierung durch Klicken auf das Tray-Symbol
  • Klein und ressourcenschonend

Die Website des Produkts scheint derzeit nicht verfügbar zu sein. Hier finden Sie jedoch eine Kopie des Website-Texts auf Archive.org .

Ein Downloadlink ist hier .

Harrymc
quelle
Auf Windows 8 funktioniert es gut.
Justinas Dūdėnas
Dies funktioniert unter Win7 & 8 immer noch hervorragend. Wenn ich die Zurück-Taste meiner Maus gedrückt halte, kann ich mit dem Trackball scrollen. Trotzdem kann ich den Zurück-Button als Zurück-Button verwenden. Im Grunde hat es Funktionalität hinzugefügt, ohne etwas wegzunehmen. Die beste Lösung.
Japzone
1
Scheint unter
1
Der verknüpfte Download-Spiegel wird als Malware angezeigt - ich bin nicht sicher, ob es sich um ein falsches positives Ergebnis handelt, aber ich bin mir vorerst nicht sicher, ob dies ein Zufall ist.
James B
1
Ich habe es jahrelang benutzt und es funktioniert gut bis Windows 8, in dem es unzuverlässig wurde. Habe es in Win 10 noch nicht ausprobiert. Ich habe dem ursprünglichen Autor, der geantwortet hat (!), Eine E-Mail geschickt, und obwohl er den Quellcode verloren hatte, habe ich die grundlegende Anleitung dazu erhalten. Das Wesentliche, das er mir gegeben hat, ist das, was diese andere Antwort getan hat: superuser.com/a/782571/127024
Johann
8

Es gibt eine einfache 100-Zeilen-C ++ - Alternative, die den AutoHotKey-Lösungen ziemlich ähnlich ist

  • Senden vertikaler / horizontaler Scrollrad-Ereignisse durch Bewegen des Trackballs, während Sie eine der X-Tasten und gedrückt halten
  • mittlerer Klick beim Drücken und Loslassen einer X-Taste, ohne den Trackball zu bewegen.

https://github.com/Seelge/TrackballScroll

Bearbeiten: Neuere Versionen bieten ein Systray-Symbol, funktionieren unter Windows 10 und basieren auf C #.

Silpion
quelle
Diese Lösung ist allen von mir getesteten AutoHotKey-Skripten überlegen, die aufgrund eines zeitgesteuerten Ereignisses, das die Maus alle paar Millisekunden in ihre ursprüngliche Position zurückbewegt, unter einem nervigen "Cursor-Wackeln" leiden Scrollen. Diese einfache ausführbare TrackballScroll-Datei unterliegt keiner solchen Einschränkung und funktioniert sehr gut. Die einzige Einschränkung ist, dass es mit dem Windows 10 Creator's Update nicht zuverlässig funktioniert, wie in diesem Artikel beschrieben
Ben Johnson,
Ich habe es jahrelang benutzt und fand es großartig (ich habe sogar vor über einem Jahr eine Antwort dazu gegeben), aber nachdem ich letzte Woche zu Windows 10 gewechselt habe, möchte ich darauf hinweisen, dass der in dem anderen Kommentar erwähnte Fehler immer noch nicht aufgetreten ist. t behoben, und die Unzuverlässigkeit hat es für mich in der Praxis völlig unbrauchbar gemacht.
mtraceur
4

Hier ist das AutoHotKey-Skript, das ich verwende. Sie scrollen, indem Sie die linke kleine Taste gedrückt halten und den Ball nach oben / unten rollen. Wenn Sie jedoch auf die linke kleine Schaltfläche klicken, wird immer noch ZURÜCK ausgeführt. Es kann auch nach links / rechts gescrollt werden, aber das war mir zu empfindlich, so dass es hier auskommentiert ist (der Block, der mit beginnt ;timesX := Abs(movedx) / 4).

Ich fand die Originalversion unter http://www.autohotkey.com/board/topic/30816-simulate-scroll-wheel-using-right-mouse-button/ . Ich habe dort meine Version als anotherperson8923 gepostet.

$*XButton1::
Hotkey, $*XButton1 Up, XButton1up, off
;KeyWait, XButton1, T0.4
;If ErrorLevel = 1
;{
   Hotkey, $*XButton1 Up, XButton1up, on
   MouseGetPos, ox, oy
   SetTimer, WatchTheMouse, 5
   movedx := 0
   movedy := 0
   pixelsMoved := 0
;   TrayTip, Scrolling started, Emulating scroll wheel
;}
;Else
;   Send {XButton1}
return

XButton1up:
Hotkey, $*XButton1 Up, XButton1up, off
SetTimer, WatchTheMouse, off
;TrayTip
If (pixelsMoved = 0)
{
    ;The mouse was not moved, send the click event
    ; (May want to make it PGUP or something)
    Send {XButton1}
    Send {XButton1Up}
}
return

WatchTheMouse:
MouseGetPos, nx, ny
movedx := movedx+nx-ox
movedy := movedy+ny-oy

pixelsMoved := pixelsMoved + Abs(nx-ox) + Abs(ny-oy)

;timesX := Abs(movedx) / 4
;ControlGetFocus, control, A
;Loop, %timesX%
;{
;    If (movedx > 0)
;    {
;        SendMessage, 0x114, 1, 0, %control%, A ; 0x114 is WM_HSCROLL
;        movedx := movedx - 4
;    }
;    Else
;    {
;        SendMessage, 0x114, 0, 0, %control%, A ; 0x114 is WM_HSCROLL
;        movedx := movedx + 4
;    }
;}

timesY := Abs(movedy) / 4
Loop, %timesY%
{
    If (movedy > 0)
    {
        Click WheelDown
        movedy := movedy - 4
    }
    Else
    {
        Click WheelUp
        movedy := movedy + 4
    }
}   

MouseMove ox, oy
return
user318097
quelle
Wenn Sie lieber mit der rechten Maustaste klicken möchten, ersetzen Sie "XButton1" durch "RButton".
Matt Woelk
Das funktioniert für mich fast perfekt, aber gibt es eine Möglichkeit, das Scrollen reibungsloser zu gestalten? Ich habe sowohl die SendMessage- als auch die WheelUp / Down-Methode für vertikales Scrollen ausprobiert und beide machen einen "Sprung"
askvictor
3

Schade, dass Logitech keine Scrollrad-Simulation implementiert hat. Ihr Treiber verspricht eine Funktion, die jedoch nicht für alle Anwendungen geeignet ist, so dass sie völlig unbrauchbar wird. Sie waren so nah dran, die perfekte Maus zu erschaffen! : s

Die einzige Problemumgehung, die ich gefunden habe, ist die Verwendung eines AutoHotkey- Skripts. Mit ihm können Sie die kleinen linken / rechten Tasten nach oben und unten scrollen lassen. Es funktioniert einwandfrei, aber es ist sehr mühsam, es zu konfigurieren: Sie müssen zuerst die Grundlagen von AutoHotkey lernen. Wenn Sie sich dazu entschließen, finden Sie hier mein AutoHotkey-Skript. Es ist eine Adaption von Jerbos Originalschrift . Ein einfacher Klick startet den Bildlauf mit normaler Geschwindigkeit, ein Doppel- oder Dreifachklick startet den Bildlauf jedoch schneller.

; This script remaps the two small buttons on a Logitech Trackman® Marble® Mouse
; to act as scroll up and scroll down

global lastXButton1ClickTime := 0
global nrSubsequentXButton1Clicks := 0

ScrollTheWheel(direction, scrollKey)
{
    now := A_TickCount
    timeSinceLastClick := now - lastXButton1ClickTime 
    lastXButton1ClickTime := now
    if (timeSinceLastClick < 300)
    {
        nrSubsequentXButton1Clicks := nrSubsequentXButton1Clicks + 1
    }
    else
    {
        nrSubsequentXButton1Clicks := 1
    }        

    sleepingFraction := 5

    if (nrSubsequentXButton1Clicks <= 1)
        scrollSpeed := 30
    if (nrSubsequentXButton1Clicks == 2)
        scrollSpeed := 15
    if (nrSubsequentXButton1Clicks >= 3)
        scrollSpeed := 5

    timeSlept := scrollSpeed

    loop 
    {
        if (direction == 1) ; Scroll down
        {
            static downKeyState
            if (scrollKey == 0) 
                GetKeyState, downKeyState, XButton1, P
            else
                GetKeyState, downKeyState, PgDn, P

            if downKeyState = U ; The key has been released, so break out of the loop
               break

            if (timeSlept >= scrollSpeed)
            {
                Send {WheelDown}
                timeSlept = 0                
            }
        }
        else ; Scroll up
        {
            static upKeyState
            if (scrollKey == 0)
                GetKeyState, upKeyState, XButton2, P
            else
                GetKeyState, upKeyState, PgUp, P

            if upKeyState = U ; The key has been released, so break out of the loop
               break            

            if (timeSlept >= scrollSpeed)
            {
                Send {WheelUp}
                timeSlept = 0                
            }
        }   

        Sleep, sleepingFraction
        timeSlept := timeSlept + sleepingFraction
    }    
}

XButton2::
    ScrollTheWheel(0, 0)
    return
XButton1::
    ScrollTheWheel(1, 0)
    return
!PgUp::
    ScrollTheWheel(0, 1)
    return
!PgDn::
    ScrollTheWheel(1, 1)
    return
Dimitri C.
quelle
Ich könnte genauso gut die PageUp / PageUp-Taste direkt drücken ....
lamwaiman1988
2

Ich habe gerade eine Logitech Marble-Maus bekommen und hatte auch das Problem des Bildlaufs. Also habe ich dieses Skript auf AutoHotKey gemacht. Die linke X-Taste ermöglicht das Scrollen, dh Sie können mit der Kugel vertikal und horizontal nach unten scrollen und mit der linken und rechten Taste im Browser vorwärts und rückwärts navigieren. Die rechte X-Taste hat dieselbe Funktion wie die mittlere Taste.

Ich bin auf 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
Amiral_JCDG
quelle
Ich hatte die Tasten auf den Tastaturen aufgegeben und benutzt. Außerdem würde ich auf den leeren Bereich der Bildlaufleiste drücken, um die Seite nach oben und unten zu verschieben.
Lamwaiman1988
1

Abhängig von Ihrem Betriebssystem können Sie möglicherweise eine der Schaltflächen konfigurieren, um das Scrollen durch Bewegen des Zeigers zu ermöglichen, wenn Sie diese gedrückt halten. Das folgende Skript aktiviert dies beispielsweise auf der Taste 10 meiner Maus (der "oberen mittleren" Taste des Logitech MX310):

#!/bin/sh
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 290 10
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 286 1
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 287 6 7 4 5
Ignacio Vazquez-Abrams
quelle
1

Es gibt solche Marmormäuse, die ein Scrollrad enthalten. Andernfalls sieht es so aus, als ob eine App oder ein Skript für eine Maus ohne Mausrad zusammen mit der Verwendung einer der Schaltflächen erforderlich wäre, um eine Bildlauffunktion zu aktivieren (die Sie in einem Kommentar zu einer anderen Antwort als nicht akzeptable Lösung notiert haben).

Also "Warum das Rad neu erfinden?" ist in diesem Fall ein gutes Sprichwort.

In diesen Beispielen ist das Element physisch installiert und es stehen viele Typen zur Auswahl. Nachfolgend finden Sie zwei Beispiele und Stile.

wh1

Oder so ähnlich: Adesso

wh2

Carl B
quelle
1

Zwei nicht konventionelle Optionen

  • Verwenden Sie zusätzlich zum Trackball ein Apple Magic Trackpad. (Dies ist meine aktuelle Lösung) http://www.apple.com/magictrackpad/

  • Kaufen Sie einen leapmotion-Controller und verwenden Sie ihn zusätzlich zum Trackball. Bewegen Sie Ihre Hand vor dem Gerät, um einen Bildlauf nach oben und unten durchzuführen. https://www.leapmotion.com/product

Bildbeschreibung hier eingeben

Bildnachweis http://www5.pcmag.com/media/images/393268-leap-motion-controller.jpg

Spuder
quelle
1

Eine einfache (und ergonomische) Lösung besteht darin, die Funktion des Bildlaufs auf Ihre linke Hand zu legen.

Dies könnte erreicht werden, indem Sie eine Maus mit der linken Hand verwenden / indem Sie eine Tastatur mit einem eingebauten Scrollrad am linken Rand verwenden / indem Sie den Tasten einer programmierbaren Tastatur mit einem Programm wie Mkey ( http: // www.seriosoft.org/en/index.php ).

Warum halte ich das für ergonomischer? Diese Vorgehensweise verteilt die Spannung gleichmäßiger auf beide Hände. (Mehr dazu: http://capsoff.org/checklist ).

drabsv
quelle
1

Ich benutze Windows7 und den Kensington Orbit Optical Trackball ohne Scrollring - es ist ein Trackball mit zwei Tasten, ohne die X-Tasten, die von den meisten AHK-Skripten und -Anwendungen benötigt werden, auf die andere hingewiesen haben.

Allerdings MouseImp für mich auf Windows7 arbeitet. IT ist konfigurierbar, aber ich habe es so eingerichtet right-click + roll, dass ich einen Bildschirm zum Scrollen bekomme. Es ist eher wie ein Ziehen, der Zeiger bewegt sich also und Sie haben immer nur einen Bildschirm [Update: Die Bildlaufrate ist konfigurierbar, es kann also mehr als "eine Seite" sein].

Gleichzeitig wurde Kensingtons TrackballWorks so konfiguriert, dass ich einen Bildlauf nach unten durchführen kann left-click + right-click. Leider kann dann nicht jeweils eine Seite (die eine oder andere) zurückgeblättert werden.

Dies ist kein Produktstecker - es ist genau das, was ich gefunden habe, um mit diesem Trackball-Modell / Typ zu arbeiten .

Vorsichtsmaßnahme: Sie klicken ständig mit der rechten und linken Maustaste, und dies kann zu Verwirrung führen, und Verknüpfungen werden verfolgt / aktiviert, wenn Sie nur aufhören möchten, einen Bildlauf durchzuführen . :::Seufzer:::

Michael Paulukonis
quelle
1

Ich habe gerade einen kabellosen Trackball von Kensington bekommen, es ist ziemlich erstaunlich. Sie haben den Ball, Sie haben beide Knöpfe auf jeder Seite und Sie haben eine Art Kreis außerhalb des Trackballs, der es ermöglicht, die Seite nach oben oder unten zu scrollen. Es funktioniert wirklich und ich benutze es unter Windows und Mac OSX.

andremartins
quelle
1

Ich habe vor einiger Zeit mit AutoHotkey etwas dafür gemacht und dachte mir, ich würde es auch hier teilen: Mausrad-Emulator

Dies emuliert das Scrollen mit dem Mausrad, indem Sie die Maus bei gedrückter linker und rechter Maustaste bewegen.

Sie können einen mittleren Klick auch emulieren, indem Sie gleichzeitig mit der linken und rechten Maustaste klicken.

blah238
quelle
1

Eine andere Lösung für Windows 7, mit der in allen Anwendungen, einschließlich Internet Explorer, gescrollt werden kann:

  1. Installieren Sie AutoHotKey .
  2. Speichern Sie das Skript als scroll.ahkauf dem Desktop.
  3. Klicken Sie mit der rechten Maustaste auf scroll.ahk.
  4. Wählen Sie "Skript ausführen" .
  5. Bestätigen Sie, wenn Sie dazu aufgefordert werden.

Dadurch wird die kleine rechte Taste beim Bewegen des Trackballs vertikal gescrollt. Die kleine linke Taste ist die Zurück-Taste.


Falls der Link zu Erik Elmores Code verschwindet, ist dies hier:

;;
;; Emulate_Scrolling_Middle_Button.ahk
;; Author: Erik Elmore <[email protected]>
;; Version: 1.1 (Aug 16, 2005)
;;
;; Enables you to use any key with cursor movement
;; to emulate a scrolling middle button.  While
;; the TriggerKey is held down, you may move the
;; mouse cursor up and down to send scroll wheel
;; events.  If the cursor does not move by the
;; time the TriggerKey is released, then a middle
;; button click is generated.  I wrote this for my
;; 4-button Logitech Marble Mouse (trackball),  
;; which has no middle button or scroll wheel.
;;

;; Configuration

;#NoTrayIcon

;; Higher numbers mean less sensitivity
esmb_Threshold = 7

;; This key/Button activates scrolling
esmb_TriggerKey = XButton2

;; End of configuration

#Persistent
CoordMode, Mouse, Screen
Hotkey, %esmb_TriggerKey%, esmb_TriggerKeyDown
HotKey, %esmb_TriggerKey% Up, esmb_TriggerKeyUp
esmb_KeyDown = n
SetTimer, esmb_CheckForScrollEventAndExecute, 10
return

esmb_TriggerKeyDown:
  esmb_Moved = n
  esmb_FirstIteration = y
  esmb_KeyDown = y
  MouseGetPos, esmb_OrigX, esmb_OrigY
  esmb_AccumulatedDistance = 0
return

esmb_TriggerKeyUp:
  esmb_KeyDown = n
  ;; Send a middle-click if we did not scroll
  if esmb_Moved = n
    MouseClick, Middle
return

esmb_CheckForScrollEventAndExecute:
  if esmb_KeyDown = n
    return

  MouseGetPos,, esmb_NewY
  esmb_Distance := esmb_NewY - esmb_OrigY
  if esmb_Distance
    esmb_Moved = y

  esmb_AccumulatedDistance := (esmb_AccumulatedDistance + esmb_Distance)
  esmb_Ticks := (esmb_AccumulatedDistance // esmb_Threshold) ; floor divide
  esmb_AccumulatedDistance := (esmb_AccumulatedDistance - (esmb_Ticks * esmb_Threshold))
  esmb_WheelDirection := "WheelDown"
  if (esmb_Ticks < 0) {
    esmb_WheelDirection := "WheelUp"
    esmb_Ticks := (-1 * esmb_Ticks)
  }

  ;; Do not send clicks on the first iteration
  if esmb_FirstIteration = y
    esmb_FirstIteration = n
  else {
    Loop % esmb_Ticks {
      MouseClick, %esmb_WheelDirection%
    }
  }

  MouseMove,esmb_OrigX,esmb_OrigY,0
return
Dave Jarvis
quelle
Danke dafür! Ich habe zwei kleine Modifikationen an diesen Skript: geändert , XButton2um XButton1wie ich die linke Taste bevorzugen, und eine hinzugefügt , *bevor %esmb_TriggerKey%auf zwei Zeilen in dem #PersistentAbschnitt, so dass sie beginnen Hotkey, *%esmb_TriggerKey%. Letzteres macht es mit Modifikatortasten einwandfrei, so dass zB Strg + Bildlauf funktioniert.
Cincodenada
0

Ein weiterer Trackman Marble User hier.

Ich verwende X-Mouse Button Control für die Scroll-Emulation. Diese Funktionsimplementierung ist dort (noch?) Nicht perfekt, aber viel nützlicher als die Logitech-Implementierung in der eigenen SetPoint ™ -Software.

Ich empfehle XMBC jedem, der sich nicht mit AutoHotKey anlegen möchte und nach etwas sucht, das einfach funktioniert.

Killy.MXI
quelle