你需要:
- 支持鼠标事件报告的终端;
$TERM
指向terminfo条目,该条目具有适当的XM
条目以正确初始化终端。
xterm至少满足(1);对于(2),您可能需要为设置一个不同的值
TERM。
尝试:
TERM=xterm-1002
在按住按钮的同时将光标移到另一个单元格时获得位置事件;要么TERM=xterm-1003
即使光标没有被按下,只要光标移动到另一个单元格,总是会得到一个位置事件。
结果事件
REPORT_MOUSE_POSITION将在
bstate字段上设置该位。
(
curs_mouse(3x)手册页的“ PORTABILITY”部分描述了终端的初始化,Xterm
Control Sequences文档的“
Mouse Tracking”部分描述了相关的“ private mode”扩展。)
您上面提供的代码
getch()无需使用
getchar();并且需要一个
refresh()内部循环!除此之外,
xterm当使用适当的
TERM设置之一时,它对我有用。



