我正在编写一个c 程序来进行一些计算。如果我能够通过点击鼠标获得响应,那对我真的很有帮助。
我怎样才能做到这一点如果不可能,那么我只能使用 C 的哪些函数或库才能做到这一点。
最佳答案
<强> Ncurses has support for GPM (mouse library) 。
摘自Ncurses interfacing with the mouse how-to :
一旦启用了一类鼠标事件,每次发生某个鼠标事件时,getch() 类函数都会返回 KEY_MOUSE。然后可以使用 getmouse() 检索鼠标事件。
代码大致如下:
MEVENT event;
ch = getch();
if(ch == KEY_MOUSE)
if(getmouse(&event) == OK)
. /* Do some thing with the event */
.
.
getmouse() 将事件返回到给定它的指针中。它是一个包含
的结构typedef struct
{
short id; /* ID to distinguish multiple devices */
int x, y, z; /* event coordinates */
mmask_t bstate; /* button state bits */
}
bstate 是我们感兴趣的主要变量。它告诉鼠标的按钮状态。
然后通过如下代码片段,我们可以找出发生了什么。
if(event.bstate & BUTTON1_PRESSED)
printw("Left Button Pressed");
关于terminal - 如何使终端程序对鼠标点击使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590317/