我想使用滚轮滚动浏览以前的命令或滚动浏览文本编辑器。如果不启动功能齐全的 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
它将执行您输入的所有命令(但没有提示),当您移动鼠标然后按回车键时,它将执行“日期”命令。