java如何判断鼠标移动事件_X11鼠标移动事件

在XLib中创建窗口时

我为 SetWindowAttributes.event_mask 会员提供的面具是什么?

我需要传递给 XCreateWindow() 的第11个参数

我在主消息循环中寻找的事件是什么(我在哪里使用 XNextEvent(lDisplay, &xEvent); ?

由于X的行为与Microsoft的Win32 API不同,如何确定鼠标是在我的窗口上还是在我的"Application"窗口而不是在桌面上?

我找了一个类似的帖子 . 如果那里已经有一个,请指出我正确的方向 .

Update

对于那些想要轻松回答第1-3部分的人:

1 .

xAttributes.event_mask = ExposureMask | KeyPressMask | ButtonPress |

StructureNotifyMask | ButtonReleaseMask |

KeyReleaseMask | EnterWindowMask | LeaveWindowMask |

PointerMotionMask | Button1MotionMask | VisibilityChangeMask |

ColormapChangeMask;

2 .

unsigned long valuemask = CWEventMask | CWBackPixel | CWBorderPixel | CWCursor;

switch (xEvent.type)

{

case MapNotify:

break;

case Expose:

// If this is not the last expose event break

if (xEvent.xexpose.count != 0)

break;

else

break;

case ConfigureNotify:

break;

case VisibilityNotify:

break;

case DestroyNotify:

break;

case ButtonPress:

case ButtonRelease:

case EnterNotify:

case MotionNotify:

case LeaveNotify:

if(_mouseHandler)

_mouseHandler->HandleInput(lDisplay, &xEvent);

break;

case KeyPress:

case KeyRelease:

if(_keyboardHandler)

_keyboardHandler->HandleInput(lDisplay, &xEvent);

break;

default:

if(_keyboardHandler)

_keyboardHandler->HandleInput(lDisplay, &xEvent);

break;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值