首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为我的Logitech鼠标正确设置USB轮询率?

如何为我的Logitech鼠标正确设置USB轮询率?
EN

Ask Ubuntu用户
提问于 2015-05-15 14:21:42
回答 2查看 7.6K关注 0票数 3

在Ubuntu15.04中,我有一个非常特殊的需要更改mousepoll值。

在Kerbal空间程序中,有一个Linux错误,如果您用鼠标右键拖动视图,而鼠标指针值高于125 to,则游戏将挂起一两秒钟,使玩起来非常令人沮丧。

我有一个罗技G400鼠标,投票高达1000赫兹。我想不出怎么改变这一切。

我试过:

  • options usbhid mousepoll=8中设置/etc/modprobe.d/usbhid
  • 引导时在命令行上设置usbhid.mousepoll=8
  • 从命令行运行sudo modprobe -r usbhid && sudo modprobe usbhid mousepoll=8

这在某种程度上是有效的,因为cat /sys/module/usbhid/parameters/mousepoll按预期返回8。但是问题仍然存在于KSP中,当我从evhz运行https://github.com/ian-kelling/evhz时,它仍然报告1000 of的投票率。

可能相关:

  • 我在笔记本电脑上。根据evhz的数据,触屏不使用usbhid,投票频率为125 to。使用此方法在KSP中执行右击平移没有问题。
  • Xfce 4.12 (已启用和禁用复合尝试,没有更改)
  • 英伟达346.59名司机
  • 基于我笔记本电脑的硬件,KSP的性能与预期的不同。
  • 包(包括内核)都是股票。
  • 鼠标插入USB3.0端口
EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2015-06-15 02:36:53

我确实找到了解决这个问题的办法。

我将Windows安装在虚拟机中,将USB鼠标设备附加到VM上,然后用Wireshark跟踪USB流量,并隔离官方罗技驱动程序用来设置投票率的控制命令。(这对我指出正确的方向非常有帮助:https://unix.stackexchange.com/questions/138742/how-to-dump-usb-traffic)

这个神奇的Ruby代码(必须以root用户的身份运行,或者由具有写入/dev/hidraw1权限的用户运行)将在我的鼠标上将投票率设置为125 be:

代码语言:javascript
运行
复制
#!/bin/ruby
HIDIOCSFEATURE = 0xC0024806

f = File.open("/dev/hidraw1", "w+")
f.ioctl(HIDIOCSFEATURE,"\x20\x03")

/dev/hidraw1是我的鼠标的诱饵装置。根据插入计算机的设备数量,此路径可能有所不同。

0xC0024806序列是将特征报告“发送”到劫持设备所需的ioctl值。不幸的是,我不记得我是如何得到这个值的,而且它在技术上可能不是100%正确的。不过对我有用!

"\x20\x03"序列是驱动程序在特性报告中发送给鼠标的数据。20似乎是用于标识轮询更改请求的十六进制值,03将其设置为125 it。02将其设置为250 it,01设置为500 it,00设置为1000 it。

请注意:这对我的罗技G400鼠标工作。我认为这个鼠标只有一个硬件变体,所以在这个型号上应该是安全的。它没有在任何其他模型上进行测试,也不会在使用HID++协议进行通信的任何罗技鼠标上工作(这包括许多较新的鼠标,以及使用统一接收器的任何无线模型)。

我也几乎不知道我在做什么,我做的每一件事情都是第一次学到的,包括这个短语:警告讲师(读者注意)!

票数 5
EN

Ask Ubuntu用户

发布于 2015-06-10 19:28:45

我的罗技G302也有同样的问题。

行星湮灭鼠标滞后问题

不幸的是,罗技鼠标似乎不支持降低鼠标的投票率。

但是如果真的有必要的话,你可以通过硬件将鼠标连接到一个较慢的usb端口来减少它。

使用埃夫兹时,我注意到鼠标轮询率从1000 to下降到250 to,使用不同的usb端口。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/624075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档