如何将鼠标滚轮映射到 Ubuntu Server 中的上下阵列键?

如何将鼠标滚轮映射到 Ubuntu Server 中的上下阵列键?

我想使用滚轮滚动浏览以前的命令或滚动浏览文本编辑器。如果不启动功能齐全的 X Window 系统,我不知道该如何执行此操作。

答案1

这并不是一件简单的事情。

不过,使用一些编程来制作命令行过滤器来证明这一概念是可能的。例如使用 Python(见下文)。

此过滤器将获取标准输入(即键盘)并将其传递到标准输出。它还必须捕获鼠标数据,当它看到滚轮数据时,将向上或向下箭头添加到标准输出。

您可以在 /dev/input/mouse (或 mouse0 或 mouse1)上捕获鼠标输出

然后你按如下方式启动它:

sudo ./filter.py | bash

以下是一个粗略的、可行的概念:

#!/usr/bin/python

import fcntl
import os
import sys

# make stream a non-blocking file
f = open('/dev/input/mouse0')
fd = f.fileno()
fl = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK)

while (True):
    key = sys.stdin.read(1)
    sys.stdout.write(key)
    sys.stdout.flush()
    try:
        mouse = f.read(1)
        sys.stdout.write('date\n')
        sys.stdout.flush()
    except:
        continue

它将执行您输入的所有命令(但没有提示),当您移动鼠标然后按回车键时,它将执行“日期”命令。

相关内容