Sci*_*tri 29 windows mouse windows-7
精简版
我正在寻找一种方法来反转 X 和 Y 鼠标轴的移动。计算机运行的是 Windows 7、x64 和 Logitech SetPoint 6.32。我想要一个系统级的永久修复;例如鼠标驱动程序修改或注册表调整。有谁知道实现这一点的可靠方法,或者如何找到注册表值来改变这一点?我会很高兴地解决如何在 SetPoint 6.32 中为鼠标和轨迹球启用方向功能。
长版 人们似乎永远不明白我为什么想要这个,我经常听到“只需将鼠标正面朝上使用!” 建议。阅读障碍不是通过“正确阅读”就可以治愈的。虽然我很欣赏提供帮助的尝试,但我希望一些背景知识可以帮助人们理解。
我有一个用户患有一种不寻常的阅读障碍,鼠标移动向后。如果她想向左移动光标,她将向右移动鼠标。如果她希望光标向上移动,她将向下移动鼠标。她过去常常将鼠标倒置,这使得复杂的点击变得困难,不符合人体工程学,并且使多键鼠标完全无用。
在过去,鼠标驱动程序包含一个方向功能(通常是您向上拖动以设置鼠标移动方向的热气球),可用于设置鼠标移动和光标移动之间的关系。几年前,鼠标驱动程序得到了“改进”,此后此功能仅限于轨迹球。
在失去方向功能后,她又回到了倒置鼠标一段时间,直到找到UberOptions,这是对Logitech SetPoint 的一个调整,它将启用所有指点设备的所有功能。这包括方向功能。有很多的欣喜。
现在她的鼠标已经死了,当前的 Logitech 鼠标需要更新版本的 SetPoint,而 UberOptions 尚未更新。我们还看到了MAF-Mouse(开发人员表示 64 位 Windows 的版本尚不支持 USB 鼠标)和Sakasa(虽然它可以工作,但网络上的评论表明它往往会随机损坏。它也只是一个正在运行的程序,所以不是系统范围的。)。
我见过一些非常复杂的注册表黑客。例如,当 F-Lock 键被发明并默认为拧紧我的键盘时,我曾经使用一种 hack 来更改由 F1-F12 键创建的代码。我希望有一种方法可以在注册表中翻转 X 和 Y;或其他一些类似的系统级调整。
另一种解决方案可能是重新启用鼠标和轨迹球的方向功能。非常令人沮丧的是,输入设备驱动程序包含我们迫切需要的可访问性问题的功能,但它以使驱动程序更加防白痴的名义被禁用。
Pol*_*ial 20
在网上找不到任何东西,我想这应该不会太难做,所以我继续自己做了一个。需要Microsoft .NET Framework 4.0才能运行。
Polynomial 的鼠标逆变器(免费软件,在 CC-BY-NC-SA 许可下) - ( Alt Link )
让我知道它对你有什么作用:)
对不起,这花了这么长时间,但这里是实际执行反转的代码:
internal class Inverter
{
private Point pos = Cursor.Position;
private bool invertX;
private bool invertY;
private bool running;
private bool exit;
public bool InvertX
{
get
{
return this.invertX;
}
set
{
this.invertX = value;
if (this.InvertSettingsChanged != null)
{
this.InvertSettingsChanged(this, new EventArgs());
}
}
}
public bool InvertY
{
get
{
return this.invertY;
}
set
{
this.invertY = value;
if (this.InvertSettingsChanged != null)
{
this.InvertSettingsChanged(this, new EventArgs());
}
}
}
public bool Running
{
get
{
return this.running;
}
}
public Inverter(bool x, bool y)
{
this.invertX = x;
this.invertY = y;
this.pos = Cursor.Position;
}
private void MouseLoop()
{
Thread.CurrentThread.IsBackground = true;
Thread.CurrentThread.Priority = ThreadPriority.Highest;
while (!this.exit)
{
Point position = Cursor.Position;
int right = (this.invertX ? this.pos.X - (position.X - this.pos.X) : position.X);
if (this.invertX)
{
if (right < 2)
{
right = 2;
}
if (right > Screen.FromPoint(position).Bounds.Right - 2)
{
Rectangle bounds = Screen.FromPoint(position).Bounds;
right = bounds.Right - 2;
}
}
int bottom = (this.invertY ? this.pos.Y - (position.Y - this.pos.Y) : position.Y);
if (this.invertY)
{
if (bottom < 2)
{
bottom = 2;
}
if (bottom > Screen.FromPoint(position).Bounds.Bottom - 2)
{
Rectangle rectangle = Screen.FromPoint(position).Bounds;
bottom = rectangle.Bottom - 2;
}
}
Cursor.Position = new Point(right, bottom);
this.pos = Cursor.Position;
Thread.Sleep(1);
}
this.exit = false;
}
public void Start()
{
this.pos = Cursor.Position;
this.running = true;
(new Thread(new ThreadStart(this.MouseLoop))).Start();
}
public void Stop()
{
this.running = false;
this.exit = true;
}
public event EventHandler InvertSettingsChanged;
}
Run Code Online (Sandbox Code Playgroud)
我刚刚使用 Telerik JustDecompile 从可执行文件中提取了它,因为我没有原始代码。如果需要完整的应用程序代码,可以使用 JD 提取整个 VS 项目。
小智 10
有一个名为SakasaMouse的程序可以反转鼠标移动:
SakasaMouse 是一个免费软件,用于在 x 轴和/或 y 轴上反转鼠标光标的移动方向。
如果将鼠标向右移动,鼠标指针将向左移动。
它适用于所有鼠标,包括刚购买的新无线鼠标。它的唯一问题是它可能会在没有警告的情况下切换回来,这可能有点令人不安。
我是 MAFMouse 的作者,x64 版本不适用于 USB 鼠标已不再是事实——它在系统范围内工作得非常好,即使对于游戏也是如此。
我有很多用户以前不得不使用旋转 180 度的鼠标(电缆指向用户),他们对这个驱动程序非常满意。有趣的是,除了一位之外,所有人都是女性:)
安装有点复杂,详细请联系我...
小智 5
有一个有趣的反转鼠标 AHK 脚本:
BlockInput Mouse
SetMouseDelay -1
MouseGetPos x0, y0
SetTimer WatchMouse, 1
Return
WatchMouse:
MouseGetPos x, y
MouseMove 2*(x0-x), 2*(y0-y), 0, R
MouseGetPos x0, y0
Return
!z::ExitApp
Run Code Online (Sandbox Code Playgroud)
我从这里得到它: https ://autohotkey.com/board/topic/17828-invert-mouse-axis/
在你的情况下,我什至会检查进行一些快速硬件修改以反转鼠标内部轴的可能性。
| 归档时间: |
|
| 查看次数: |
177333 次 |
| 最近记录: |