无滚轮轨迹球的补救措施?

lam*_*988 32 windows-7 scroll-wheel trackball

我想买一个轨迹球,我的选择是 Logitech trackman 大理石。但是后来我发现没有滚轮。你如何应对?我一定要买带滚轮的轨迹球吗?我使用 facebook 滚动了很多。

我不想用食指和中指点击,所以有些轨迹球鼠标不适合我,比如 Trackman Wheel。

小智 14

如果您使用的是 Windows,我建议您尝试使用 AutoHotKey,其他用户已经使用 Marble Mouse 解决了滚动问题(我在底部使用了脚本):

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

Logitech 的驱动程序附带的解决方案很奇怪:您单击一次以启用 4 向滚动,然后再次单击以禁用它。您无法按住并滚动,这正是我所追求的。我最终卸载了他们的软件。


Sil*_*ion 11

有一个简单的 100 行 C++ 替代方案,它与 AutoHotKey 解决方案非常相似,即

  • 通过在按住 X 按钮之一的同时移动轨迹球来发送垂直/水平滚轮事件
  • 在不移动轨迹球的情况下按下和释放 X 按钮时单击中键。

https://github.com/Seelge/TrackballScroll

编辑:较新的版本提供了一个系统托盘图标,可在 Windows 10 上运行并基于 C#。


plo*_*oum 10

我有同样的轨迹球,解决方案非常优雅:当你点击一个选择的按钮时,球本身变成了一个滚轮。我选择了用小指按下的大右侧按钮。

非常方便,只需几天即可使用。

您很快就会认为任何滚轮(在鼠标或轨迹球上)都是无法使用的。相信我,这是值得的;-)

好处:

  • 2D 滚动而不是 1D
  • 比滚轮更快更精确的滚动
  • 长滚动更舒适(由于球的惯性)。非常适合您的 Facebook 示例。

没有它我就活不下去了。

在任何 Linux 操作系统下配置它并不难。它只需要您创建一个 /etc/X11/xorg.conf 文件(请参阅我的配置:在 Linux 下配置轨迹球,无需编辑 Xorg.conf

可以在此处找到更多详细信息:https : //help.ubuntu.com/community/Logitech_Marblemouse_USB

在 Windows 上,我没有经验,但我认为轨迹球附带了一个配置工具。

  • 我的工作环境主要是 windows,所以这对我来说不是一个可行的选择,我不知道如何将它移植到 windows 中。 (2认同)

har*_*ymc 8

您可以尝试专门为该鼠标开发的 Marble 鼠标滚轮:

Marble Mouse Scroll Wheel,或简称为 Marble Scroll,是一个小程序,旨在模拟任何轨迹球或鼠标上的滚轮,而无需任何轨迹球或鼠标。它专为 Logitech Marble Mouse 设计,但可以与任何标准鼠标或轨迹球配合使用。它是为 Windows 2000 及更高版本设计的。

Marble Scroll 替代了 Logitech 的 Autoscroll 和 Universal Scroll 功能;两者都不能正确模拟真正的滚轮,并且都有局限性和缺陷。

Marble Scroll 适用于任何鼠标或轨迹球,不需要安装 Logitech 的 SetPoint 或 MouseWare 驱动程序。

特征

  • 为任何具有两个以上按钮的鼠标添加滚轮
  • 与大多数支持滚轮的应用程序兼容(适用于任何类型的输入)
  • 可调加速度
  • 可调整的滚动距离(每“步” - 见下文)
  • 步进滚动以模拟真实的鼠标滚轮
  • 快速左/右手模式切换器
  • 通过单击托盘图标快速启用/禁用
  • 小而轻的系统资源

该产品的网站目前似乎已关闭,但这里是Archive.org上网站文本的副本。

下载链接在这里


use*_*097 5

这是我使用的 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
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 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
Run Code Online (Sandbox Code Playgroud)