it-swarm.com.de

Abhilfe für einen Trackball ohne Scrollrad?

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.

28
lamwaiman1988

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.

13
user1146719

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 die 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.

9
ploum

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.

Funktionen

  • 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 unter Archive.org .

Ein Download-Link ist hier .

8
harrymc

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 bei gedrückter X-Taste und
  • 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 #.

6
Silpion

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 ;timesX := Abs(movedx) / 4 beginnt).

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
4
user318097

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 Originalskript . 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
3
Dimitri C.

Ich habe gerade eine Logitech Marble-Maus bekommen und hatte auch das Problem des Bildlaufs. Also habe ich dieses Skript auf AutoHotKey gemacht. Mit der linken X-Taste können Sie 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
2
Amiral_JCDG

Ich benutze Windows7 und den optischen Kensington Orbit-Trackballohne Scrollring- es ist ein Trackball mit zwei Tasten, ohne die X-Tasten, die für die meisten AHK-Skripte und -Anwendungen erforderlich sind von anderen darauf hingewiesen.

MouseImp funktioniert jedoch unter Windows7. Es ist konfigurierbar, aber ich habe es für right-click + roll eingerichtet, damit ich einen Bildschirm zum Scrollen bekomme. Es ist eher wie beim 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 auf left-click + right-click einen Bildlauf nach unten durchführen kann. Leider kann dann nicht jeweils eine Seite (die eine oder die andere) zurückgeblättert werden.

Dies ist kein Produkt-Plug - es ist genau das, was ich gefunden habe, ummit diesem Modell/Trackball-Typzu arbeiten.

Vorsichtsmaßnahme: Sie klicken ständig mit der rechten und linken Maustaste, und dies kann zu Verwirrung führen, und Verknüpfungen werden/js-aktiviert, wenn Sie nurScrollen anhalten möchten. :::Seufzer:::

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.

1
andremartins

Abhängig von Ihrem Betriebssystem können Sie möglicherweise eine der Schaltflächen so konfigurieren, dass das Scrollen durch Bewegen des Zeigers ermöglicht wird, wenn Sie diese gedrückt halten. Z.B. Das folgende Skript aktiviert dies auf Taste 10 meiner Maus (die "obere mittlere" 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

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 und die Verwendung einer der Schaltflächen zum Aktivieren einer Bildlauffunktion erforderlich wäre (was 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

1
Carl B

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

Dies kann 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 ).

1
drabsv

Eine andere Lösung für Windows 7, die das Scrollen in allen Anwendungen, einschließlich Internet Explorer, ermöglicht:

  1. Installieren Sie AutoHotKey .
  2. Speichern Sie dieses Skript als scroll.ahk auf dem Desktop.
  3. Klicken Sie mit der rechten Maustaste auf scroll.ahk.
  4. Wählen Sie Run Script .
  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
1
Dave Jarvis

Ich habe vor einiger Zeit mit AutoHotkey etwas dafür gemacht und mir gedacht, 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.

1
blah238

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

enter image description here

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

1
spuder

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.

0
Killy.MXI