|
发表于 2003-6-12 16:03:26
|
显示全部楼层
好像这个问题原因在于emacs,正常点的时候,它返回的是ButtonRelease,然而有的时候,会返回33和6,这两个是随机的。我现在用的方法很土,就是不检查鼠标的释放事件,就能在emacs里随便点了。不知道真正的原因在哪里??
我是把xim.c里面改了改:
- case Button1:
- if (event->xbutton.window == InputWindow)
- MouseClick (event->xbutton.x, event->xbutton.y, 1);
- else if (event->xbutton.window == MainWindow) {
- if (IsInBox (event->xbutton.x, event->xbutton.y, 6, 1, 24, 1 + MAINWND_HEIGHT - 1)) {
- //Change IME
- XPoint point;
- // WaitButtonRelease (&point);
- // if (IsInBox (event->xbutton.x, event->xbutton.y, 6, 1, 24, 1 + MAINWND_HEIGHT - 1))
- SwitchIM (-1,0);
- }
- else if (IsInBox (event->xbutton.x, event->xbutton.y, 26, 1, 44, MAINWND_HEIGHT - 1)) {
- // In PUNC box
- XPoint point;
- DrawPuncIcon (!bPunc);
- // WaitButtonRelease (&point);
- // if (IsInBox (point.x, point.y, 26, 1, 44, MAINWND_HEIGHT - 1))
- bPunc = !bPunc;
- DrawPuncIcon (bPunc);
- }
- else if (IsInBox (event->xbutton.x, event->xbutton.y, 46, 1, 64, MAINWND_HEIGHT - 1)) {
- // In CORNER box
- XPoint point;
- DrawCornerIcon (!bCorner);
- // WaitButtonRelease (&point);
- // if (IsInBox (point.x, point.y, 46, 1, 64, MAINWND_HEIGHT - 1))
- bCorner = !bCorner;
- DrawCornerIcon (bCorner);
- }
- else {
- MouseClick (event->xbutton.x, event->xbutton.y, 0);
- }
- }
复制代码
就是注释掉了一些东西。 |
|