| @@ -86,21 +86,21 @@ unsigned int caca_get_event(void) | |||||
| if(xevent.type == MotionNotify) | if(xevent.type == MotionNotify) | ||||
| { | { | ||||
| unsigned int x = xevent.xmotion.x / x11_font_width; | |||||
| unsigned int y = xevent.xmotion.y / x11_font_height; | |||||
| unsigned int newx = xevent.xmotion.x / x11_font_width; | |||||
| unsigned int newy = xevent.xmotion.y / x11_font_height; | |||||
| if(x11_x == x && x11_y == y) | |||||
| if(x11_x == newx && x11_y == newy) | |||||
| continue; | continue; | ||||
| if(x >= _caca_width) | |||||
| x = _caca_width - 1; | |||||
| if(y >= _caca_height) | |||||
| y = _caca_height - 1; | |||||
| if(newx >= _caca_width) | |||||
| newx = _caca_width - 1; | |||||
| if(newy >= _caca_height) | |||||
| newy = _caca_height - 1; | |||||
| x11_x = x & 0xfff; | |||||
| x11_y = y & 0xfff; | |||||
| x11_x = newx & 0xfff; | |||||
| x11_y = newy & 0xfff; | |||||
| return CACA_EVENT_MOUSE_MOTION | (x << 12) | (y << 0); | |||||
| return CACA_EVENT_MOUSE_MOTION | (newx << 12) | (newy << 0); | |||||
| } | } | ||||
| if(xevent.type == ButtonPress) | if(xevent.type == ButtonPress) | ||||
| @@ -170,12 +170,9 @@ unsigned int caca_get_event(void) | |||||
| MEVENT mevent; | MEVENT mevent; | ||||
| _pop_key(); | _pop_key(); | ||||
| getmouse(&mevent); | getmouse(&mevent); | ||||
| event |= (1) << 16; | |||||
| event |= (mevent.x) << 8; | |||||
| event |= (mevent.y) << 0; | |||||
| return CACA_EVENT_MOUSE_PRESS | event; | |||||
| _push_key(CACA_EVENT_MOUSE_PRESS | 1); | |||||
| return CACA_EVENT_MOUSE_MOTION | |||||
| | (mevent.x << 12) | (mevent.y << 0); | |||||
| } | } | ||||
| switch(keybuf[0]) | switch(keybuf[0]) | ||||
| @@ -243,11 +240,9 @@ unsigned int caca_get_event(void) | |||||
| /* ^[[Mxxx */ | /* ^[[Mxxx */ | ||||
| _pop_key(); | _pop_key(); | ||||
| _pop_key(); | _pop_key(); | ||||
| event |= (_pop_key() - ' ') << 16; | |||||
| event |= (_pop_key() - '!') << 8; | |||||
| event |= (_pop_key() - '!') << 0; | |||||
| return CACA_EVENT_MOUSE_PRESS | event; | |||||
| _push_key(CACA_EVENT_MOUSE_PRESS | (_pop_key() - ' ')); | |||||
| return CACA_EVENT_MOUSE_MOTION | |||||
| | ((_pop_key() - '!') << 12) | ((_pop_key() - '!') << 0); | |||||
| } | } | ||||
| else if(keybuf[0] == '[' && keybuf[1] == '1' && keybuf[3] == '~' && | else if(keybuf[0] == '[' && keybuf[1] == '1' && keybuf[3] == '~' && | ||||
| keybuf[2] >= '5' && keybuf[2] != '6' && keybuf[2] <= '9') | keybuf[2] >= '5' && keybuf[2] != '6' && keybuf[2] <= '9') | ||||