diff options
author | marha <marha@users.sourceforge.net> | 2013-11-15 09:03:52 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-11-15 09:03:52 +0100 |
commit | 4d64875593956234795d9947ac1d225e5b110f0f (patch) | |
tree | 5cc58965cdfe27a50f86f0d8872a7da80cc7248d | |
parent | 9837797b353b2e24e7ac96d3a74159497410c21a (diff) | |
parent | aa095d69b3874eb179cb77f033109a7f8f351041 (diff) | |
download | vcxsrv-4d64875593956234795d9947ac1d225e5b110f0f.tar.gz vcxsrv-4d64875593956234795d9947ac1d225e5b110f0f.tar.bz2 vcxsrv-4d64875593956234795d9947ac1d225e5b110f0f.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
xcb-proto mesa xserver git update 15 nov 2013
Conflicts:
xorg-server/mi/mieq.c
-rw-r--r-- | libxcb/xcb-proto/HACKING | 20 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/.gitattributes | 1 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xinput.xml | 34 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xkb.xml | 24 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xv.xml | 8 | ||||
-rw-r--r-- | libxcb/xcb-proto/xcbgen/xtypes.py | 2 | ||||
-rw-r--r-- | mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.cpp | 60 | ||||
-rw-r--r-- | mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.h | 3 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/ephyr.c | 9 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/hostx.c | 4 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/src/kdrive.c | 3 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/src/kdrive.h | 1 | ||||
-rw-r--r-- | xorg-server/hw/kdrive/src/kinput.c | 10 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/modes/xf86Crtc.c | 3 | ||||
-rw-r--r-- | xorg-server/include/input.h | 12 | ||||
-rw-r--r-- | xorg-server/test/Makefile.am | 4 |
16 files changed, 135 insertions, 63 deletions
diff --git a/libxcb/xcb-proto/HACKING b/libxcb/xcb-proto/HACKING new file mode 100644 index 000000000..e954a766a --- /dev/null +++ b/libxcb/xcb-proto/HACKING @@ -0,0 +1,20 @@ +Make patches more descriptive +============================= + +By default hunk headers of a patch will look like this: + + @@ -1227,6 +1227,8 @@ authorization from the authors. + +Which is not very usefull as it doesn't give a hint where the change +happened (except for the line number). To make those hunk headers more +descriptive, i.e.: + + @@ -1227,6 +1227,8 @@ <struct name="HierarchyChange"> + +Add these 2 lines to your .git/config file: + + [diff "xcb"] + xfuncname = "(<\\b(xcb|enum|event|request|struct|union)\\b.*>)" + +For more background on this magic have a look at src/.gitattributes and +the man page gitattributes(5) chapter "Defining a custom hunk-header". diff --git a/libxcb/xcb-proto/src/.gitattributes b/libxcb/xcb-proto/src/.gitattributes new file mode 100644 index 000000000..8d345b069 --- /dev/null +++ b/libxcb/xcb-proto/src/.gitattributes @@ -0,0 +1 @@ +*.xml diff=xcb diff --git a/libxcb/xcb-proto/src/xinput.xml b/libxcb/xcb-proto/src/xinput.xml index e62b7cb74..dd3f18438 100644 --- a/libxcb/xcb-proto/src/xinput.xml +++ b/libxcb/xcb-proto/src/xinput.xml @@ -1257,10 +1257,42 @@ authorization from the authors. <!-- XISelectEvents --> + <enum name="XIEventMask"> + <item name="DeviceChanged"> <bit>1</bit> </item> + <item name="KeyPress"> <bit>2</bit> </item> + <item name="KeyRelease"> <bit>3</bit> </item> + <item name="ButtonPress"> <bit>4</bit> </item> + <item name="ButtonRelease"> <bit>5</bit> </item> + <item name="Motion"> <bit>6</bit> </item> + <item name="Enter"> <bit>7</bit> </item> + <item name="Leave"> <bit>8</bit> </item> + <item name="FocusIn"> <bit>9</bit> </item> + <item name="FocusOut"> <bit>10</bit> </item> + <item name="Hierarchy"> <bit>11</bit> </item> + <item name="Property"> <bit>12</bit> </item> + <!-- ⋅⋅⋅ Events (v2.1) ⋅⋅⋅ --> + <item name="RawKeyPress"> <bit>13</bit> </item> + <item name="RawKeyRelease"> <bit>14</bit> </item> + <item name="RawButtonPress"> <bit>15</bit> </item> + <item name="RawButtonRelease"> <bit>16</bit> </item> + <item name="RawMotion"> <bit>17</bit> </item> + <!-- ⋅⋅⋅ Events (v2.2) ⋅⋅⋅ --> + <item name="TouchBegin"> <bit>18</bit> </item> + <item name="TouchUpdate"> <bit>19</bit> </item> + <item name="TouchEnd"> <bit>20</bit> </item> + <item name="TouchOwnership"> <bit>21</bit> </item> + <item name="RawTouchBegin"> <bit>22</bit> </item> + <item name="RawTouchUpdate"> <bit>23</bit> </item> + <item name="RawTouchEnd"> <bit>24</bit> </item> + <!-- ⋅⋅⋅ Events (v2.3) ⋅⋅⋅ --> + <item name="BarrierHit"> <bit>25</bit> </item> + <item name="BarrierLeave"> <bit>26</bit> </item> + </enum> + <struct name="EventMask"> <field type="DeviceId" name="deviceid" altenum="Device" /> <field type="CARD16" name="mask_len" /> - <list type="CARD32" name="mask"> <!-- set of EventMaskBit --> + <list type="CARD32" name="mask" mask="XIEventMask"> <fieldref>mask_len</fieldref> </list> </struct> diff --git a/libxcb/xcb-proto/src/xkb.xml b/libxcb/xcb-proto/src/xkb.xml index 2ea659c29..1df0771e1 100644 --- a/libxcb/xcb-proto/src/xkb.xml +++ b/libxcb/xcb-proto/src/xkb.xml @@ -547,6 +547,7 @@ authorization from the authors. <typedef oldname="char" newname="STRING8" /> + <!-- XXX: Property is broken <struct name="Property"> <field name="nameLength" type="CARD16" /> <list name="name" type="STRING8"> @@ -557,6 +558,15 @@ authorization from the authors. <fieldref>valueLength</fieldref> </list> </struct> + --> + <!-- XXX: This would be the correct Property structure as per spec., + but it's broken atm. too. Add it anyway here, so we don't + loose that information. + <struct name="Property"> + <field name="name" type="CountedString16" /> + <field name="value" type="CountedString16" /> + </struct> + --> <struct name="Outline"> <field name="nPoints" type="CARD8" /> @@ -633,6 +643,7 @@ authorization from the authors. <item name="Logo"> <value>5</value> </item> </enum> + <!-- XXX: doodads are broken <struct name="CommonDoodad"> <field name="name" type="ATOM" /> <field name="type" type="CARD8" enum="DoodadType" /> @@ -726,6 +737,7 @@ authorization from the authors. <fieldref>nOverlays</fieldref> </list> </struct> + --> <struct name="Listing"> <field name="flags" type="CARD16" /> @@ -1869,6 +1881,7 @@ authorization from the authors. </switch> </request> + <!-- XXX: Property and doodads are broken, which renders GetGeometry useless <request name="GetGeometry" opcode="19"> <field name="deviceSpec" type="DeviceSpec" /> <pad bytes="2" /> @@ -1909,7 +1922,9 @@ authorization from the authors. </list> </reply> </request> + --> + <!-- XXX: Property and doodads are broken, which renders SetGeometry useless <request name="SetGeometry" opcode="20"> <field name="deviceSpec" type="DeviceSpec" /> <field name="nShapes" type="CARD8" /> @@ -1944,6 +1959,7 @@ authorization from the authors. <fieldref>nKeyAliases</fieldref> </list> </request> + --> <request name="PerClientFlags" opcode="21"> <field name="deviceSpec" type="DeviceSpec" /> @@ -1966,6 +1982,7 @@ authorization from the authors. <request name="ListComponents" opcode="22"> <field name="deviceSpec" type="DeviceSpec" /> <field name="maxNames" type="CARD16" /> + <!-- XXX: Intermixed fixed size fields and lists are broken <field name="keymapsSpecLen" type="CARD8" /> <list name="keymapsSpec" type="STRING8"> <fieldref>keymapsSpecLen</fieldref> @@ -1990,6 +2007,7 @@ authorization from the authors. <list name="geometrySpec" type="STRING8"> <fieldref>geometrySpecLen</fieldref> </list> + --> <reply> <field name="deviceID" type="CARD8" /> <field name="nKeymaps" type="CARD16" /> @@ -2027,6 +2045,7 @@ authorization from the authors. <field name="want" type="CARD16" mask="GBNDetail" /> <field name="load" type="BOOL" /> <pad bytes="1" /> + <!-- XXX: Intermixed fixed size fields and lists are broken <field name="keymapsSpecLen" type="CARD8" /> <list name="keymapsSpec" type="STRING8"> <fieldref>keymapsSpecLen</fieldref> @@ -2051,6 +2070,7 @@ authorization from the authors. <list name="geometrySpec" type="STRING8"> <fieldref>geometrySpecLen</fieldref> </list> + --> <reply> <field name="deviceID" type="CARD8" /> <field name="minKeyCode" type="KEYCODE" /> @@ -2324,6 +2344,7 @@ authorization from the authors. <field name="baseColorNdx" type="CARD8" /> <field name="labelColorNdx" type="CARD8" /> <field name="labelFont" type="CountedString16" /> + <!-- XXX: Property is broken <list name="properties" type="Property"> <fieldref>nProperties</fieldref> </list> @@ -2333,6 +2354,8 @@ authorization from the authors. <list name="shapes" type="Shape"> <fieldref>nShapes</fieldref> </list> + --> + <!-- XXX: doodads are broken <list name="sections" type="Section"> <fieldref>nSections</fieldref> </list> @@ -2342,6 +2365,7 @@ authorization from the authors. <list name="keyAliases" type="KeyAlias"> <fieldref>nKeyAliases</fieldref> </list> + --> </bitcase> </switch> </reply> diff --git a/libxcb/xcb-proto/src/xv.xml b/libxcb/xcb-proto/src/xv.xml index a05767c53..0b55d3633 100644 --- a/libxcb/xcb-proto/src/xv.xml +++ b/libxcb/xcb-proto/src/xv.xml @@ -112,10 +112,6 @@ authorization from the authors. <field type="CARD16" name="name_size" /> <field type="CARD16" name="width" /> <field type="CARD16" name="height" /> - <!-- - Some versions of Xvproto.h incorrectly have - this padding after "rate". - --> <pad bytes="2" /> <field type="Rational" name="rate" /> <list type="char" name="name"> @@ -234,10 +230,6 @@ authorization from the authors. <reply> <pad bytes="1" /> <field type="CARD16" name="num_encodings" /> - <!-- - In Xvproto.h this padding is 24 bytes - in actuality it is 22 bytes - --> <pad bytes="22" /> <list type="EncodingInfo" name="info"> <fieldref>num_encodings</fieldref> diff --git a/libxcb/xcb-proto/xcbgen/xtypes.py b/libxcb/xcb-proto/xcbgen/xtypes.py index 951731afc..5f45723ce 100644 --- a/libxcb/xcb-proto/xcbgen/xtypes.py +++ b/libxcb/xcb-proto/xcbgen/xtypes.py @@ -76,7 +76,7 @@ class Type(object): complex_type.fields.append(new_field) def make_fd_of(self, module, complex_type, fd_name): - ''' + ''' Method for making a fd member of a structure. ''' new_fd = Field(self, module.get_type_name('INT32'), fd_name, True, False, False, None, True) diff --git a/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.cpp b/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.cpp index 52e8e5ede..df697e4a3 100644 --- a/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.cpp +++ b/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.cpp @@ -72,7 +72,6 @@ MesaSoftwareRast::MesaSoftwareRast(BGLView* view, ulong options, fDirectModeEnabled(false), fInfo(NULL), fInfoLocker("info locker"), - fContext(NULL), fVisual(NULL), fFrameBuffer(NULL), fFrontRenderBuffer(NULL), @@ -114,34 +113,27 @@ MesaSoftwareRast::MesaSoftwareRast(BGLView* view, ulong options, functions.Flush = _Flush; // create core context - fContext = _mesa_create_context(API_OPENGL_COMPAT, fVisual, NULL, + // We inherit gl_context to this class + _mesa_initialize_context(this, API_OPENGL_COMPAT, fVisual, NULL, &functions); - if (!fContext) { - ERROR("%s: Failed to create Mesa context!\n", __func__); - _mesa_destroy_visual(fVisual); - return; - } - - fContext->DriverCtx = (void*)this; - /* Initialize the software rasterizer and helper modules. */ - _swrast_CreateContext(fContext); - _vbo_CreateContext(fContext); - _tnl_CreateContext(fContext); - _swsetup_CreateContext(fContext); - _swsetup_Wakeup(fContext); + _swrast_CreateContext(this); + _vbo_CreateContext(this); + _tnl_CreateContext(this); + _swsetup_CreateContext(this); + _swsetup_Wakeup(this); // Use default TCL pipeline - TNL_CONTEXT(fContext)->Driver.RunPipeline = _tnl_run_pipeline; + TNL_CONTEXT(this)->Driver.RunPipeline = _tnl_run_pipeline; - _mesa_meta_init(fContext); - _mesa_enable_sw_extensions(fContext); + _mesa_meta_init(this); + _mesa_enable_sw_extensions(this); - _mesa_compute_version(fContext); + _mesa_compute_version(this); - _mesa_initialize_dispatch_tables(fContext); - _mesa_initialize_vbo_vtxfmt(fContext); + _mesa_initialize_dispatch_tables(this); + _mesa_initialize_vbo_vtxfmt(this); // create core framebuffer fFrameBuffer = _mesa_create_framebuffer(fVisual); @@ -199,13 +191,13 @@ MesaSoftwareRast::MesaSoftwareRast(BGLView* view, ulong options, MesaSoftwareRast::~MesaSoftwareRast() { CALLED(); - _swsetup_DestroyContext(fContext); - _swrast_DestroyContext(fContext); - _tnl_DestroyContext(fContext); - _vbo_DestroyContext(fContext); + _swsetup_DestroyContext(this); + _swrast_DestroyContext(this); + _tnl_DestroyContext(this); + _vbo_DestroyContext(this); _mesa_destroy_visual(fVisual); _mesa_destroy_framebuffer(fFrameBuffer); - _mesa_destroy_context(fContext); + _mesa_destroy_context(this); free(fInfo); free(fFrameBuffer); @@ -220,7 +212,7 @@ MesaSoftwareRast::LockGL() CALLED(); BGLRenderer::LockGL(); - _mesa_make_current(fContext, fFrameBuffer, fFrameBuffer); + _mesa_make_current(this, fFrameBuffer, fFrameBuffer); color_space colorSpace = BScreen(GLView()->Window()).ColorSpace(); @@ -250,7 +242,7 @@ void MesaSoftwareRast::UnlockGL() { CALLED(); - _mesa_make_current(fContext, NULL, NULL); + _mesa_make_current(this, NULL, NULL); BGLRenderer::UnlockGL(); } @@ -264,7 +256,7 @@ MesaSoftwareRast::SwapBuffers(bool VSync) return; if (fVisual->doubleBufferMode) - _mesa_notifySwapBuffers(fContext); + _mesa_notifySwapBuffers(this); if (!fDirectModeEnabled || fInfo == NULL) { if (GLView()->LockLooperWithTimeout(1000) == B_OK) { @@ -416,7 +408,7 @@ MesaSoftwareRast::_CheckResize(GLuint newWidth, GLuint newHeight) return; } - _mesa_resize_framebuffer(fContext, fFrameBuffer, newWidth, newHeight); + _mesa_resize_framebuffer(this, fFrameBuffer, newWidth, newHeight); fHeight = newHeight; fWidth = newWidth; @@ -546,17 +538,15 @@ void MesaSoftwareRast::_Flush(gl_context* ctx) { CALLED(); - // TODO: We may want to add the void* DriverCtx back into mtypes.h for - // gl_context someday... - #if 0 - MesaSoftwareRast* driverContext = (MesaSoftwareRast*)ctx->DriverCtx; + MesaSoftwareRast* driverContext = static_cast<MesaSoftwareRast*>(ctx); + + //MesaSoftwareRast* driverContext = (MesaSoftwareRast*)ctx->DriverCtx; if ((driverContext->fOptions & BGL_DOUBLE) == 0) { // TODO: SwapBuffers() can call _CopyToDirect(), which should // be always called with with the BGLView drawlocked. // This is not always the case if called from here. driverContext->SwapBuffers(); } - #endif } diff --git a/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.h b/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.h index 8ef84938d..8f0f01848 100644 --- a/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.h +++ b/mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.h @@ -24,7 +24,7 @@ extern "C" { } -class MesaSoftwareRast : public BGLRenderer { +class MesaSoftwareRast : public BGLRenderer, public gl_context { public: MesaSoftwareRast(BGLView* view, ulong bgl_options, @@ -79,7 +79,6 @@ private: BLocker fInfoLocker; ulong fOptions; - gl_context* fContext; gl_config* fVisual; struct gl_framebuffer* fFrameBuffer; diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.c b/xorg-server/hw/kdrive/ephyr/ephyr.c index 08ec5d751..a10f47286 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyr.c +++ b/xorg-server/hw/kdrive/ephyr/ephyr.c @@ -970,7 +970,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); } } diff --git a/xorg-server/hw/kdrive/ephyr/hostx.c b/xorg-server/hw/kdrive/ephyr/hostx.c index 510dd2456..873033373 100644 --- a/xorg-server/hw/kdrive/ephyr/hostx.c +++ b/xorg-server/hw/kdrive/ephyr/hostx.c @@ -310,8 +310,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); } diff --git a/xorg-server/hw/kdrive/src/kdrive.c b/xorg-server/hw/kdrive/src/kdrive.c index f2426ca43..d56ba8fc5 100644 --- a/xorg-server/hw/kdrive/src/kdrive.c +++ b/xorg-server/hw/kdrive/src/kdrive.c @@ -330,7 +330,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; } diff --git a/xorg-server/hw/kdrive/src/kdrive.h b/xorg-server/hw/kdrive/src/kdrive.h index 52cde4f0d..f52072003 100644 --- a/xorg-server/hw/kdrive/src/kdrive.h +++ b/xorg-server/hw/kdrive/src/kdrive.h @@ -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 diff --git a/xorg-server/hw/kdrive/src/kinput.c b/xorg-server/hw/kdrive/src/kinput.c index 7f47a1da5..d5171a7f7 100644 --- a/xorg-server/hw/kdrive/src/kinput.c +++ b/xorg-server/hw/kdrive/src/kinput.c @@ -1918,6 +1918,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, @@ -2051,25 +2053,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; } diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.c b/xorg-server/hw/xfree86/modes/xf86Crtc.c index 2a02c8507..a441fd16a 100644 --- a/xorg-server/hw/xfree86/modes/xf86Crtc.c +++ b/xorg-server/hw/xfree86/modes/xf86Crtc.c @@ -1863,6 +1863,9 @@ SetCompatOutput(xf86CrtcConfigPtr config) DisplayModePtr maxmode = NULL, testmode, mode; int o, compat = -1, count, mincount = 0; + if (config->num_output == 0) + return NULL; + /* Look for one that's definitely connected */ for (o = 0; o < config->num_output; o++) { test = config->output[o]; diff --git a/xorg-server/include/input.h b/xorg-server/include/input.h index 1fa091666..b42510d9b 100644 --- a/xorg-server/include/input.h +++ b/xorg-server/include/input.h @@ -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); diff --git a/xorg-server/test/Makefile.am b/xorg-server/test/Makefile.am index e59c412ee..2852bb3e0 100644 --- a/xorg-server/test/Makefile.am +++ b/xorg-server/test/Makefile.am @@ -1,11 +1,11 @@ if ENABLE_UNIT_TESTS SUBDIRS= . -noinst_PROGRAMS = list string touch +noinst_PROGRAMS = list string if XORG # Tests that require at least some DDX functions in order to fully link # For now, requires xf86 ddx, could be adjusted to use another SUBDIRS += xi2 -noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging +noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch endif check_LTLIBRARIES = libxservertest.la |