Merge remote-tracking branch 'whot/for-keith'
This commit is contained in:
commit
29240e5cbf
|
@ -959,7 +959,14 @@ ephyrProcessMouseMotion(xcb_generic_event_t *xev)
|
|||
}
|
||||
EPHYR_LOG("final (x,y):(%d,%d)\n", x, y);
|
||||
#endif
|
||||
KdEnqueuePointerEvent(ephyrMouse, mouseState, x, y, 0);
|
||||
|
||||
/* convert coords into desktop-wide coordinates.
|
||||
* fill_pointer_events will convert that back to
|
||||
* per-screen coordinates where needed */
|
||||
x += screen->pScreen->x;
|
||||
y += screen->pScreen->y;
|
||||
|
||||
KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_POINTER_DESKTOP, x, y, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -304,8 +304,8 @@ hostx_init(void)
|
|||
| XCB_EVENT_MASK_STRUCTURE_NOTIFY;
|
||||
|
||||
EPHYR_DBG("mark");
|
||||
|
||||
if ((HostX.conn = xcb_connect(NULL, &HostX.screen)) == NULL) {
|
||||
HostX.conn = xcb_connect(NULL, &HostX.screen);
|
||||
if (xcb_connection_has_error(HostX.conn)) {
|
||||
fprintf(stderr, "\nXephyr cannot open host display. Is DISPLAY set?\n");
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
@ -328,7 +328,8 @@ KdParseScreen(KdScreenInfo * screen, const char *arg)
|
|||
screen->height = pixels;
|
||||
screen->height_mm = mm;
|
||||
}
|
||||
if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y')
|
||||
if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y' &&
|
||||
(delim != '\0' || i == 0))
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -506,6 +506,7 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo * ki, unsigned char scan_code,
|
|||
#define KD_BUTTON_4 0x08
|
||||
#define KD_BUTTON_5 0x10
|
||||
#define KD_BUTTON_8 0x80
|
||||
#define KD_POINTER_DESKTOP 0x40000000
|
||||
#define KD_MOUSE_DELTA 0x80000000
|
||||
|
||||
void
|
||||
|
|
|
@ -1895,6 +1895,8 @@ KdEnqueuePointerEvent(KdPointerInfo * pi, unsigned long flags, int rx, int ry,
|
|||
}
|
||||
else {
|
||||
dixflags = POINTER_ABSOLUTE;
|
||||
if (flags & KD_POINTER_DESKTOP)
|
||||
dixflags |= POINTER_DESKTOP;
|
||||
if (x != pi->dixdev->last.valuators[0] ||
|
||||
y != pi->dixdev->last.valuators[1])
|
||||
_KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags,
|
||||
|
@ -2028,25 +2030,25 @@ KdCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y)
|
|||
dx = KdScreenOrigin(pNewScreen)->x - KdScreenOrigin(pScreen)->x;
|
||||
dy = KdScreenOrigin(pNewScreen)->y - KdScreenOrigin(pScreen)->y;
|
||||
if (*x < 0) {
|
||||
if (dx <= 0 && -dx < best_x) {
|
||||
if (dx < 0 && -dx < best_x) {
|
||||
best_x = -dx;
|
||||
n_best_x = n;
|
||||
}
|
||||
}
|
||||
else if (*x >= pScreen->width) {
|
||||
if (dx >= 0 && dx < best_x) {
|
||||
if (dx > 0 && dx < best_x) {
|
||||
best_x = dx;
|
||||
n_best_x = n;
|
||||
}
|
||||
}
|
||||
if (*y < 0) {
|
||||
if (dy <= 0 && -dy < best_y) {
|
||||
if (dy < 0 && -dy < best_y) {
|
||||
best_y = -dy;
|
||||
n_best_y = n;
|
||||
}
|
||||
}
|
||||
else if (*y >= pScreen->height) {
|
||||
if (dy >= 0 && dy < best_y) {
|
||||
if (dy > 0 && dy < best_y) {
|
||||
best_y = dy;
|
||||
n_best_y = n;
|
||||
}
|
||||
|
|
|
@ -244,12 +244,12 @@ typedef struct _InputAttributes {
|
|||
#define KEY_POSTED 2
|
||||
#define BUTTON_POSTED 2
|
||||
|
||||
extern void set_key_down(DeviceIntPtr pDev, int key_code, int type);
|
||||
extern void set_key_up(DeviceIntPtr pDev, int key_code, int type);
|
||||
extern int key_is_down(DeviceIntPtr pDev, int key_code, int type);
|
||||
extern void set_button_down(DeviceIntPtr pDev, int button, int type);
|
||||
extern void set_button_up(DeviceIntPtr pDev, int button, int type);
|
||||
extern int button_is_down(DeviceIntPtr pDev, int button, int type);
|
||||
extern _X_EXPORT void set_key_down(DeviceIntPtr pDev, int key_code, int type);
|
||||
extern _X_EXPORT void set_key_up(DeviceIntPtr pDev, int key_code, int type);
|
||||
extern _X_EXPORT int key_is_down(DeviceIntPtr pDev, int key_code, int type);
|
||||
extern _X_EXPORT void set_button_down(DeviceIntPtr pDev, int button, int type);
|
||||
extern _X_EXPORT void set_button_up(DeviceIntPtr pDev, int button, int type);
|
||||
extern _X_EXPORT int button_is_down(DeviceIntPtr pDev, int button, int type);
|
||||
|
||||
extern void InitCoreDevices(void);
|
||||
extern void InitXTestDevices(void);
|
||||
|
|
Loading…
Reference in New Issue
Block a user