私はトラックボールを購入することを考えており、私の選択肢はロジクールのトラックマン大理石です。しかし、その後、スクロールホイールがないことがわかりました。どのようにそれに取り組みますか?スクロールホイール付きのトラックボールを絶対に買いたいですか?私はfacebookを使用してたくさんスクロールします。
人差し指や中指でクリックしたくないので、トラックマンホイールなど、一部のトラックボールマウスは動作しません。
私はトラックボールを購入することを考えており、私の選択肢はロジクールのトラックマン大理石です。しかし、その後、スクロールホイールがないことがわかりました。どのようにそれに取り組みますか?スクロールホイール付きのトラックボールを絶対に買いたいですか?私はfacebookを使用してたくさんスクロールします。
人差し指や中指でクリックしたくないので、トラックマンホイールなど、一部のトラックボールマウスは動作しません。
回答:
Windowsを使用している場合は、AutoHotKeyを試してみることをお勧めします。他のユーザーは既にMarble Mouseでスクロールに取り組んでいます(スクリプトを一番下に使用しました)。
http://www.autohotkey.com/board/topic/4677-wheel-button-emulation-script/
ドライバーに付属するLogitechのソリューションは奇妙です。1回クリックして4方向のスクロールを有効にし、もう一度クリックして無効にします。押したままスクロールすることはできません。ソフトウェアをアンインストールすることにしました。
私は同じトラックボールを使用しており、ソリューションは非常にエレガントです。選択したボタンをクリックすると、ボール自体がスクロールホイールになります。小指で押す大きな右ボタンを選択しました。
これは非常に便利で、慣れるまで数日しかかかりません。
マウスまたはトラックボール上のスクロールホイールは使用できないものであるとすぐに考えられます。私を信じて、それだけの価値があります;-)
利点:
私はそれなしではもう生きられません。
Linux OSでそれを設定するのは難しくありません。/etc/X11/xorg.confファイルを作成するだけです(ここでの私の構成を参照してください:Xorg.confを編集せずにLinuxでトラックボールを構成します)。
詳細については、https://help.ubuntu.com/community/Logitech_Marblemouse_USBをご覧ください。
Windowsでは、経験はありませんが、トラックボールに構成ツールが付属していると思います。
そのマウス用に特別に開発されたMarble Mouse Scroll Wheelを試すことができます:
マーブルマウススクロールホイール、または単にマーブルスクロールは、トラックボールやマウスのないスクロールボールをシミュレートするために設計された小さなプログラムです。Logitech Marble Mouse用に特別に設計されましたが、標準のマウスまたはトラックボールで使用できます。Windows 2000以降向けに設計されています。
Marble Scrollは、LogitechのAutoscrollおよびUniversal Scroll機能の代替品です。どちらも実際のスクロールホイールを適切にエミュレートせず、どちらにも制限と欠陥があります。
Marble Scrollは任意のマウスまたはトラックボールで動作し、LogitechのSetPointまたはMouseWareドライバーをインストールする必要はありません。
特徴
- 3つ以上のボタンがあるマウスにスクロールホイールを追加する
 - スクロールホイールをサポートするほとんどのアプリケーションとの互換性(あらゆるタイプの入力に対して)
 - 調整可能な加速
 - 調整可能なスクロール距離(「ステップ」ごと-以下を参照)
 - 実際のマウスホイールをシミュレートするステップスクロール
 - クイック左/右利きモードスイッチャー
 - トレイのアイコンをクリックして、クイック有効化/無効化
 - システムリソースの小型軽量
 
製品のウェブサイトは現在ダウンしているようですが、こちらはArchive.orgにあるサイトのテキストのコピーです。
ダウンロードリンクはこちらです。
AutoHotKeyソリューションに非常に似ている、単純な100行のC ++の代替があります。
https://github.com/Seelge/TrackballScroll
編集:新しいバージョンはsystray-iconを提供し、Windows 10で動作し、C#に基づいています。
これが私が使用するAutoHotKeyスクリプトです。左の小さなボタンを押したまま、ボールを上下に動かしてスクロールします。ただし、左の小さなボタンをクリックしても、戻ることができます。また、左/右にスクロールすることもできますが、それは私にはあまりにも敏感だったので、ここでコメントアウトされています(で始まるブロック;timesX := Abs(movedx) / 4)。
元のバージョンはhttp://www.autohotkey.com/board/topic/30816-simulate-scroll-wheel-using-right-mouse-button/で見つけました 。私はそこに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
              Logitechがスクロールホイールシミュレーションを実装しなかったのは非常に残念です。彼らのドライバーはそうするための機能を約束しますが、それはすべてのアプリケーションで動作せず、全く役に立たなくなります。彼らは完璧なマウスの作成に非常に近かった!:s
私が見つけた唯一の回避策は、AutoHotkeyスクリプトを使用することです。それを使用すると、小さな左/右ボタンを上下にスクロールさせることができます。完全に機能しますが、設定するのは非常に面倒です。最初にAutoHotkeyの基本を学ぶ必要があります。あなたがそうすることに決めた場合、ここに私のAutoHotkeyスクリプトがあります。これは、Jerboの元のスクリプトを修正したものです。シングルクリックは通常のペースでスクロールを開始しますが、ダブルクリックまたはトリプルクリックはより速くスクロールを開始します。
; 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
              Logitech Marbleマウスを入手したばかりで、スクロールの問題もありました。このスクリプトをAutoHotKeyで作成しました。左のXボタンはスクロールを有効にします。つまり、下にある間はボールを使って垂直および水平にスクロールでき、左および右のボタンを使用してブラウザーを前後に移動できます。右のXbuttonには中央のボタンと同じアクションがあります。
Windows 7のIM。
#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
              ご使用のOSによっては、ボタンの1つを設定して、押したままポインタを動かすことでスクロールを有効にできる場合があります。たとえば、次のスクリプトは、マウスのボタン10(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
              2つの非従来型オプション
トラックボールに加えてApple Magic Trackpadを使用します。(これが私の現在のソリューションです) http://www.apple.com/magictrackpad/
leapmotionコントローラを購入して、トラックボールに加えて使用します。デバイスの前で手を振って上下にスクロールします。https://www.leapmotion.com/product

画像クレジットhttp://www5.pcmag.com/media/images/393268-leap-motion-controller.jpg
簡単な(そして人間工学に基づいたあえて)ソリューションは、スクロール機能を左手に置くことです。
これは、左手でマウスを使用するか、左端に内蔵スクロールホイールを備えたキーボードを使用するか、Mkey(http://のようなプログラムでプログラム可能なキーパッドのキーにスクロール機能を割り当てることで実現できます。 www.seriosoft.org/en/index.php)。
なぜこれがより人間工学的だと思いますか-このアプローチは両手に緊張をより均等に分散させるからです。(これに関する詳細:http : //capsoff.org/checklist)。
私はWindows7で、スクロールなしで Kensington Orbit Opticalトラックボールを使用しています。これは2ボタンのトラックボールで、他の人が指摘するほとんどのAHKスクリプトやアプリケーションで必要なXボタンはありません。
ただし、MouseImpはWindows7で動作します。ITは構成可能ですがright-click + roll、スクロールの画面を表示するように設定されています。ドラッグに似ているため、ポインタが移動し、一度に1つの画面しか表示されません[更新:スクロールレートを設定できるため、「1ページ」以上になることがあります]。
同時に、KensingtonのTrackballWorksは、でページを下にスクロールするように設定されていますleft-click + right-click。残念ながら、一度にページをスクロールバックすることはできません(どちらか一方)。
これは製品プラグではありません。このモデル/タイプのトラックボールで動作することがわかったのです。
警告:あなたは常に右クリックと左クリックをしているので、混乱を招く可能性があり、スクロールを停止したいだけでリンクがフォロー/ jsでアクティブ化される可能性があります。:::ため息:::
しばらく前にAutoHotkeyを使用して実際に何かを作成し、ここでも共有すると思いました:マウスホイールエミュレーター
これは、左右のマウスボタンを押しながらマウスを動かすことにより、マウスホイールのスクロールをエミュレートします。
左右のマウスボタンを同時にクリックして、中クリックをエミュレートすることもできます。
Internet Explorerを含むすべてのアプリケーションでスクロールできるWindows 7の別のソリューション:
scroll.ahkデスクトップとして保存します。scroll.ahkます。これにより、トラックボールを移動するときに小さな右ボタンを垂直にスクロールできます。小さな左ボタンは戻るボタンです。
Erik Elmoreのコードへのリンクが消えた場合、ここにあります:
;;
;; Emulate_Scrolling_Middle_Button.ahk
;; Author: Erik Elmore <erik@ironsavior.net>
;; 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
              XButton2にXButton1私は左のボタンを好むように、そして追加*の前%esmb_TriggerKey%で2行で#Persistent、彼らが開始するので、セクションHotkey, *%esmb_TriggerKey%。後者は修飾キーで完璧に機能するため、たとえばCtrl + Scrollが機能します。
                    ここに別のトラックマン大理石のユーザー。
スクロールエミュレーションにX-Mouse Button Controlを使用しています。この機能の実装は完璧ではありません(まだ?)が、独自のSetPoint™ソフトウェアのLogitech実装よりもはるかに使いやすくなっています。
AutoHotKeyをいじりたくない人にはXMBCをお勧めします。