Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am thinking to buy an trackball and my option is Logitech trackman marble. But then I found that there is no scroll wheel. How do you tackle with that? Do I definitely want to buy a trackball with scroll wheel? I scroll a lot using facebook.

I don't want to click with my index and middle fingers, so some trackball mice will not work for me, like the Trackman Wheel.

share|improve this question
    
Try the Trackman Wheel by Logitech. The offer a wired or wireless model. –  Moab Jun 29 '11 at 1:18
    
I don't want to click with my index and middle fingers, that's why I want a trackball with the ball at the center. Thanks. –  lamwaiman1988 Jun 29 '11 at 1:20
    
You can usually set things up like this with your mouse software. From there you can do a variety of things (hold down the right-click button while moving the trackball, etc...). I'm assuming that you've probably fixed your problem already by now, because you posted this a year ago. If not, good luck to ya. –  HelpingHand May 30 '13 at 14:03
    
@HelpingHand Nope I still couldn't find a viable solution. Now I am using PageUp and PageDown for scrolling. –  lamwaiman1988 Aug 28 '13 at 6:29
add comment

8 Answers

I have the same trackball and the solution is very elegant: when you click on a chosen button, the ball itself become a scrolling wheel. I've chosen the big right button that I press with the little finger.

This is very convenient and it takes only a few day to get used.

You will quickly consider that any scrollwheel (on a mouse or a trackball) is something unusable. Trust me, it worth it ;-)

Advantages:

  • 2D scrolling instead of 1D
  • quicker and more precise scrolling than a wheel
  • more comfortable for long scroll (thanks to the ball's inertia). Perfect for your facebook example.

I cannot live without it anymore.

Configuring that under any Linux OS is not hard. It only requires you to create a /etc/X11/xorg.conf file (see my config here: Configure a trackball under Linux without editing Xorg.conf )

More details can be found here: https://help.ubuntu.com/community/Logitech_Marblemouse_USB

On Windows, I've no experience but I think a configuration tool is delivered with the trackball.

share|improve this answer
1  
My working environment is mostly windows so this isn't a viable option for me and I have no idea how to port this into windows. –  lamwaiman1988 Aug 28 '13 at 6:31
add comment

If you're on Windows I'd suggest trying out AutoHotKey, other users have already tackled scrolling with the Marble Mouse (I used the script a the bottom):

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

Logitech's solution that comes with their drivers is strange: you click once to enable 4 way scrolling and click again to disable it. You can't hold and scroll which is what I was after. I wound up uninstalling their software.

share|improve this answer
    
This solution works but only support the small left button on the trackball so it disable the default 'back' function of it for web page. Anyway, I may accept this answer after trying it out for a few days. –  lamwaiman1988 Aug 28 '13 at 6:38
add comment

It's such a shame Logitech didn't implement a scroll wheel simulation. Their driver promises a feature to do so, but it does not work for all applications, rendering it quite useless. They were so close to creating the perfect mouse! :s

The only workaround I've found is to use an AutoHotkey script for it. With it you can make the tiny left/right buttons scroll up and down. It works perfectly, but it is a real hassle to get it configured: you'll need to learn the AutoHotkey basics first. If you decide to do so, here is my AutoHotkey script. It is an adaptation of Jerbo's original script. A single click will start scrolling at a normal pace, but a double or tripple click will start scrolling faster.

; 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
share|improve this answer
    
I might as well press the PageUp/PageUp key directly.... –  lamwaiman1988 Aug 28 '13 at 6:39
add comment

You could try the Marble Mouse Scroll Wheel, developed especially for that mouse :

Marble Mouse Scroll Wheel, or just Marble Scroll, is a small program designed to simulate a scroll wheel on any trackball or mouse without one. It was specifically designed for the Logitech Marble Mouse but can work with any standard mouse or trackball. It is designed for Windows 2000 and up.

Marble Scroll is a replacement for Logitech's Autoscroll and Universal Scroll functions; neither properly emulate a real scroll wheel and both have limitations and flaws.

Marble Scroll works with any mouse or trackball and does not require Logitech's SetPoint or MouseWare drivers to be installed.

Features

  • Add a scroll wheel to any mouse with more than two buttons
  • Compatiblity with most applications that support a scroll wheel (for any type of input)
  • Adjustable acceleration
  • Adjustable scrolling distance (per "step" - see below)
  • Stepped scrolling to simulate a real mouse wheel
  • Quick left/right handed mode switcher
  • Quick enable/disable by clicking on the tray icon
  • Small and light on system resources

The product's website seems currently down, but here is a copy of the site's text on Archive.org.

A download link is here.

share|improve this answer
    
On windows 8 it works well. –  Justinas Dūdėnas Sep 25 '13 at 8:57
add comment

Here's the AutoHotKey script that I use. You scroll by holding down the left small button and rolling the ball up/down. However clicking the left small button still does BACK. It can also scroll left/right but that was too sensitive for me so it's commented out here (the block that starts with ;timesX := Abs(movedx) / 4).

I found the original version at http://www.autohotkey.com/board/topic/30816-simulate-scroll-wheel-using-right-mouse-button/. I posted my version there as anotherperson8923.

$*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
share|improve this answer
add comment

Depending on your OS, you may be able to configure one of the buttons to enable scrolling via moving the pointer when held. E.g. the following script enables this on button 10 of my mouse (the "top middle" button of the 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
share|improve this answer
add comment

There are such marble mouse (mice) that have a scroll wheel included. Otherwise,it looks like an app or some script would be required for a non wheeled mouse along with the use of one of the buttons to engage a scroll function (that you noted in a comment to another answer, as not an acceptable solution).

So "Why reinvent the wheel?" is a good adage in this case.

In these examples, the element is physically installed and there are many types to choose from. Below are two examples and styles.

wh1

Or something like this:Adesso

wh2

share|improve this answer
add comment

Two non conventional options

enter image description here

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.