如何在 Linux 系统上配置鼠标动作?

如何在 Linux 系统上配置鼠标动作?

如果问题听起来很简单,让我具体说明一下:我使用的是 Chrome OS,这是一个经过大量修改的 Gentoo 发行版,但我启用了开发模式,因此我可以做大多数事情,理论上,命令行中所有 linux 应该能够做的事情都可以做。现在第二个具体情况是,我沉迷于 ThinkPad Trackpoint 鼠标(或者您可能知道的乳头鼠标),所以我买了一个联想蓝牙键盘(没有触控板)https://linkgear.jp/uploads/IMG_1361.jpg)。但是:在三个鼠标按钮中,chrome os 似乎不支持鼠标中键触发滚动操作,通过按住鼠标中键并移动指点点来滚动,因此我只能使用无滚动功能。这会将我的性能限制在 50% 左右,相比之下,触控板的烦扰则减少了 25%。

现在我还不相信 Chrome OS 无法接收这种滚动鼠标操作,我也不会轻易相信它,因为它的核心实际上只是另一个 Linux。

我愿意接受任何人提出的黑客想法,但到目前为止我还没有找到太多关于 chrome os 的鼠标界面或某个“Ash”窗口管理器的信息。

谢谢!

答案1

首先用来evemu-record验证到达的原始物理事件(或者可能libinput debug-events看到类似但经过 libinput 处理的事件)。

假设他们这样做,你应该能够用拦截工具在运行过程中改变这些事件——与项目自述文件中的“x2y”示例非常相似,但改变了事件代码如果按钮当前被按下,则从REL_Y到。REL_WHEEL

bool held = false;
while (..) {
  if (event.type == EV_KEY && event.code == BTN_MIDDLE) {
    held = (bool) event.value;
  } else if (held && event.type == EV_REL && event.code == REL_X) {
    event.code = REL_WHEEL;
  }
  ..
}

相关内容