aboutsummaryrefslogtreecommitdiff
path: root/libX11/man
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2009-06-28 22:07:26 +0000
committermarha <marha@users.sourceforge.net>2009-06-28 22:07:26 +0000
commit3562e78743202e43aec8727005182a2558117eca (patch)
tree8f9113a77d12470c5c851a2a8e4cb02e89df7d43 /libX11/man
downloadvcxsrv-3562e78743202e43aec8727005182a2558117eca.tar.gz
vcxsrv-3562e78743202e43aec8727005182a2558117eca.tar.bz2
vcxsrv-3562e78743202e43aec8727005182a2558117eca.zip
Checked in the following released items:
xkeyboard-config-1.4.tar.gz ttf-bitstream-vera-1.10.tar.gz font-alias-1.0.1.tar.gz font-sun-misc-1.0.0.tar.gz font-sun-misc-1.0.0.tar.gz font-sony-misc-1.0.0.tar.gz font-schumacher-misc-1.0.0.tar.gz font-mutt-misc-1.0.0.tar.gz font-misc-misc-1.0.0.tar.gz font-misc-meltho-1.0.0.tar.gz font-micro-misc-1.0.0.tar.gz font-jis-misc-1.0.0.tar.gz font-isas-misc-1.0.0.tar.gz font-dec-misc-1.0.0.tar.gz font-daewoo-misc-1.0.0.tar.gz font-cursor-misc-1.0.0.tar.gz font-arabic-misc-1.0.0.tar.gz font-winitzki-cyrillic-1.0.0.tar.gz font-misc-cyrillic-1.0.0.tar.gz font-cronyx-cyrillic-1.0.0.tar.gz font-screen-cyrillic-1.0.1.tar.gz font-xfree86-type1-1.0.1.tar.gz font-adobe-utopia-type1-1.0.1.tar.gz font-ibm-type1-1.0.0.tar.gz font-bitstream-type1-1.0.0.tar.gz font-bitstream-speedo-1.0.0.tar.gz font-bh-ttf-1.0.0.tar.gz font-bh-type1-1.0.0.tar.gz font-bitstream-100dpi-1.0.0.tar.gz font-bh-lucidatypewriter-100dpi-1.0.0.tar.gz font-bh-100dpi-1.0.0.tar.gz font-adobe-utopia-100dpi-1.0.1.tar.gz font-adobe-100dpi-1.0.0.tar.gz font-util-1.0.1.tar.gz font-bitstream-75dpi-1.0.0.tar.gz font-bh-lucidatypewriter-75dpi-1.0.0.tar.gz font-adobe-utopia-75dpi-1.0.1.tar.gz font-bh-75dpi-1.0.0.tar.gz bdftopcf-1.0.1.tar.gz font-adobe-75dpi-1.0.0.tar.gz mkfontscale-1.0.6.tar.gz openssl-0.9.8k.tar.gz bigreqsproto-1.0.2.tar.gz xtrans-1.2.2.tar.gz resourceproto-1.0.2.tar.gz inputproto-1.4.4.tar.gz compositeproto-0.4.tar.gz damageproto-1.1.0.tar.gz zlib-1.2.3.tar.gz xkbcomp-1.0.5.tar.gz freetype-2.3.9.tar.gz pthreads-w32-2-8-0-release.tar.gz pixman-0.12.0.tar.gz kbproto-1.0.3.tar.gz evieext-1.0.2.tar.gz fixesproto-4.0.tar.gz recordproto-1.13.2.tar.gz randrproto-1.2.2.tar.gz scrnsaverproto-1.1.0.tar.gz renderproto-0.9.3.tar.gz xcmiscproto-1.1.2.tar.gz fontsproto-2.0.2.tar.gz xextproto-7.0.3.tar.gz xproto-7.0.14.tar.gz libXdmcp-1.0.2.tar.gz libxkbfile-1.0.5.tar.gz libfontenc-1.0.4.tar.gz libXfont-1.3.4.tar.gz libX11-1.1.5.tar.gz libXau-1.0.4.tar.gz libxcb-1.1.tar.gz xorg-server-1.5.3.tar.gz
Diffstat (limited to 'libX11/man')
-rw-r--r--libX11/man/AllPlanes.man380
-rw-r--r--libX11/man/BlackPixelOfScreen.man288
-rw-r--r--libX11/man/DisplayOfCCC.man189
-rw-r--r--libX11/man/ImageByteOrder.man246
-rw-r--r--libX11/man/IsCursorKey.man212
-rw-r--r--libX11/man/Makefile.am1504
-rw-r--r--libX11/man/Makefile.in2088
-rw-r--r--libX11/man/XAddConnectionWatch.man237
-rw-r--r--libX11/man/XAddHost.man360
-rw-r--r--libX11/man/XAllocClassHint.man266
-rw-r--r--libX11/man/XAllocColor.man448
-rw-r--r--libX11/man/XAllocIconSize.man262
-rw-r--r--libX11/man/XAllocSizeHints.man504
-rw-r--r--libX11/man/XAllocStandardColormap.man407
-rw-r--r--libX11/man/XAllocWMHints.man418
-rw-r--r--libX11/man/XAllowEvents.man190
-rw-r--r--libX11/man/XAnyEvent.man273
-rw-r--r--libX11/man/XButtonEvent.man357
-rw-r--r--libX11/man/XChangeKeyboardControl.man450
-rw-r--r--libX11/man/XChangeKeyboardMapping.man449
-rw-r--r--libX11/man/XChangePointerControl.man215
-rw-r--r--libX11/man/XChangeSaveSet.man228
-rw-r--r--libX11/man/XChangeWindowAttributes.man406
-rw-r--r--libX11/man/XCirculateEvent.man233
-rw-r--r--libX11/man/XCirculateRequestEvent.man228
-rw-r--r--libX11/man/XClearArea.man258
-rw-r--r--libX11/man/XClientMessageEvent.man231
-rw-r--r--libX11/man/XColormapEvent.man242
-rw-r--r--libX11/man/XConfigureEvent.man251
-rw-r--r--libX11/man/XConfigureRequestEvent.man234
-rw-r--r--libX11/man/XConfigureWindow.man459
-rw-r--r--libX11/man/XCopyArea.man308
-rw-r--r--libX11/man/XCreateColormap.man369
-rw-r--r--libX11/man/XCreateFontCursor.man317
-rw-r--r--libX11/man/XCreateFontSet.man376
-rw-r--r--libX11/man/XCreateGC.man1205
-rw-r--r--libX11/man/XCreateIC.man220
-rw-r--r--libX11/man/XCreateOC.man227
-rw-r--r--libX11/man/XCreatePixmap.man231
-rw-r--r--libX11/man/XCreateRegion.man180
-rw-r--r--libX11/man/XCreateWindow.man498
-rw-r--r--libX11/man/XCreateWindowEvent.man231
-rw-r--r--libX11/man/XCrossingEvent.man328
-rw-r--r--libX11/man/XDefineCursor.man202
-rw-r--r--libX11/man/XDestroyWindow.man218
-rw-r--r--libX11/man/XDestroyWindowEvent.man221
-rw-r--r--libX11/man/XDrawArc.man341
-rw-r--r--libX11/man/XDrawImageString.man253
-rw-r--r--libX11/man/XDrawLine.man309
-rw-r--r--libX11/man/XDrawPoint.man253
-rw-r--r--libX11/man/XDrawRectangle.man253
-rw-r--r--libX11/man/XDrawString.man219
-rw-r--r--libX11/man/XDrawText.man291
-rw-r--r--libX11/man/XEmptyRegion.man210
-rw-r--r--libX11/man/XErrorEvent.man205
-rw-r--r--libX11/man/XExposeEvent.man234
-rw-r--r--libX11/man/XExtentsOfFontSet.man174
-rw-r--r--libX11/man/XFillRectangle.man395
-rw-r--r--libX11/man/XFilterEvent.man187
-rw-r--r--libX11/man/XFlush.man265
-rw-r--r--libX11/man/XFocusChangeEvent.man268
-rw-r--r--libX11/man/XFontSetExtents.man195
-rw-r--r--libX11/man/XFontsOfFontSet.man289
-rw-r--r--libX11/man/XFree.man159
-rw-r--r--libX11/man/XGetVisualInfo.man315
-rw-r--r--libX11/man/XGetWindowAttributes.man397
-rw-r--r--libX11/man/XGetWindowProperty.man477
-rw-r--r--libX11/man/XGetXCBConnection.man44
-rw-r--r--libX11/man/XGrabButton.man313
-rw-r--r--libX11/man/XGrabKey.man299
-rw-r--r--libX11/man/XGrabKeyboard.man298
-rw-r--r--libX11/man/XGrabPointer.man366
-rw-r--r--libX11/man/XGrabServer.man171
-rw-r--r--libX11/man/XGraphicsExposeEvent.man278
-rw-r--r--libX11/man/XGravityEvent.man226
-rw-r--r--libX11/man/XIconifyWindow.man257
-rw-r--r--libX11/man/XIfEvent.man252
-rw-r--r--libX11/man/XInitImage.man315
-rw-r--r--libX11/man/XInitThreads.man204
-rw-r--r--libX11/man/XInstallColormap.man247
-rw-r--r--libX11/man/XInternAtom.man280
-rw-r--r--libX11/man/XIntersectRegion.man226
-rw-r--r--libX11/man/XKeymapEvent.man222
-rw-r--r--libX11/man/XListFonts.man266
-rw-r--r--libX11/man/XLoadFont.man541
-rw-r--r--libX11/man/XLookupKeysym.man272
-rw-r--r--libX11/man/XMapEvent.man292
-rw-r--r--libX11/man/XMapRequestEvent.man216
-rw-r--r--libX11/man/XMapWindow.man278
-rw-r--r--libX11/man/XNextEvent.man310
-rw-r--r--libX11/man/XNoOp.man159
-rw-r--r--libX11/man/XOpenDisplay.man257
-rw-r--r--libX11/man/XOpenIM.man305
-rw-r--r--libX11/man/XOpenOM.man258
-rw-r--r--libX11/man/XParseGeometry.man284
-rw-r--r--libX11/man/XPolygonRegion.man183
-rw-r--r--libX11/man/XPropertyEvent.man246
-rw-r--r--libX11/man/XPutBackEvent.man169
-rw-r--r--libX11/man/XPutImage.man405
-rw-r--r--libX11/man/XQueryBestSize.man288
-rw-r--r--libX11/man/XQueryColor.man345
-rw-r--r--libX11/man/XQueryExtension.man67
-rw-r--r--libX11/man/XQueryPointer.man220
-rw-r--r--libX11/man/XQueryTree.man186
-rw-r--r--libX11/man/XRaiseWindow.man347
-rw-r--r--libX11/man/XReadBitmapFile.man357
-rw-r--r--libX11/man/XRecolorCursor.man233
-rw-r--r--libX11/man/XReparentEvent.man233
-rw-r--r--libX11/man/XReparentWindow.man229
-rw-r--r--libX11/man/XResizeRequestEvent.man218
-rw-r--r--libX11/man/XResourceManagerString.man185
-rw-r--r--libX11/man/XSaveContext.man206
-rw-r--r--libX11/man/XSelectInput.man213
-rw-r--r--libX11/man/XSelectionClearEvent.man223
-rw-r--r--libX11/man/XSelectionEvent.man231
-rw-r--r--libX11/man/XSelectionRequestEvent.man235
-rw-r--r--libX11/man/XSendEvent.man315
-rw-r--r--libX11/man/XSetArcMode.man243
-rw-r--r--libX11/man/XSetClipOrigin.man295
-rw-r--r--libX11/man/XSetCloseDownMode.man221
-rw-r--r--libX11/man/XSetCommand.man225
-rw-r--r--libX11/man/XSetErrorHandler.man276
-rw-r--r--libX11/man/XSetEventQueueOwner.man58
-rw-r--r--libX11/man/XSetFillStyle.man219
-rw-r--r--libX11/man/XSetFont.man188
-rw-r--r--libX11/man/XSetFontPath.man214
-rw-r--r--libX11/man/XSetICFocus.man185
-rw-r--r--libX11/man/XSetICValues.man236
-rw-r--r--libX11/man/XSetInputFocus.man276
-rw-r--r--libX11/man/XSetLineAttributes.man268
-rw-r--r--libX11/man/XSetPointerMapping.man218
-rw-r--r--libX11/man/XSetScreenSaver.man291
-rw-r--r--libX11/man/XSetSelectionOwner.man279
-rw-r--r--libX11/man/XSetState.man257
-rw-r--r--libX11/man/XSetTextProperty.man268
-rw-r--r--libX11/man/XSetTile.man242
-rw-r--r--libX11/man/XSetTransientForHint.man212
-rw-r--r--libX11/man/XSetWMClientMachine.man199
-rw-r--r--libX11/man/XSetWMColormapWindows.man239
-rw-r--r--libX11/man/XSetWMIconName.man251
-rw-r--r--libX11/man/XSetWMName.man258
-rw-r--r--libX11/man/XSetWMProperties.man391
-rw-r--r--libX11/man/XSetWMProtocols.man237
-rw-r--r--libX11/man/XStoreBytes.man254
-rw-r--r--libX11/man/XStoreColors.man305
-rw-r--r--libX11/man/XStringListToTextProperty.man255
-rw-r--r--libX11/man/XStringToKeysym.man222
-rw-r--r--libX11/man/XSupportsLocale.man229
-rw-r--r--libX11/man/XSynchronize.man180
-rw-r--r--libX11/man/XTextExtents.man291
-rw-r--r--libX11/man/XTextWidth.man170
-rw-r--r--libX11/man/XTranslateCoordinates.man201
-rw-r--r--libX11/man/XUnmapEvent.man228
-rw-r--r--libX11/man/XUnmapWindow.man211
-rw-r--r--libX11/man/XVaCreateNestedList.man170
-rw-r--r--libX11/man/XVisibilityEvent.man246
-rw-r--r--libX11/man/XWarpPointer.man218
-rw-r--r--libX11/man/XcmsAllocColor.man256
-rw-r--r--libX11/man/XcmsCCCOfColormap.man188
-rw-r--r--libX11/man/XcmsCIELabQueryMaxC.man222
-rw-r--r--libX11/man/XcmsCIELuvQueryMaxC.man222
-rw-r--r--libX11/man/XcmsColor.man265
-rw-r--r--libX11/man/XcmsConvertColors.man202
-rw-r--r--libX11/man/XcmsCreateCCC.man203
-rw-r--r--libX11/man/XcmsDefaultCCC.man170
-rw-r--r--libX11/man/XcmsQueryBlack.man206
-rw-r--r--libX11/man/XcmsQueryColor.man267
-rw-r--r--libX11/man/XcmsSetWhitePoint.man198
-rw-r--r--libX11/man/XcmsStoreColor.man307
-rw-r--r--libX11/man/XcmsTekHVCQueryMaxC.man244
-rw-r--r--libX11/man/XmbDrawImageString.man217
-rw-r--r--libX11/man/XmbDrawString.man208
-rw-r--r--libX11/man/XmbDrawText.man257
-rw-r--r--libX11/man/XmbLookupString.man311
-rw-r--r--libX11/man/XmbResetIC.man212
-rw-r--r--libX11/man/XmbTextEscapement.man191
-rw-r--r--libX11/man/XmbTextExtents.man227
-rw-r--r--libX11/man/XmbTextListToTextProperty.man461
-rw-r--r--libX11/man/XmbTextPerCharExtents.man257
-rw-r--r--libX11/man/XrmEnumerateDatabase.man235
-rw-r--r--libX11/man/XrmGetFileDatabase.man324
-rw-r--r--libX11/man/XrmGetResource.man326
-rw-r--r--libX11/man/XrmInitialize.man265
-rw-r--r--libX11/man/XrmMergeDatabases.man216
-rw-r--r--libX11/man/XrmPutResource.man253
-rw-r--r--libX11/man/XrmUniqueQuark.man304
-rw-r--r--libX11/man/xkb/Makefile.am234
-rw-r--r--libX11/man/xkb/Makefile.in656
-rw-r--r--libX11/man/xkb/XkbActionCtrls.man146
-rw-r--r--libX11/man/xkb/XkbAddDeviceLedInfo.man131
-rw-r--r--libX11/man/xkb/XkbAddGeomColor.man110
-rw-r--r--libX11/man/xkb/XkbAddGeomDoodad.man123
-rw-r--r--libX11/man/xkb/XkbAddGeomKey.man86
-rw-r--r--libX11/man/xkb/XkbAddGeomKeyAlias.man99
-rw-r--r--libX11/man/xkb/XkbAddGeomOutline.man94
-rw-r--r--libX11/man/xkb/XkbAddGeomOverlay.man105
-rw-r--r--libX11/man/xkb/XkbAddGeomOverlayKey.man95
-rw-r--r--libX11/man/xkb/XkbAddGeomOverlayRow.man100
-rw-r--r--libX11/man/xkb/XkbAddGeomProperty.man100
-rw-r--r--libX11/man/xkb/XkbAddGeomRow.man88
-rw-r--r--libX11/man/xkb/XkbAddGeomSection.man137
-rw-r--r--libX11/man/xkb/XkbAddGeomShape.man103
-rw-r--r--libX11/man/xkb/XkbAddSymInterpret.man81
-rw-r--r--libX11/man/xkb/XkbAllocClientMap.man178
-rw-r--r--libX11/man/xkb/XkbAllocCompatMap.man122
-rw-r--r--libX11/man/xkb/XkbAllocControls.man150
-rw-r--r--libX11/man/xkb/XkbAllocDeviceInfo.man114
-rw-r--r--libX11/man/xkb/XkbAllocDeviceLedInfo.man125
-rw-r--r--libX11/man/xkb/XkbAllocGeomColors.man82
-rw-r--r--libX11/man/xkb/XkbAllocGeomDoodads.man81
-rw-r--r--libX11/man/xkb/XkbAllocGeomKeyAliases.man86
-rw-r--r--libX11/man/xkb/XkbAllocGeomKeys.man80
-rw-r--r--libX11/man/xkb/XkbAllocGeomOutlines.man86
-rw-r--r--libX11/man/xkb/XkbAllocGeomOverlayKey.man76
-rw-r--r--libX11/man/xkb/XkbAllocGeomOverlayRows.man85
-rw-r--r--libX11/man/xkb/XkbAllocGeomOverlays.man75
-rw-r--r--libX11/man/xkb/XkbAllocGeomPoints.man80
-rw-r--r--libX11/man/xkb/XkbAllocGeomProps.man83
-rw-r--r--libX11/man/xkb/XkbAllocGeomRows.man80
-rw-r--r--libX11/man/xkb/XkbAllocGeomSectionDoodads.man87
-rw-r--r--libX11/man/xkb/XkbAllocGeomSections.man85
-rw-r--r--libX11/man/xkb/XkbAllocGeomShapes.man86
-rw-r--r--libX11/man/xkb/XkbAllocGeometry.man97
-rw-r--r--libX11/man/xkb/XkbAllocIndicatorMaps.man75
-rw-r--r--libX11/man/xkb/XkbAllocKeyboard.man62
-rw-r--r--libX11/man/xkb/XkbAllocNames.man132
-rw-r--r--libX11/man/xkb/XkbAllocServerMap.man135
-rw-r--r--libX11/man/xkb/XkbApplyCompatMapToKey.man376
-rw-r--r--libX11/man/xkb/XkbBell.man344
-rw-r--r--libX11/man/xkb/XkbBellEvent.man341
-rw-r--r--libX11/man/xkb/XkbChangeControls.man336
-rw-r--r--libX11/man/xkb/XkbChangeDeviceInfo.man88
-rw-r--r--libX11/man/xkb/XkbChangeEnabledControls.man180
-rw-r--r--libX11/man/xkb/XkbChangeIndicators.man172
-rw-r--r--libX11/man/xkb/XkbChangeMap.man149
-rw-r--r--libX11/man/xkb/XkbChangeNames.man200
-rw-r--r--libX11/man/xkb/XkbChangeTypesOfKey.man222
-rw-r--r--libX11/man/xkb/XkbComputeRowBounds.man64
-rw-r--r--libX11/man/xkb/XkbComputeSectionBounds.man62
-rw-r--r--libX11/man/xkb/XkbComputeShapeBounds.man92
-rw-r--r--libX11/man/xkb/XkbComputeShapeTop.man87
-rw-r--r--libX11/man/xkb/XkbCopyKeyType.man106
-rw-r--r--libX11/man/xkb/XkbCopyKeyTypes.man130
-rw-r--r--libX11/man/xkb/XkbDeviceBell.man313
-rw-r--r--libX11/man/xkb/XkbDeviceBellEvent.man344
-rw-r--r--libX11/man/xkb/XkbFindOverlayForKey.man66
-rw-r--r--libX11/man/xkb/XkbForceBell.man326
-rw-r--r--libX11/man/xkb/XkbForceDeviceBell.man319
-rw-r--r--libX11/man/xkb/XkbFreeClientMap.man215
-rw-r--r--libX11/man/xkb/XkbFreeCompatMap.man178
-rw-r--r--libX11/man/xkb/XkbFreeComponentList.man54
-rw-r--r--libX11/man/xkb/XkbFreeControls.man127
-rw-r--r--libX11/man/xkb/XkbFreeDeviceInfo.man190
-rw-r--r--libX11/man/xkb/XkbFreeGeomColors.man96
-rw-r--r--libX11/man/xkb/XkbFreeGeomDoodads.man92
-rw-r--r--libX11/man/xkb/XkbFreeGeomKeyAliases.man105
-rw-r--r--libX11/man/xkb/XkbFreeGeomKeys.man74
-rw-r--r--libX11/man/xkb/XkbFreeGeomOutlines.man74
-rw-r--r--libX11/man/xkb/XkbFreeGeomOverlayKeys.man102
-rw-r--r--libX11/man/xkb/XkbFreeGeomOverlayRows.man102
-rw-r--r--libX11/man/xkb/XkbFreeGeomOverlays.man102
-rw-r--r--libX11/man/xkb/XkbFreeGeomPoints.man102
-rw-r--r--libX11/man/xkb/XkbFreeGeomProperties.man101
-rw-r--r--libX11/man/xkb/XkbFreeGeomRows.man102
-rw-r--r--libX11/man/xkb/XkbFreeGeomSections.man102
-rw-r--r--libX11/man/xkb/XkbFreeGeomShapes.man101
-rw-r--r--libX11/man/xkb/XkbFreeGeometry.man104
-rw-r--r--libX11/man/xkb/XkbFreeIndicatorMaps.man58
-rw-r--r--libX11/man/xkb/XkbFreeKeyboard.man76
-rw-r--r--libX11/man/xkb/XkbFreeNames.man107
-rw-r--r--libX11/man/xkb/XkbFreeServerMap.man201
-rw-r--r--libX11/man/xkb/XkbGetAccessXTimeout.man162
-rw-r--r--libX11/man/xkb/XkbGetAutoRepeatRate.man100
-rw-r--r--libX11/man/xkb/XkbGetAutoResetControls.man105
-rw-r--r--libX11/man/xkb/XkbGetBounceKeysDelay.man226
-rw-r--r--libX11/man/xkb/XkbGetCompatMap.man130
-rw-r--r--libX11/man/xkb/XkbGetControls.man176
-rw-r--r--libX11/man/xkb/XkbGetControlsChanges.man244
-rw-r--r--libX11/man/xkb/XkbGetDetectableAutorepeat.man104
-rw-r--r--libX11/man/xkb/XkbGetDeviceButtonActions.man132
-rw-r--r--libX11/man/xkb/XkbGetDeviceInfo.man265
-rw-r--r--libX11/man/xkb/XkbGetDeviceInfoChanges.man76
-rw-r--r--libX11/man/xkb/XkbGetDeviceLedInfo.man171
-rw-r--r--libX11/man/xkb/XkbGetGeometry.man84
-rw-r--r--libX11/man/xkb/XkbGetIndicatorChanges.man169
-rw-r--r--libX11/man/xkb/XkbGetIndicatorMap.man101
-rw-r--r--libX11/man/xkb/XkbGetIndicatorState.man93
-rw-r--r--libX11/man/xkb/XkbGetKeyActions.man108
-rw-r--r--libX11/man/xkb/XkbGetKeyBehaviors.man106
-rw-r--r--libX11/man/xkb/XkbGetKeyExplicitComponents.man168
-rw-r--r--libX11/man/xkb/XkbGetKeyModifierMap.man109
-rw-r--r--libX11/man/xkb/XkbGetKeySyms.man115
-rw-r--r--libX11/man/xkb/XkbGetKeyTypes.man98
-rw-r--r--libX11/man/xkb/XkbGetKeyVirtualModMap.man119
-rw-r--r--libX11/man/xkb/XkbGetKeyboard.man106
-rw-r--r--libX11/man/xkb/XkbGetKeyboardByName.man405
-rw-r--r--libX11/man/xkb/XkbGetMap.man335
-rw-r--r--libX11/man/xkb/XkbGetNameChanges.man84
-rw-r--r--libX11/man/xkb/XkbGetNamedGeometry.man173
-rw-r--r--libX11/man/xkb/XkbGetNamedIndicator.man138
-rw-r--r--libX11/man/xkb/XkbGetNames.man149
-rw-r--r--libX11/man/xkb/XkbGetSlowKeysDelay.man229
-rw-r--r--libX11/man/xkb/XkbGetState.man69
-rw-r--r--libX11/man/xkb/XkbGetStickyKeysOptions.man129
-rw-r--r--libX11/man/xkb/XkbGetUpdatedMap.man276
-rw-r--r--libX11/man/xkb/XkbGetVirtualMods.man222
-rw-r--r--libX11/man/xkb/XkbGetXlibControls.man71
-rw-r--r--libX11/man/xkb/XkbIgnoreExtension.man89
-rw-r--r--libX11/man/xkb/XkbInitCanonicalKeyTypes.man98
-rw-r--r--libX11/man/xkb/XkbKeyAction.man147
-rw-r--r--libX11/man/xkb/XkbKeyActionEntry.man153
-rw-r--r--libX11/man/xkb/XkbKeyActionsPtr.man146
-rw-r--r--libX11/man/xkb/XkbKeyGroupInfo.man210
-rw-r--r--libX11/man/xkb/XkbKeyGroupWidth.man86
-rw-r--r--libX11/man/xkb/XkbKeyGroupsWidth.man76
-rw-r--r--libX11/man/xkb/XkbKeyHasActions.man137
-rw-r--r--libX11/man/xkb/XkbKeyNumActions.man125
-rw-r--r--libX11/man/xkb/XkbKeyNumGroups.man322
-rw-r--r--libX11/man/xkb/XkbKeyNumSyms.man77
-rw-r--r--libX11/man/xkb/XkbKeySymEntry.man95
-rw-r--r--libX11/man/xkb/XkbKeySymsOffset.man78
-rw-r--r--libX11/man/xkb/XkbKeySymsPtr.man78
-rw-r--r--libX11/man/xkb/XkbKeyType.man84
-rw-r--r--libX11/man/xkb/XkbKeyTypeIndex.man70
-rw-r--r--libX11/man/xkb/XkbKeyTypesForCoreSymbols.man248
-rw-r--r--libX11/man/xkb/XkbKeycodeToKeysym.man76
-rw-r--r--libX11/man/xkb/XkbKeysymToModifiers.man64
-rw-r--r--libX11/man/xkb/XkbLatchGroup.man97
-rw-r--r--libX11/man/xkb/XkbLatchModifiers.man120
-rw-r--r--libX11/man/xkb/XkbLibraryVersion.man104
-rw-r--r--libX11/man/xkb/XkbListComponents.man181
-rw-r--r--libX11/man/xkb/XkbLockGroup.man95
-rw-r--r--libX11/man/xkb/XkbLockModifiers.man118
-rw-r--r--libX11/man/xkb/XkbLookupKeyBinding.man104
-rw-r--r--libX11/man/xkb/XkbLookupKeySym.man89
-rw-r--r--libX11/man/xkb/XkbModActionVMods.man58
-rw-r--r--libX11/man/xkb/XkbNoteControlsChanges.man214
-rw-r--r--libX11/man/xkb/XkbNoteDeviceChanges.man149
-rw-r--r--libX11/man/xkb/XkbNoteIndicatorChanges.man137
-rw-r--r--libX11/man/xkb/XkbNoteNameChanges.man106
-rw-r--r--libX11/man/xkb/XkbOpenDisplay.man170
-rw-r--r--libX11/man/xkb/XkbOutOfRangeGroupInfo.man196
-rw-r--r--libX11/man/xkb/XkbOutOfRangeGroupNumber.man197
-rw-r--r--libX11/man/xkb/XkbPtrActionX.man114
-rw-r--r--libX11/man/xkb/XkbPtrActionY.man114
-rw-r--r--libX11/man/xkb/XkbQueryExtension.man146
-rw-r--r--libX11/man/xkb/XkbRefreshKeyboardMapping.man78
-rw-r--r--libX11/man/xkb/XkbResizeDeviceButtonActions.man105
-rw-r--r--libX11/man/xkb/XkbResizeKeyActions.man114
-rw-r--r--libX11/man/xkb/XkbResizeKeySyms.man112
-rw-r--r--libX11/man/xkb/XkbResizeKeyType.man155
-rw-r--r--libX11/man/xkb/XkbSAActionSetCtrls.man162
-rw-r--r--libX11/man/xkb/XkbSAGroup.man67
-rw-r--r--libX11/man/xkb/XkbSAPtrDfltValue.man117
-rw-r--r--libX11/man/xkb/XkbSARedirectSetVMods.man121
-rw-r--r--libX11/man/xkb/XkbSARedirectSetVModsMask.man134
-rw-r--r--libX11/man/xkb/XkbSARedirectVMods.man126
-rw-r--r--libX11/man/xkb/XkbSARedirectVModsMask.man127
-rw-r--r--libX11/man/xkb/XkbSAScreen.man112
-rw-r--r--libX11/man/xkb/XkbSASetGroup.man72
-rw-r--r--libX11/man/xkb/XkbSASetPtrDfltValue.man116
-rw-r--r--libX11/man/xkb/XkbSASetScreen.man109
-rw-r--r--libX11/man/xkb/XkbSelectEventDetails.man163
-rw-r--r--libX11/man/xkb/XkbSelectEvents.man186
-rw-r--r--libX11/man/xkb/XkbSetAccessXTimeout.man215
-rw-r--r--libX11/man/xkb/XkbSetAutoRepeatRate.man114
-rw-r--r--libX11/man/xkb/XkbSetAutoResetControls.man116
-rw-r--r--libX11/man/xkb/XkbSetBounceKeysDelay.man221
-rw-r--r--libX11/man/xkb/XkbSetCompatMap.man219
-rw-r--r--libX11/man/xkb/XkbSetControls.man181
-rw-r--r--libX11/man/xkb/XkbSetDebuggingFlags.man193
-rw-r--r--libX11/man/xkb/XkbSetDetectableAutorepeat.man119
-rw-r--r--libX11/man/xkb/XkbSetDeviceButtonActions.man112
-rw-r--r--libX11/man/xkb/XkbSetDeviceInfo.man235
-rw-r--r--libX11/man/xkb/XkbSetIgnoreLockMods.man214
-rw-r--r--libX11/man/xkb/XkbSetIndicatorMap.man194
-rw-r--r--libX11/man/xkb/XkbSetMap.man397
-rw-r--r--libX11/man/xkb/XkbSetModActionVMods.man69
-rw-r--r--libX11/man/xkb/XkbSetNamedIndicator.man141
-rw-r--r--libX11/man/xkb/XkbSetNames.man226
-rw-r--r--libX11/man/xkb/XkbSetPtrActionX.man120
-rw-r--r--libX11/man/xkb/XkbSetPtrActionY.man120
-rw-r--r--libX11/man/xkb/XkbSetServerInternalMods.man218
-rw-r--r--libX11/man/xkb/XkbSetXlibControls.man119
-rw-r--r--libX11/man/xkb/XkbTranslateKeyCode.man89
-rw-r--r--libX11/man/xkb/XkbTranslateKeySym.man101
-rw-r--r--libX11/man/xkb/XkbUpdateMapFromCore.man130
-rw-r--r--libX11/man/xkb/XkbVirtualModsToReal.man144
388 files changed, 81153 insertions, 0 deletions
diff --git a/libX11/man/AllPlanes.man b/libX11/man/AllPlanes.man
new file mode 100644
index 000000000..829a45d22
--- /dev/null
+++ b/libX11/man/AllPlanes.man
@@ -0,0 +1,380 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/AllPlanes.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH AllPlanes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+AllPlanes, BlackPixel, WhitePixel, ConnectionNumber, DefaultColormap, DefaultDepth, XListDepths, DefaultGC, DefaultRootWindow, DefaultScreenOfDisplay, DefaultScreen, DefaultVisual, DisplayCells, DisplayPlanes, DisplayString, XMaxRequestSize, XExtendedMaxRequestSize, LastKnownRequestProcessed, NextRequest, ProtocolVersion, ProtocolRevision, QLength, RootWindow, ScreenCount, ScreenOfDisplay, ServerVendor, VendorRelease \- Display macros and functions
+.SH SYNTAX
+unsigned long AllPlanes;
+.HP
+unsigned long BlackPixel\^(\^Display *\fIdisplay\fP\^, int \^\fIscreen_number\fP\^);
+.HP
+unsigned long WhitePixel\^(\^Display *\fIdisplay\fP\^, int \^\fIscreen_number\fP\^);
+.HP
+int ConnectionNumber\^(\^Display *\fIdisplay\fP\^);
+.HP
+Colormap DefaultColormap\^(\^Display *\fIdisplay\fP\^,
+\^int \fIscreen_number\fP\^);
+.HP
+int DefaultDepth\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+int *XListDepths\^(\^Display *\fIdisplay\fP, int \fIscreen_number\fP, int
+\fIcount_return\fP\^);
+.HP
+GC DefaultGC\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+Window DefaultRootWindow\^(\^Display *\fIdisplay\fP\^);
+.HP
+Screen *DefaultScreenOfDisplay\^(\^Display *\fIdisplay\fP\^);
+.HP
+int DefaultScreen\^(\^Display *\fIdisplay\fP\^);
+.HP
+Visual *DefaultVisual\^(\^Display *\fIdisplay\fP\^, \^int
+\fIscreen_number\fP\^);
+.HP
+int DisplayCells\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+int DisplayPlanes\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+char *DisplayString\^(\^Display *\fIdisplay\fP\^);
+.HP
+long XMaxRequestSize(\^Display *\fIdisplay\fP\^)
+.HP
+long XExtendedMaxRequestSize(\^Display *\fIdisplay\fP\^)
+.HP
+unsigned long LastKnownRequestProcessed\^(\^Display *\fIdisplay\fP\^);
+.HP
+unsigned long NextRequest\^(\^Display *\fIdisplay\fP\^);
+.HP
+int ProtocolVersion\^(\^Display *\fIdisplay\fP\^);
+.HP
+int ProtocolRevision\^(\^Display *\fIdisplay\fP\^);
+.HP
+int QLength\^(\^Display *\fIdisplay\fP\^);
+.HP
+Window RootWindow\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+int ScreenCount\^(\^Display *\fIdisplay\fP\^);
+.HP
+Screen *ScreenOfDisplay\^(\^Display *\fIdisplay\fP, int
+\fIscreen_number\fP\^);
+.HP
+char *ServerVendor\^(\^Display *\fIdisplay\fP\^)
+.HP
+int VendorRelease\^(\^Display *\fIdisplay\fP\^)
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIscreen_number\fP 1i
+Specifies the appropriate screen number on the host server.
+.ds Cn depths
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.SH DESCRIPTION
+The
+.ZN AllPlanes
+macro returns a value with all bits set to 1 suitable for use in a plane
+argument to a procedure.
+.LP
+The
+.ZN BlackPixel
+macro returns the black pixel value for the specified screen.
+.LP
+The
+.ZN WhitePixel
+macro returns the white pixel value for the specified screen.
+.LP
+The
+.ZN ConnectionNumber
+macro returns a connection number for the specified display.
+.LP
+The
+.ZN DefaultColormap
+macro returns the default colormap ID for allocation on the specified screen.
+.LP
+The
+.ZN DefaultDepth
+macro returns the depth (number of planes) of the default root window for the
+specified screen.
+.LP
+The
+.ZN XListDepths
+function returns the array of depths
+that are available on the specified screen.
+If the specified screen_number is valid and sufficient memory for the array
+can be allocated,
+.ZN XListDepths
+sets count_return to the number of available depths.
+Otherwise, it does not set count_return and returns NULL.
+To release the memory allocated for the array of depths, use
+.ZN XFree .
+.LP
+The
+.ZN DefaultGC
+macro returns the default GC for the root window of the
+specified screen.
+.LP
+The
+.ZN DefaultRootWindow
+macro returns the root window for the default screen.
+.LP
+The
+.ZN DefaultScreenOfDisplay
+macro returns the default screen of the specified display.
+.LP
+The
+.ZN DefaultScreen
+macro returns the default screen number referenced in the
+.ZN XOpenDisplay
+routine.
+.LP
+The
+.ZN DefaultVisual
+macro returns the default visual type for the specified screen.
+.LP
+The
+.ZN DisplayCells
+macro returns the number of entries in the default colormap.
+.LP
+The
+.ZN DisplayPlanes
+macro returns the depth of the root window of the specified screen.
+.LP
+The
+.ZN DisplayString
+macro returns the string that was passed to
+.ZN XOpenDisplay
+when the current display was opened.
+.LP
+The
+.ZN XMaxRequestSize
+function returns the maximum request size (in 4-byte units) supported
+by the server without using an extended-length protocol encoding.
+Single protocol requests to the server can be no larger than this size
+unless an extended-length protocol encoding is supported by the server.
+The protocol guarantees the size to be no smaller than 4096 units
+(16384 bytes).
+Xlib automatically breaks data up into multiple protocol requests
+as necessary for the following functions:
+.ZN XDrawPoints ,
+.ZN XDrawRectangles ,
+.ZN XDrawSegments ,
+.ZN XFillArcs ,
+.ZN XFillRectangles ,
+and
+.ZN XPutImage .
+.LP
+The
+.ZN XExtendedMaxRequestSize
+function returns zero if the specified display does not support an
+extended-length protocol encoding; otherwise,
+it returns the maximum request size (in 4-byte units) supported
+by the server using the extended-length encoding.
+The Xlib functions
+.ZN XDrawLines ,
+.ZN XDrawArcs ,
+.ZN XFillPolygon ,
+.ZN XChangeProperty ,
+.ZN XSetClipRectangles ,
+and
+.ZN XSetRegion
+will use the extended-length encoding as necessary, if supported
+by the server. Use of the extended-length encoding in other Xlib
+functions (for example,
+.ZN XDrawPoints ,
+.ZN XDrawRectangles ,
+.ZN XDrawSegments ,
+.ZN XFillArcs ,
+.ZN XFillRectangles ,
+.ZN XPutImage )
+is permitted but not required; an Xlib implementation may choose to
+split the data across multiple smaller requests instead.
+.LP
+The
+.ZN LastKnownRequestProcessed
+macro extracts the full serial number of the last request known by Xlib
+to have been processed by the X server.
+.LP
+The
+.ZN NextRequest
+macro extracts the full serial number that is to be used for the next request.
+.LP
+The
+.ZN ProtocolVersion
+macro returns the major version number (11) of the X protocol associated with
+the connected display.
+.LP
+The
+.ZN ProtocolRevision
+macro returns the minor protocol revision number of the X server.
+.LP
+The
+.ZN QLength
+macro returns the length of the event queue for the connected display.
+.LP
+The
+.ZN RootWindow
+macro returns the root window.
+.LP
+The
+.ZN ScreenCount
+macro returns the number of available screens.
+.LP
+The
+.ZN ScreenOfDisplay
+macro returns a pointer to the screen of the specified display.
+.LP
+The
+.ZN ServerVendor
+macro returns a pointer to a null-terminated string that provides
+some identification of the owner of the X server implementation.
+.LP
+The
+.ZN VendorRelease
+macro returns a number related to a vendor's release of the X server.
+.SH "SEE ALSO"
+BlackPixelOfScreen(3X11),
+ImageByteOrder(3X11),
+IsCursorKey(3X11),
+XOpenDisplay(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/BlackPixelOfScreen.man b/libX11/man/BlackPixelOfScreen.man
new file mode 100644
index 000000000..68f38ed15
--- /dev/null
+++ b/libX11/man/BlackPixelOfScreen.man
@@ -0,0 +1,288 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/BlkPScrn.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH BlackPixelOfScreen __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+BlackPixelOfScreen, WhitePixelOfScreen, CellsOfScreen, DefaultColormapOfScreen, DefaultDepthOfScreen, DefaultGCOfScreen, DefaultVisualOfScreen, DoesBackingStore, DoesSaveUnders, DisplayOfScreen, XScreenNumberOfScreen, EventMaskOfScreen, HeightOfScreen, HeightMMOfScreen, MaxCmapsOfScreen, MinCmapsOfScreen, PlanesOfScreen, RootWindowOfScreen, WidthOfScreen, WidthMMOfScreen \- screen information functions and macros
+.SH SYNTAX
+.HP
+unsigned long BlackPixelOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+unsigned long WhitePixelOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int CellsOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+Colormap DefaultColormapOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int DefaultDepthOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+GC DefaultGCOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+Visual *DefaultVisualOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int DoesBackingStore\^(\^Screen *\fIscreen\fP\^);
+.HP
+Bool DoesSaveUnders\^(\^Screen *\fIscreen\fP\^);
+.HP
+Display *DisplayOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int XScreenNumberOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+long EventMaskOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int HeightOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int HeightMMOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int MaxCmapsOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int MinCmapsOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int PlanesOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+Window RootWindowOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int WidthOfScreen\^(\^Screen *\fIscreen\fP\^);
+.HP
+int WidthMMOfScreen\^(\^Screen *\fIscreen\fP\^);
+.SH ARGUMENTS
+.IP \fIscreen\fP 1i
+Specifies the appropriate
+.ZN Screen
+structure.
+.SH DESCRIPTION
+The
+.ZN BlackPixelOfScreen
+macro returns the black pixel value of the specified screen.
+.LP
+The
+.ZN WhitePixelOfScreen
+macro returns the white pixel value of the specified screen.
+.LP
+The
+.ZN CellsOfScreen
+macro returns the number of colormap cells in the default colormap
+of the specified screen.
+.LP
+The
+.ZN DefaultColormapOfScreen
+macro returns the default colormap of the specified screen.
+.LP
+The
+.ZN DefaultDepthOfScreen
+macro returns the default depth of the root window of the specified screen.
+.LP
+The
+.ZN DefaultGCOfScreen
+macro returns the default GC of the specified screen,
+which has the same depth as the root window of the screen.
+.LP
+The
+.ZN DefaultVisualOfScreen
+macro returns the default visual of the specified screen.
+.LP
+The
+.ZN DoesBackingStore
+macro returns
+.ZN WhenMapped ,
+.ZN NotUseful ,
+or
+.ZN Always ,
+which indicate whether the screen supports backing stores.
+.LP
+The
+.ZN DoesSaveUnders
+macro returns a Boolean value indicating whether the
+screen supports save unders.
+.LP
+The
+.ZN DisplayOfScreen
+macro returns the display of the specified screen.
+.LP
+The
+.ZN XScreenNumberOfScreen
+function returns the screen index number of the specified screen.
+.LP
+The
+.ZN EventMaskOfScreen
+macro returns the root event mask of the root window for the specified screen
+at connection setup.
+.LP
+The
+.ZN HeightOfScreen
+macro returns the height of the specified screen.
+.LP
+The
+.ZN HeightMMOfScreen
+macro returns the height of the specified screen in millimeters.
+.LP
+The
+.ZN MaxCmapsOfScreen
+macro returns the maximum number of installed colormaps supported
+by the specified screen.
+.LP
+The
+.ZN MinCmapsOfScreen
+macro returns the minimum number of installed colormaps supported
+by the specified screen.
+.LP
+The
+.ZN PlanesOfScreen
+macro returns the number of planes in the root window of the specified screen.
+.LP
+The
+.ZN RootWindowOfScreen
+macro returns the root window of the specified screen.
+.LP
+The
+.ZN WidthOfScreen
+macro returns the width of the specified screen.
+.LP
+The
+.ZN WidthMMOfScreen
+macro returns the width of the specified screen in millimeters.
+.SH "SEE ALSO"
+AllPlanes(3X11),
+ImageByteOrder(3X11),
+IsCursorKey(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/DisplayOfCCC.man b/libX11/man/DisplayOfCCC.man
new file mode 100644
index 000000000..512a1736d
--- /dev/null
+++ b/libX11/man/DisplayOfCCC.man
@@ -0,0 +1,189 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/Dis3C.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH DisplayOfCCC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+DisplayOfCCC, VisualOfCCC, ScreenNumberOfCCC, ScreenWhitePointOfCCC, ClientWhitePointOfCCC \- Color Conversion Context macros
+.SH SYNTAX
+.HP
+Display *DisplayOfCCC\^(\^XcmsCCC \fIccc\fP\^);
+.HP
+Visual *VisualOfCCC\^(\^XcmsCCC \fIccc\fP\^);
+.HP
+int ScreenNumberOfCCC\^(\^XcmsCCC \fIccc\fP\^);
+.HP
+XcmsColor *ScreenWhitePointOfCCC\^(\^XcmsCCC \fIccc\fP\^);
+.HP
+XcmsColor *ClientWhitePointOfCCC\^(\^XcmsCCC \fIccc\fP\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+.SH DESCRIPTION
+The
+.ZN DisplayOfCCC
+macro returns the display associated with the specified CCC.
+.LP
+The
+.ZN VisualOfCCC
+macro returns the visual associated with the specified CCC.
+.LP
+The
+.ZN ScreenNumberOfCCC
+macro returns the number of the screen associated with the specified CCC.
+.LP
+The
+.ZN ScreenWhitePointOfCCC
+macro returns the screen white point of the screen associated with
+the specified CCC.
+.LP
+The
+.ZN ClientWhitePointOfCC
+macro returns the client white point of the screen associated with
+the specified CCC.
+.SH "SEE ALSO"
+XcmsCCCOfColormap(3X11),
+XcmsConvertColors(3X11),
+XcmsCreateCCC(3X11),
+XcmsDefaultCCC(3X11),
+XcmsSetWhitePoint(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/ImageByteOrder.man b/libX11/man/ImageByteOrder.man
new file mode 100644
index 000000000..378275056
--- /dev/null
+++ b/libX11/man/ImageByteOrder.man
@@ -0,0 +1,246 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/ImageOrd.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH ImageByteOrder __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+ImageByteOrder, BitmapBitOrder, BitmapPad, BitmapUnit, DisplayHeight, DisplayHeightMM, DisplayWidth, DisplayWidthMM, XListPixmapFormats, XPixmapFormatValues \- image format functions and macros
+.SH SYNTAX
+.HP
+XPixmapFormatValues *XListPixmapFormats\^(\^Display *\fIdisplay\fP, int *\fIcount_return\fP\^);
+.HP
+int ImageByteOrder\^(\^Display *\fIdisplay\fP\^);
+.HP
+int BitmapBitOrder\^(\^Display *\fIdisplay\fP\^);
+.HP
+int BitmapPad\^(\^Display *\fIdisplay\fP\^);
+.HP
+int BitmapUnit\^(\^Display *\fIdisplay\fP\^);
+.HP
+int DisplayHeight\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+int DisplayHeightMM\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+int DisplayWidth\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.HP
+int DisplayWidthMM\^(\^Display *\fIdisplay\fP\^, \^int \fIscreen_number\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Cn pixmap formats that are supported by the display
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIscreen_number\fP 1i
+Specifies the appropriate screen number on the host server.
+.SH DESCRIPTION
+The
+.ZN XListPixmapFormats
+function returns an array of
+.ZN XPixmapFormatValues
+structures that describe the types of Z format images supported
+by the specified display.
+If insufficient memory is available,
+.ZN XListPixmapFormats
+returns NULL.
+To free the allocated storage for the
+.ZN XPixmapFormatValues
+structures, use
+.ZN XFree .
+.LP
+The
+.ZN ImageByteOrder
+macro specifies the required byte order for images for each scanline unit in
+XY format (bitmap) or for each pixel value in Z format.
+.LP
+The
+.ZN BitmapBitOrder
+macro returns
+.ZN LSBFirst
+or
+.ZN MSBFirst
+to indicate whether the leftmost bit in the bitmap as displayed
+on the screen is the least or most significant bit in the unit.
+.LP
+The
+.ZN BitmapPad
+macro returns the number of bits that each scanline must be padded.
+.LP
+The
+.ZN BitmapUnit
+macro returns the size of a bitmap's scanline unit in bits.
+.LP
+The
+.ZN DisplayHeight
+macro returns the height of the specified screen in pixels.
+.LP
+The
+.ZN DisplayHeightMM
+macro returns the height of the specified screen in millimeters.
+.LP
+The
+.ZN DisplayWidth
+macro returns the width of the screen in pixels.
+.LP
+The
+.ZN DisplayWidthMM
+macro returns the width of the specified screen in millimeters.
+.SH STRUCTURES
+The
+.ZN XPixmapFormatValues
+structure provides an interface to the pixmap format information
+that is returned at the time of a connection setup.
+It contains:
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int depth;
+ int bits_per_pixel;
+ int scanline_pad;
+} XPixmapFormatValues;
+.De
+.SH "SEE ALSO"
+AllPlanes(3X11),
+BlackPixelOfScreen(3X11),
+IsCursorKey(3X11),
+XFree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/IsCursorKey.man b/libX11/man/IsCursorKey.man
new file mode 100644
index 000000000..d37ea1ba2
--- /dev/null
+++ b/libX11/man/IsCursorKey.man
@@ -0,0 +1,212 @@
+.\" $XdotOrg: lib/X11/man/IsCursorKey.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/IsCKey.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH IsCursorKey __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+IsCursorKey, IsFunctionKey, IsKeypadKey, IsMiscFunctionKey, IsModifierKey, IsPFKey, IsPrivateKeypadKey \- keysym classification macros
+.SH SYNTAX
+int IsCursorKey\^(\^KeySym \fIkeysym\fP\^);
+.LP
+int IsFunctionKey\^(\^KeySym \fIkeysym\fP\^);
+.LP
+int IsKeypadKey\^(\^KeySym \fIkeysym\fP\^);
+.LP
+int IsMiscFunctionKey\^(\^KeySym \fIkeysym\fP\^);
+.LP
+int IsModifierKey\^(\^KeySym \fIkeysym\fP\^);
+.LP
+int IsPFKey\^(\^KeySym \fIkeysym\fP\^);
+.LP
+int IsPrivateKeypadKey\^(\^KeySym \fIkeysym\fP\^);
+.SH ARGUMENTS
+.ds Fn tested
+.IP \fIkeysym\fP 1i
+Specifies the KeySym that is to be \*(Fn.
+.SH DESCRIPTION
+The
+.ZN IsCursorKey
+macro returns
+.ZN True
+if the specified KeySym is a cursor key.
+.LP
+The
+.ZN IsFunctionKey
+macro returns
+.ZN True
+if the KeySym is a function key.
+.LP
+The
+.ZN IsKeypadKey
+macro returns
+.ZN True
+if the specified KeySym is a keypad key.
+.LP
+The
+.ZN IsMiscFunctionKey
+macro returns
+.ZN True
+if the specified KeySym is a miscellaneous function key.
+.LP
+The
+.ZN IsModifierKey
+macro returns
+.ZN True
+if the specified KeySym is a modifier key.
+.LP
+The
+.ZN IsPFKey
+macro returns
+.ZN True
+if the specified KeySym is a PF key.
+.LP
+The
+.ZN IsPrivateKeypadKey
+macro returns
+.ZN True
+if the specified KeySym is a vendor-private keypad key.
+.SH "SEE ALSO"
+AllPlanes(3X11),
+BlackPixelOfScreen(3X11),
+ImageByteOrder(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/Makefile.am b/libX11/man/Makefile.am
new file mode 100644
index 000000000..b19c5d39a
--- /dev/null
+++ b/libX11/man/Makefile.am
@@ -0,0 +1,1504 @@
+# Have to fake out automake by calling our man pages "DATA" since "MANS" won't
+# accept .3x as a valid man page suffix
+
+SUBDIRS = xkb
+
+libmandir = $(LIB_MAN_DIR)
+
+LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%)
+
+libman_PRE = \
+ AllPlanes.man \
+ BlackPixelOfScreen.man \
+ DisplayOfCCC.man \
+ ImageByteOrder.man \
+ IsCursorKey.man \
+ XAllocClassHint.man \
+ XAllocIconSize.man \
+ XAllocStandardColormap.man \
+ XAllocSizeHints.man \
+ XAllocWMHints.man \
+ XAddHost.man \
+ XAllocColor.man \
+ XAllowEvents.man \
+ XAnyEvent.man \
+ XButtonEvent.man \
+ XChangeKeyboardControl.man \
+ XChangeKeyboardMapping.man \
+ XClientMessageEvent.man \
+ XChangePointerControl.man \
+ XChangeSaveSet.man \
+ XChangeWindowAttributes.man \
+ XCreateWindowEvent.man \
+ XCirculateEvent.man \
+ XCirculateRequestEvent.man \
+ XClearArea.man \
+ XColormapEvent.man \
+ XConfigureEvent.man \
+ XConfigureRequestEvent.man \
+ XConfigureWindow.man \
+ XCopyArea.man \
+ XCreateColormap.man \
+ XCreateFontCursor.man \
+ XCreateFontSet.man \
+ XCreateGC.man \
+ XCreateIC.man \
+ XInitImage.man \
+ XCreateOC.man \
+ XCreatePixmap.man \
+ XCreateRegion.man \
+ XCreateWindow.man \
+ XCrossingEvent.man \
+ XDestroyWindowEvent.man \
+ XDefineCursor.man \
+ XDestroyWindow.man \
+ XDrawArc.man \
+ XDrawImageString.man \
+ XDrawLine.man \
+ XDrawPoint.man \
+ XDrawRectangle.man \
+ XDrawString.man \
+ XDrawText.man \
+ XEmptyRegion.man \
+ XrmEnumerateDatabase.man \
+ XExtentsOfFontSet.man \
+ XErrorEvent.man \
+ XExposeEvent.man \
+ XFocusChangeEvent.man \
+ XFilterEvent.man \
+ XFontSetExtents.man \
+ XFillRectangle.man \
+ XFlush.man \
+ XFontsOfFontSet.man \
+ XFree.man \
+ XGraphicsExposeEvent.man \
+ XGravityEvent.man \
+ XrmGetFileDatabase.man \
+ XrmGetResource.man \
+ XGetVisualInfo.man \
+ XGetWindowAttributes.man \
+ XGetWindowProperty.man \
+ XGetXCBConnection.man \
+ XGrabButton.man \
+ XGrabKey.man \
+ XGrabKeyboard.man \
+ XGrabPointer.man \
+ XGrabServer.man \
+ XIconifyWindow.man \
+ XIfEvent.man \
+ XrmInitialize.man \
+ XInstallColormap.man \
+ XAddConnectionWatch.man \
+ XIntersectRegion.man \
+ XInternAtom.man \
+ XKeymapEvent.man \
+ XListFonts.man \
+ XLoadFont.man \
+ XLookupKeysym.man \
+ XrmMergeDatabases.man \
+ XMapEvent.man \
+ XMapRequestEvent.man \
+ XMapWindow.man \
+ XNextEvent.man \
+ XNoOp.man \
+ XOpenDisplay.man \
+ XOpenIM.man \
+ XOpenOM.man \
+ XPropertyEvent.man \
+ XParseGeometry.man \
+ XPolygonRegion.man \
+ XPutBackEvent.man \
+ XPutImage.man \
+ XrmPutResource.man \
+ XQueryBestSize.man \
+ XQueryColor.man \
+ XQueryExtension.man \
+ XQueryPointer.man \
+ XQueryTree.man \
+ XReparentEvent.man \
+ XResourceManagerString.man \
+ XResizeRequestEvent.man \
+ XRaiseWindow.man \
+ XReadBitmapFile.man \
+ XRecolorCursor.man \
+ XReparentWindow.man \
+ XSelectionClearEvent.man \
+ XSaveContext.man \
+ XSelectionEvent.man \
+ XSetICFocus.man \
+ XSetICValues.man \
+ XSelectInput.man \
+ XStringListToTextProperty.man \
+ XSelectionRequestEvent.man \
+ XSetArcMode.man \
+ XSetClipOrigin.man \
+ XSetCloseDownMode.man \
+ XSetCommand.man \
+ XSetErrorHandler.man \
+ XSetEventQueueOwner.man \
+ XSendEvent.man \
+ XSetFillStyle.man \
+ XSetFont.man \
+ XSetFontPath.man \
+ XSetInputFocus.man \
+ XSetLineAttributes.man \
+ XSetPointerMapping.man \
+ XSetScreenSaver.man \
+ XSetSelectionOwner.man \
+ XSetState.man \
+ XSetTransientForHint.man \
+ XSetTextProperty.man \
+ XSetTile.man \
+ XSetWMClientMachine.man \
+ XSetWMColormapWindows.man \
+ XSetWMIconName.man \
+ XSetWMName.man \
+ XSetWMProperties.man \
+ XSetWMProtocols.man \
+ XStoreBytes.man \
+ XStoreColors.man \
+ XStringToKeysym.man \
+ XSupportsLocale.man \
+ XSynchronize.man \
+ XmbTextListToTextProperty.man \
+ XTextExtents.man \
+ XTextWidth.man \
+ XInitThreads.man \
+ XTranslateCoordinates.man \
+ XrmUniqueQuark.man \
+ XUnmapEvent.man \
+ XUnmapWindow.man \
+ XVaCreateNestedList.man \
+ XVisibilityEvent.man \
+ XWarpPointer.man \
+ XcmsCCCOfColormap.man \
+ XcmsAllocColor.man \
+ XcmsConvertColors.man \
+ XcmsColor.man \
+ XcmsCreateCCC.man \
+ XcmsDefaultCCC.man \
+ XcmsCIELabQueryMaxC.man \
+ XcmsCIELuvQueryMaxC.man \
+ XcmsQueryBlack.man \
+ XcmsQueryColor.man \
+ XcmsStoreColor.man \
+ XcmsSetWhitePoint.man \
+ XcmsTekHVCQueryMaxC.man \
+ XmbDrawImageString.man \
+ XmbDrawString.man \
+ XmbDrawText.man \
+ XmbLookupString.man \
+ XmbResetIC.man \
+ XmbTextEscapement.man \
+ XmbTextExtents.man \
+ XmbTextPerCharExtents.man
+
+# What we actually install
+
+if MANPAGES
+libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
+ $(all_shadows:=.@LIB_MAN_SUFFIX@)
+
+BUILT_SOURCES = shadows.DONE
+endif
+
+EXTRA_DIST = $(libman_PRE)
+
+CLEANFILES = $(libman_DATA)
+
+include $(top_srcdir)/cpprules.in
+
+SUFFIXES += .$(LIB_MAN_SUFFIX) .man
+
+XORGRELSTRING = @PACKAGE_STRING@
+ XORGMANNAME = X Version 11
+
+MANDEFS = -D__libmansuffix__=$(LIB_MAN_SUFFIX) \
+ -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
+
+CPP_MAN_FLAGS = $(MANDEFS) $(EXTRAMANDEFS)
+
+.man.$(LIB_MAN_SUFFIX):
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
+
+# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
+all_shadows = \
+ $(AllPlanes_shadows) \
+ $(BlackPixelOfScreen_shadows) \
+ $(DisplayOfCCC_shadows) \
+ $(ImageByteOrder_shadows) \
+ $(IsCursorKey_shadows) \
+ $(XAllocClassHint_shadows) \
+ $(XAllocIconSize_shadows) \
+ $(XAllocStandardColormap_shadows) \
+ $(XAllocSizeHints_shadows) \
+ $(XAllocWMHints_shadows) \
+ $(XAddHost_shadows) \
+ $(XAllocColor_shadows) \
+ $(XAnyEvent_shadows) \
+ $(XButtonEvent_shadows) \
+ $(XChangeKeyboardControl_shadows) \
+ $(XChangeKeyboardMapping_shadows) \
+ $(XChangePointerControl_shadows) \
+ $(XChangeSaveSet_shadows) \
+ $(XChangeWindowAttributes_shadows) \
+ $(XClearArea_shadows) \
+ $(XConfigureWindow_shadows) \
+ $(XCopyArea_shadows) \
+ $(XCreateColormap_shadows) \
+ $(XCreateFontCursor_shadows) \
+ $(XCreateFontSet_shadows) \
+ $(XCreateGC_shadows) \
+ $(XCreateIC_shadows) \
+ $(XInitImage_shadows) \
+ $(XCreateOC_shadows) \
+ $(XCreatePixmap_shadows) \
+ $(XCreateRegion_shadows) \
+ $(XCreateWindow_shadows) \
+ $(XDefineCursor_shadows) \
+ $(XDestroyWindow_shadows) \
+ $(XDrawArc_shadows) \
+ $(XDrawImageString_shadows) \
+ $(XDrawLine_shadows) \
+ $(XDrawPoint_shadows) \
+ $(XDrawRectangle_shadows) \
+ $(XDrawString_shadows) \
+ $(XDrawText_shadows) \
+ $(XEmptyRegion_shadows) \
+ $(XFillRectangle_shadows) \
+ $(XFlush_shadows) \
+ $(XFontsOfFontSet_shadows) \
+ $(XGraphicsExposeEvent_shadows) \
+ $(XrmGetFileDatabase_shadows) \
+ $(XrmGetResource_shadows) \
+ $(XGetVisualInfo_shadows) \
+ $(XGetWindowAttributes_shadows) \
+ $(XGetWindowProperty_shadows) \
+ $(XGrabButton_shadows) \
+ $(XGrabKey_shadows) \
+ $(XGrabKeyboard_shadows) \
+ $(XGrabPointer_shadows) \
+ $(XGrabServer_shadows) \
+ $(XIconifyWindow_shadows) \
+ $(XIfEvent_shadows) \
+ $(XrmInitialize_shadows) \
+ $(XInstallColormap_shadows) \
+ $(XAddConnectionWatch_shadows) \
+ $(XIntersectRegion_shadows) \
+ $(XInternAtom_shadows) \
+ $(XListFonts_shadows) \
+ $(XLoadFont_shadows) \
+ $(XLookupKeysym_shadows) \
+ $(XrmMergeDatabases_shadows) \
+ $(XMapEvent_shadows) \
+ $(XMapWindow_shadows) \
+ $(XNextEvent_shadows) \
+ $(XOpenDisplay_shadows) \
+ $(XOpenIM_shadows) \
+ $(XOpenOM_shadows) \
+ $(XParseGeometry_shadows) \
+ $(XPolygonRegion_shadows) \
+ $(XPutImage_shadows) \
+ $(XrmPutResource_shadows) \
+ $(XQueryBestSize_shadows) \
+ $(XQueryColor_shadows) \
+ $(XQueryExtension_shadows) \
+ $(XResourceManagerString_shadows) \
+ $(XRaiseWindow_shadows) \
+ $(XReadBitmapFile_shadows) \
+ $(XRecolorCursor_shadows) \
+ $(XSaveContext_shadows) \
+ $(XSetICFocus_shadows) \
+ $(XSetICValues_shadows) \
+ $(XStringListToTextProperty_shadows) \
+ $(XSetArcMode_shadows) \
+ $(XSetClipOrigin_shadows) \
+ $(XSetCloseDownMode_shadows) \
+ $(XSetCommand_shadows) \
+ $(XSetErrorHandler_shadows) \
+ $(XSendEvent_shadows) \
+ $(XSetFillStyle_shadows) \
+ $(XSetFontPath_shadows) \
+ $(XSetInputFocus_shadows) \
+ $(XSetLineAttributes_shadows) \
+ $(XSetPointerMapping_shadows) \
+ $(XSetScreenSaver_shadows) \
+ $(XSetSelectionOwner_shadows) \
+ $(XSetState_shadows) \
+ $(XSetTransientForHint_shadows) \
+ $(XSetTextProperty_shadows) \
+ $(XSetTile_shadows) \
+ $(XSetWMClientMachine_shadows) \
+ $(XSetWMColormapWindows_shadows) \
+ $(XSetWMIconName_shadows) \
+ $(XSetWMName_shadows) \
+ $(XSetWMProperties_shadows) \
+ $(XSetWMProtocols_shadows) \
+ $(XStoreBytes_shadows) \
+ $(XStoreColors_shadows) \
+ $(XStringToKeysym_shadows) \
+ $(XSupportsLocale_shadows) \
+ $(XSynchronize_shadows) \
+ $(XmbTextListToTextProperty_shadows) \
+ $(XTextExtents_shadows) \
+ $(XTextWidth_shadows) \
+ $(XInitThreads_shadows) \
+ $(XrmUniqueQuark_shadows) \
+ $(XUnmapWindow_shadows) \
+ $(XcmsCCCOfColormap_shadows) \
+ $(XcmsAllocColor_shadows) \
+ $(XcmsColor_shadows) \
+ $(XcmsCreateCCC_shadows) \
+ $(XcmsCIELabQueryMaxC_shadows) \
+ $(XcmsCIELuvQueryMaxC_shadows) \
+ $(XcmsQueryBlack_shadows) \
+ $(XcmsQueryColor_shadows) \
+ $(XcmsStoreColor_shadows) \
+ $(XcmsSetWhitePoint_shadows) \
+ $(XcmsTekHVCQueryMaxC_shadows) \
+ $(XmbDrawImageString_shadows) \
+ $(XmbDrawString_shadows) \
+ $(XmbDrawText_shadows) \
+ $(XmbLookupString_shadows) \
+ $(XmbResetIC_shadows) \
+ $(XmbTextEscapement_shadows) \
+ $(XmbTextExtents_shadows) \
+ $(XmbTextPerCharExtents_shadows)
+
+
+AllPlanes_shadows = \
+ BlackPixel \
+ WhitePixel \
+ ConnectionNumber \
+ DefaultColormap \
+ DefaultDepth \
+ XListDepths \
+ DefaultGC \
+ DefaultRootWindow \
+ DefaultScreenOfDisplay \
+ DefaultScreen \
+ DefaultVisual \
+ DisplayCells \
+ DisplayPlanes \
+ DisplayString \
+ XMaxRequestSize \
+ XExtendedMaxRequestSize \
+ LastKnownRequestProcessed \
+ NextRequest \
+ ProtocolVersion \
+ ProtocolRevision \
+ QLength \
+ RootWindow \
+ ScreenCount \
+ ScreenOfDisplay \
+ ServerVendor \
+ VendorRelease
+
+BlackPixelOfScreen_shadows = \
+ WhitePixelOfScreen \
+ CellsOfScreen \
+ DefaultColormapOfScreen \
+ DefaultDepthOfScreen \
+ DefaultGCOfScreen \
+ DefaultVisualOfScreen \
+ DoesBackingStore \
+ DoesSaveUnders \
+ DisplayOfScreen \
+ XScreenNumberOfScreen \
+ EventMaskOfScreen \
+ HeightOfScreen \
+ HeightMMOfScreen \
+ MaxCmapsOfScreen \
+ MinCmapsOfScreen \
+ PlanesOfScreen \
+ RootWindowOfScreen \
+ WidthOfScreen \
+ WidthMMOfScreen
+
+DisplayOfCCC_shadows = \
+ VisualOfCCC \
+ ScreenNumberOfCCC \
+ ScreenWhitePointOfCCC \
+ ClientWhitePointOfCCC
+
+ImageByteOrder_shadows = \
+ BitmapBitOrder \
+ BitmapPad \
+ BitmapUnit \
+ DisplayHeight \
+ DisplayHeightMM \
+ DisplayWidth \
+ DisplayWidthMM \
+ XListPixmapFormats \
+ XPixmapFormatValues
+
+IsCursorKey_shadows = \
+ IsFunctionKey \
+ IsKeypadKey \
+ IsMiscFunctionKey \
+ IsModifierKey \
+ IsPFKey \
+ IsPrivateKeypadKey
+
+XAllocClassHint_shadows = \
+ XSetClassHint \
+ XGetClassHint \
+ XClassHint
+
+XAllocIconSize_shadows = \
+ XSetIconSizes \
+ XGetIconSizes \
+ XIconSize
+
+XAllocStandardColormap_shadows = \
+ XSetRGBColormaps \
+ XGetRGBColormaps \
+ XStandardColormap
+
+XAllocSizeHints_shadows = \
+ XSetWMNormalHints \
+ XGetWMNormalHints \
+ XSetWMSizeHints \
+ XGetWMSizeHints \
+ XSizeHints
+
+XAllocWMHints_shadows = \
+ XSetWMHints \
+ XGetWMHints \
+ XWMHints
+
+XAddHost_shadows = \
+ XAddHosts \
+ XListHosts \
+ XRemoveHost \
+ XRemoveHosts \
+ XSetAccessControl \
+ XEnableAccessControl \
+ XDisableAccessControl \
+ XHostAddress
+
+XAllocColor_shadows = \
+ XAllocNamedColor \
+ XAllocColorCells \
+ XAllocColorPlanes \
+ XFreeColors
+
+XAnyEvent_shadows = \
+ XEvent
+
+XButtonEvent_shadows = \
+ XKeyEvent \
+ XMotionEvent
+
+XChangeKeyboardControl_shadows = \
+ XGetKeyboardControl \
+ XAutoRepeatOn \
+ XAutoRepeatOff \
+ XBell \
+ XQueryKeymap \
+ XKeyboardControl
+
+XChangeKeyboardMapping_shadows = \
+ XGetKeyboardMapping \
+ XDisplayKeycodes \
+ XSetModifierMapping \
+ XGetModifierMapping \
+ XNewModifiermap \
+ XInsertModifiermapEntry \
+ XDeleteModifiermapEntry \
+ XFreeModifierMap \
+ XModifierKeymap
+
+XChangePointerControl_shadows = \
+ XGetPointerControl
+
+XChangeSaveSet_shadows = \
+ XAddToSaveSet \
+ XRemoveFromSaveSet
+
+XChangeWindowAttributes_shadows = \
+ XSetWindowBackground \
+ XSetWindowBackgroundPixmap \
+ XSetWindowBorder \
+ XSetWindowBorderPixmap \
+ XSetWindowColormap
+
+XClearArea_shadows = \
+ XClearWindow
+
+XConfigureWindow_shadows = \
+ XMoveWindow \
+ XResizeWindow \
+ XMoveResizeWindow \
+ XSetWindowBorderWidth \
+ XWindowChanges
+
+XCopyArea_shadows = \
+ XCopyPlane
+
+XCreateColormap_shadows = \
+ XCopyColormapAndFree \
+ XFreeColormap \
+ XColor
+
+XCreateFontCursor_shadows = \
+ XCreatePixmapCursor \
+ XCreateGlyphCursor
+
+XCreateFontSet_shadows = \
+ XFreeFontSet
+
+XCreateGC_shadows = \
+ XCopyGC \
+ XChangeGC \
+ XGetGCValues \
+ XFreeGC \
+ XGContextFromGC \
+ XGCValues
+
+XCreateIC_shadows = \
+ XDestroyIC \
+ XIMOfIC
+
+XInitImage_shadows = \
+ XCreateImage \
+ XGetPixel \
+ XPutPixel \
+ XSubImage \
+ XAddPixel \
+ XDestroyImage
+
+XCreateOC_shadows = \
+ XDestroyOC \
+ XSetOCValues \
+ XGetOCValues \
+ XOMOfOC
+
+XCreatePixmap_shadows = \
+ XFreePixmap
+
+XCreateRegion_shadows = \
+ XSetRegion \
+ XDestroyRegion
+
+XCreateWindow_shadows = \
+ XCreateSimpleWindow \
+ XSetWindowAttributes
+
+XDefineCursor_shadows = \
+ XUndefineCursor
+
+XDestroyWindow_shadows = \
+ XDestroySubwindows
+
+XDrawArc_shadows = \
+ XDrawArcs \
+ XArc
+
+XDrawImageString_shadows = \
+ XDrawImageString16
+
+XDrawLine_shadows = \
+ XDrawLines \
+ XDrawSegments \
+ XSegment
+
+XDrawPoint_shadows = \
+ XDrawPoints \
+ XPoint
+
+XDrawRectangle_shadows = \
+ XDrawRectangles \
+ XRectangle
+
+XDrawString_shadows = \
+ XDrawString16
+
+XDrawText_shadows = \
+ XDrawText16 \
+ XTextItem \
+ XTextItem16
+
+XEmptyRegion_shadows = \
+ XEqualRegion \
+ XPointInRegion \
+ XRectInRegion
+
+XFillRectangle_shadows = \
+ XFillRectangles \
+ XFillPolygon \
+ XFillArc \
+ XFillArcs
+
+XFlush_shadows = \
+ XSync \
+ XEventsQueued \
+ XPending
+
+XFontsOfFontSet_shadows = \
+ XBaseFontNameListOfFontSet \
+ XLocaleOfFontSet \
+ XContextDependentDrawing \
+ XContextualDrawing \
+ XDirectionalDependentDrawing
+
+XGraphicsExposeEvent_shadows = \
+ XNoExposeEvent
+
+XrmGetFileDatabase_shadows = \
+ XrmPutFileDatabase \
+ XrmGetStringDatabase \
+ XrmLocaleOfDatabase \
+ XrmGetDatabase \
+ XrmSetDatabase \
+ XrmDestroyDatabase
+
+XrmGetResource_shadows = \
+ XrmQGetResource \
+ XrmQGetSearchList \
+ XrmQGetSearchResource
+
+XGetVisualInfo_shadows = \
+ XMatchVisualInfo \
+ XVisualIDFromVisual \
+ XVisualInfo
+
+XGetWindowAttributes_shadows = \
+ XGetGeometry \
+ XWindowAttributes
+
+XGetWindowProperty_shadows = \
+ XListProperties \
+ XChangeProperty \
+ XRotateWindowProperties \
+ XDeleteProperty
+
+XGrabButton_shadows = \
+ XUngrabButton
+
+XGrabKey_shadows = \
+ XUngrabKey
+
+XGrabKeyboard_shadows = \
+ XUngrabKeyboard
+
+XGrabPointer_shadows = \
+ XUngrabPointer \
+ XChangeActivePointerGrab
+
+XGrabServer_shadows = \
+ XUngrabServer
+
+XIconifyWindow_shadows = \
+ XWithdrawWindow \
+ XReconfigureWMWindow
+
+XIfEvent_shadows = \
+ XCheckIfEvent \
+ XPeekIfEvent
+
+XrmInitialize_shadows = \
+ XrmParseCommand \
+ XrmValue \
+ XrmOptionKind \
+ XrmOptionDescRec
+
+XInstallColormap_shadows = \
+ XUninstallColormap \
+ XListInstalledColormaps
+
+XAddConnectionWatch_shadows = \
+ XRemoveConnectionWatch \
+ XProcessInternalConnection \
+ XInternalConnectionNumbers
+
+XIntersectRegion_shadows = \
+ XUnionRegion \
+ XUnionRectWithRegion \
+ XSubtractRegion \
+ XXorRegion \
+ XOffsetRegion \
+ XShrinkRegion
+
+XInternAtom_shadows = \
+ XInternAtoms \
+ XGetAtomName \
+ XGetAtomNames
+
+XListFonts_shadows = \
+ XFreeFontNames \
+ XListFontsWithInfo \
+ XFreeFontInfo
+
+XLoadFont_shadows = \
+ XQueryFont \
+ XLoadQueryFont \
+ XFreeFont \
+ XGetFontProperty \
+ XUnloadFont \
+ XCharStruct \
+ XFontProp \
+ XChar2b \
+ XFontStruct
+
+XLookupKeysym_shadows = \
+ XRefreshKeyboardMapping \
+ XLookupString \
+ XRebindKeysym
+
+XrmMergeDatabases_shadows = \
+ XrmCombineDatabase \
+ XrmCombineFileDatabase
+
+XMapEvent_shadows = \
+ XMappingEvent
+
+XMapWindow_shadows = \
+ XMapRaised \
+ XMapSubwindows
+
+XNextEvent_shadows = \
+ XPeekEvent \
+ XWindowEvent \
+ XCheckWindowEvent \
+ XMaskEvent \
+ XCheckMaskEvent \
+ XCheckTypedEvent \
+ XCheckTypedWindowEvent
+
+XOpenDisplay_shadows = \
+ XCloseDisplay
+
+XOpenIM_shadows = \
+ XCloseIM \
+ XSetIMValues \
+ XGetIMValues \
+ XDisplayOfIM \
+ XLocaleOfIM \
+ XRegisterIMInstantiateCallback \
+ XUnregisterIMInstantiateCallback
+
+XOpenOM_shadows = \
+ XCloseOM \
+ XSetOMValues \
+ XGetOMValues \
+ XDisplayOfOM \
+ XLocaleOfOM
+
+XParseGeometry_shadows = \
+ XWMGeometry
+
+XPolygonRegion_shadows = \
+ XClipBox
+
+XPutImage_shadows = \
+ XGetImage \
+ XGetSubImage
+
+XrmPutResource_shadows = \
+ XrmQPutResource \
+ XrmPutStringResource \
+ XrmQPutStringResource \
+ XrmPutLineResource
+
+XQueryBestSize_shadows = \
+ XQueryBestTile \
+ XQueryBestStipple
+
+XQueryColor_shadows = \
+ XQueryColors \
+ XLookupColor \
+ XParseColor
+
+XQueryExtension_shadows = \
+ XListExtensions \
+ XFreeExtensionList
+
+XResourceManagerString_shadows = \
+ XScreenResourceString
+
+XRaiseWindow_shadows = \
+ XLowerWindow \
+ XCirculateSubwindows \
+ XCirculateSubwindowsUp \
+ XCirculateSubwindowsDown \
+ XRestackWindows
+
+XReadBitmapFile_shadows = \
+ XReadBitmapFileData \
+ XWriteBitmapFile \
+ XCreatePixmapFromBitmapData \
+ XCreateBitmapFromData
+
+XRecolorCursor_shadows = \
+ XFreeCursor \
+ XQueryBestCursor
+
+XSaveContext_shadows = \
+ XFindContext \
+ XDeleteContext \
+ XUniqueContext
+
+XSetICFocus_shadows = \
+ XUnsetICFocus
+
+XSetICValues_shadows = \
+ XGetICValues
+
+XStringListToTextProperty_shadows = \
+ XTextPropertyToStringList \
+ XFreeStringList \
+ XTextProperty
+
+XSetArcMode_shadows = \
+ XSetSubwindowMode \
+ XSetGraphicsExposure
+
+XSetClipOrigin_shadows = \
+ XSetClipMask \
+ XSetClipRectangles
+
+XSetCloseDownMode_shadows = \
+ XKillClient
+
+XSetCommand_shadows = \
+ XGetCommand
+
+XSetErrorHandler_shadows = \
+ XGetErrorText \
+ XDisplayName \
+ XSetIOErrorHandler \
+ XGetErrorDatabaseText
+
+XSendEvent_shadows = \
+ XDisplayMotionBufferSize \
+ XGetMotionEvents \
+ XTimeCoord
+
+XSetFillStyle_shadows = \
+ XSetFillRule
+
+XSetFontPath_shadows = \
+ XGetFontPath \
+ XFreeFontPath
+
+XSetInputFocus_shadows = \
+ XGetInputFocus
+
+XSetLineAttributes_shadows = \
+ XSetDashes
+
+XSetPointerMapping_shadows = \
+ XGetPointerMapping
+
+XSetScreenSaver_shadows = \
+ XForceScreenSaver \
+ XActivateScreenSaver \
+ XResetScreenSaver \
+ XGetScreenSaver
+
+XSetSelectionOwner_shadows = \
+ XGetSelectionOwner \
+ XConvertSelection
+
+XSetState_shadows = \
+ XSetFunction \
+ XSetPlaneMask \
+ XSetForeground \
+ XSetBackground
+
+XSetTransientForHint_shadows = \
+ XGetTransientForHint
+
+XSetTextProperty_shadows = \
+ XGetTextProperty
+
+XSetTile_shadows = \
+ XSetStipple \
+ XSetTSOrigin
+
+XSetWMClientMachine_shadows = \
+ XGetWMClientMachine
+
+XSetWMColormapWindows_shadows = \
+ XGetWMColormapWindows
+
+XSetWMIconName_shadows = \
+ XGetWMIconName \
+ XSetIconName \
+ XGetIconName
+
+XSetWMName_shadows = \
+ XGetWMName \
+ XStoreName \
+ XFetchName
+
+XSetWMProperties_shadows = \
+ XmbSetWMProperties \
+ Xutf8SetWMProperties
+
+XSetWMProtocols_shadows = \
+ XGetWMProtocols
+
+XStoreBytes_shadows = \
+ XStoreBuffer \
+ XFetchBytes \
+ XFetchBuffer \
+ XRotateBuffers
+
+XStoreColors_shadows = \
+ XStoreColor \
+ XStoreNamedColor
+
+XStringToKeysym_shadows = \
+ XKeysymToString \
+ XKeycodeToKeysym \
+ XKeysymToKeycode \
+ XConvertCase
+
+XSupportsLocale_shadows = \
+ XSetLocaleModifiers
+
+XSynchronize_shadows = \
+ XSetAfterFunction
+
+XmbTextListToTextProperty_shadows = \
+ XwcTextListToTextProperty \
+ Xutf8TextListToTextProperty \
+ XmbTextPropertyToTextList \
+ XwcTextPropertyToTextList \
+ Xutf8TextPropertyToTextList \
+ XwcFreeStringList \
+ XDefaultString
+
+XTextExtents_shadows = \
+ XTextExtents16 \
+ XQueryTextExtents \
+ XQueryTextExtents16
+
+XTextWidth_shadows = \
+ XTextWidth16
+
+XInitThreads_shadows = \
+ XLockDisplay \
+ XUnlockDisplay
+
+XrmUniqueQuark_shadows = \
+ XrmStringToQuark \
+ XrmPermStringToQuark \
+ XrmQuarkToString \
+ XrmStringToQuarkList \
+ XrmStringToBindingQuarkList
+
+XUnmapWindow_shadows = \
+ XUnmapSubwindows
+
+XcmsCCCOfColormap_shadows = \
+ XcmsSetCCCOfColormap
+
+XcmsAllocColor_shadows = \
+ XcmsAllocNamedColor
+
+XcmsColor_shadows = \
+ XcmsRGB \
+ XcmsRGBi \
+ XcmsCIEXYZ \
+ XcmsCIEuvY \
+ XcmsCIExyY \
+ XcmsCIELab \
+ XcmsCIELuv \
+ XcmsTekHVC \
+ XcmsPad
+
+XcmsCreateCCC_shadows = \
+ XcmsFreeCCC
+
+XcmsCIELabQueryMaxC_shadows = \
+ XcmsCIELabQueryMaxL \
+ XcmsCIELabQueryMaxLC \
+ XcmsCIELabQueryMinL
+
+XcmsCIELuvQueryMaxC_shadows = \
+ XcmsCIELuvQueryMaxL \
+ XcmsCIELuvQueryMaxLC \
+ XcmsCIELuvQueryMinL
+
+XcmsQueryBlack_shadows = \
+ XcmsQueryBlue \
+ XcmsQueryGreen \
+ XcmsQueryRed \
+ XcmsQueryWhite
+
+XcmsQueryColor_shadows = \
+ XcmsQueryColors \
+ XcmsLookupColor
+
+XcmsStoreColor_shadows = \
+ XcmsStoreColors
+
+XcmsSetWhitePoint_shadows = \
+ XcmsSetWhiteAdjustProc
+
+XcmsTekHVCQueryMaxC_shadows = \
+ XcmsTekHVCQueryMaxV \
+ XcmsTekHVCQueryMaxVC \
+ XcmsTekHVCQueryMaxVSamples \
+ XcmsTekHVCQueryMinV
+
+XmbDrawImageString_shadows = \
+ XwcDrawImageString \
+ Xutf8DrawImageString
+
+XmbDrawString_shadows = \
+ XwcDrawString \
+ Xutf8DrawString
+
+XmbDrawText_shadows = \
+ XwcDrawText \
+ Xutf8DrawText
+
+XmbLookupString_shadows = \
+ XwcLookupString \
+ Xutf8LookupString
+
+XmbResetIC_shadows = \
+ XwcResetIC \
+ Xutf8ResetIC
+
+XmbTextEscapement_shadows = \
+ XwcTextEscapement \
+ Xutf8TextEscapement
+
+XmbTextExtents_shadows = \
+ XwcTextExtents \
+ Xutf8TextExtents
+
+XmbTextPerCharExtents_shadows = \
+ XwcTextPerCharExtents \
+ Xutf8TextPerCharExtents
+
+shadows.DONE:
+ -rm -f $(all_aliases:=.@LIB_MAN_SUFFIX@)
+ (for i in $(AllPlanes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/AllPlanes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(BlackPixelOfScreen_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/BlackPixelOfScreen.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(DisplayOfCCC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/DisplayOfCCC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(ImageByteOrder_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/ImageByteOrder.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(IsCursorKey_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/IsCursorKey.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocClassHint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocClassHint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocIconSize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocIconSize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocStandardColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocStandardColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocSizeHints_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocSizeHints.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocWMHints_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocWMHints.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAddHost_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAddHost.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAnyEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAnyEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XButtonEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XButtonEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeKeyboardControl_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeKeyboardControl.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeKeyboardMapping_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeKeyboardMapping.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangePointerControl_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangePointerControl.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeSaveSet_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeSaveSet.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeWindowAttributes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeWindowAttributes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XClearArea_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XClearArea.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XConfigureWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XConfigureWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCopyArea_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCopyArea.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateFontCursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateFontCursor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateFontSet_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateFontSet.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateGC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateGC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateIC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateIC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInitImage_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInitImage.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateOC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateOC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreatePixmap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreatePixmap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDefineCursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDefineCursor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDestroyWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDestroyWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawArc_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawArc.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawImageString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawImageString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawLine_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawLine.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawPoint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawPoint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawRectangle_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawRectangle.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawText_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawText.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XEmptyRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XEmptyRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XFillRectangle_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XFillRectangle.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XFlush_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XFlush.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XFontsOfFontSet_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XFontsOfFontSet.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGraphicsExposeEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGraphicsExposeEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmGetFileDatabase_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmGetFileDatabase.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmGetResource_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmGetResource.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGetVisualInfo_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGetVisualInfo.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGetWindowAttributes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGetWindowAttributes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGetWindowProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGetWindowProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabButton_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabButton.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabKey_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabKey.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabKeyboard_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabKeyboard.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabPointer_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabPointer.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabServer_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabServer.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XIconifyWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XIconifyWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XIfEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XIfEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmInitialize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmInitialize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInstallColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInstallColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAddConnectionWatch_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAddConnectionWatch.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XIntersectRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XIntersectRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInternAtom_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInternAtom.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XListFonts_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XListFonts.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XLoadFont_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XLoadFont.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XLookupKeysym_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XLookupKeysym.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmMergeDatabases_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmMergeDatabases.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XMapEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XMapEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XMapWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XMapWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XNextEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XNextEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XOpenDisplay_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XOpenDisplay.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XOpenIM_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XOpenIM.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XOpenOM_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XOpenOM.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XParseGeometry_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XParseGeometry.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XPolygonRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XPolygonRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XPutImage_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XPutImage.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmPutResource_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmPutResource.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XQueryBestSize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XQueryBestSize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XQueryColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XQueryColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XQueryExtension_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XQueryExtension.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XResourceManagerString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XResourceManagerString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XRaiseWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XRaiseWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XReadBitmapFile_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XReadBitmapFile.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XRecolorCursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XRecolorCursor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSaveContext_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSaveContext.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetICFocus_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetICFocus.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetICValues_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetICValues.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStringListToTextProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStringListToTextProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetArcMode_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetArcMode.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetClipOrigin_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetClipOrigin.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetCloseDownMode_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetCloseDownMode.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetCommand_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetCommand.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetErrorHandler_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetErrorHandler.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSendEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSendEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetFillStyle_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetFillStyle.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetFontPath_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetFontPath.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetInputFocus_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetInputFocus.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetLineAttributes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetLineAttributes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetPointerMapping_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetPointerMapping.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetScreenSaver_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetScreenSaver.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetSelectionOwner_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetSelectionOwner.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetState_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetState.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetTransientForHint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetTransientForHint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetTextProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetTextProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetTile_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetTile.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMClientMachine_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMClientMachine.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMColormapWindows_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMColormapWindows.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMIconName_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMIconName.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMName_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMName.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMProperties_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMProperties.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMProtocols_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMProtocols.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStoreBytes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStoreBytes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStoreColors_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStoreColors.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStringToKeysym_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStringToKeysym.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSupportsLocale_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSupportsLocale.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSynchronize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSynchronize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextListToTextProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextListToTextProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XTextExtents_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XTextExtents.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XTextWidth_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XTextWidth.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInitThreads_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInitThreads.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmUniqueQuark_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmUniqueQuark.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XUnmapWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XUnmapWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCCCOfColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCCCOfColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsAllocColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsAllocColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCreateCCC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCreateCCC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCIELabQueryMaxC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCIELabQueryMaxC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCIELuvQueryMaxC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCIELuvQueryMaxC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsQueryBlack_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsQueryBlack.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsQueryColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsQueryColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsStoreColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsStoreColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsSetWhitePoint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsSetWhitePoint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsTekHVCQueryMaxC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsTekHVCQueryMaxC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbDrawImageString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbDrawImageString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbDrawString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbDrawString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbDrawText_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbDrawText.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbLookupString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbLookupString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbResetIC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbResetIC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextEscapement_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextEscapement.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextExtents_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextExtents.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextPerCharExtents_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextPerCharExtents.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
diff --git a/libX11/man/Makefile.in b/libX11/man/Makefile.in
new file mode 100644
index 000000000..8bfcbe0a6
--- /dev/null
+++ b/libX11/man/Makefile.in
@@ -0,0 +1,2088 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Have to fake out automake by calling our man pages "DATA" since "MANS" won't
+# accept .3x as a valid man page suffix
+
+# -*- Makefile -*-
+# Rules for generating files using the C pre-processor
+# (Replaces CppFileTarget from Imake)
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/cpprules.in
+subdir = man
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h \
+ $(top_builddir)/include/X11/XlibConf.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libmandir)"
+libmanDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(libman_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
+ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
+AMTAR = @AMTAR@
+APP_MAN_DIR = @APP_MAN_DIR@
+APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BIGFONT_CFLAGS = @BIGFONT_CFLAGS@
+BIGFONT_LIBS = @BIGFONT_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
+DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FILE_MAN_DIR = @FILE_MAN_DIR@
+FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
+I18N_MODULE_LIBS = @I18N_MODULE_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYSYMDEF = @KEYSYMDEF@
+LAUNCHD = @LAUNCHD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_MAN_DIR = @LIB_MAN_DIR@
+LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+LINT = @LINT@
+LINTLIB = @LINTLIB@
+LINT_FLAGS = @LINT_FLAGS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MALLOC_ZERO_CFLAGS = @MALLOC_ZERO_CFLAGS@
+MISC_MAN_DIR = @MISC_MAN_DIR@
+MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+RAWCPP = @RAWCPP@
+RAWCPPFLAGS = @RAWCPPFLAGS@
+SED = sed
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WCHAR32 = @WCHAR32@
+X11_CFLAGS = @X11_CFLAGS@
+X11_DATADIR = @X11_DATADIR@
+X11_EXTRA_DEPS = @X11_EXTRA_DEPS@
+X11_LIBDIR = @X11_LIBDIR@
+X11_LIBS = @X11_LIBS@
+X11_LOCALEDATADIR = @X11_LOCALEDATADIR@
+X11_LOCALEDIR = @X11_LOCALEDIR@
+X11_LOCALELIBDIR = @X11_LOCALELIBDIR@
+XDMCP_CFLAGS = @XDMCP_CFLAGS@
+XDMCP_LIBS = @XDMCP_LIBS@
+XERRORDB = @XERRORDB@
+XKBPROTO_CFLAGS = @XKBPROTO_CFLAGS@
+XKBPROTO_LIBS = @XKBPROTO_LIBS@
+XKBPROTO_REQUIRES = @XKBPROTO_REQUIRES@
+XKEYSYMDB = @XKEYSYMDB@
+XLOCALEDATADIR = @XLOCALEDATADIR@
+XLOCALEDIR = @XLOCALEDIR@
+XLOCALELIBDIR = @XLOCALELIBDIR@
+XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
+XPROTO_CFLAGS = @XPROTO_CFLAGS@
+XPROTO_LIBS = @XPROTO_LIBS@
+XTHREADLIB = @XTHREADLIB@
+XTHREADS = @XTHREADS@
+XTHREAD_CFLAGS = @XTHREAD_CFLAGS@
+XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
+XUSE_MTSAFE_API = @XUSE_MTSAFE_API@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = xkb
+libmandir = $(LIB_MAN_DIR)
+LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%)
+libman_PRE = \
+ AllPlanes.man \
+ BlackPixelOfScreen.man \
+ DisplayOfCCC.man \
+ ImageByteOrder.man \
+ IsCursorKey.man \
+ XAllocClassHint.man \
+ XAllocIconSize.man \
+ XAllocStandardColormap.man \
+ XAllocSizeHints.man \
+ XAllocWMHints.man \
+ XAddHost.man \
+ XAllocColor.man \
+ XAllowEvents.man \
+ XAnyEvent.man \
+ XButtonEvent.man \
+ XChangeKeyboardControl.man \
+ XChangeKeyboardMapping.man \
+ XClientMessageEvent.man \
+ XChangePointerControl.man \
+ XChangeSaveSet.man \
+ XChangeWindowAttributes.man \
+ XCreateWindowEvent.man \
+ XCirculateEvent.man \
+ XCirculateRequestEvent.man \
+ XClearArea.man \
+ XColormapEvent.man \
+ XConfigureEvent.man \
+ XConfigureRequestEvent.man \
+ XConfigureWindow.man \
+ XCopyArea.man \
+ XCreateColormap.man \
+ XCreateFontCursor.man \
+ XCreateFontSet.man \
+ XCreateGC.man \
+ XCreateIC.man \
+ XInitImage.man \
+ XCreateOC.man \
+ XCreatePixmap.man \
+ XCreateRegion.man \
+ XCreateWindow.man \
+ XCrossingEvent.man \
+ XDestroyWindowEvent.man \
+ XDefineCursor.man \
+ XDestroyWindow.man \
+ XDrawArc.man \
+ XDrawImageString.man \
+ XDrawLine.man \
+ XDrawPoint.man \
+ XDrawRectangle.man \
+ XDrawString.man \
+ XDrawText.man \
+ XEmptyRegion.man \
+ XrmEnumerateDatabase.man \
+ XExtentsOfFontSet.man \
+ XErrorEvent.man \
+ XExposeEvent.man \
+ XFocusChangeEvent.man \
+ XFilterEvent.man \
+ XFontSetExtents.man \
+ XFillRectangle.man \
+ XFlush.man \
+ XFontsOfFontSet.man \
+ XFree.man \
+ XGraphicsExposeEvent.man \
+ XGravityEvent.man \
+ XrmGetFileDatabase.man \
+ XrmGetResource.man \
+ XGetVisualInfo.man \
+ XGetWindowAttributes.man \
+ XGetWindowProperty.man \
+ XGetXCBConnection.man \
+ XGrabButton.man \
+ XGrabKey.man \
+ XGrabKeyboard.man \
+ XGrabPointer.man \
+ XGrabServer.man \
+ XIconifyWindow.man \
+ XIfEvent.man \
+ XrmInitialize.man \
+ XInstallColormap.man \
+ XAddConnectionWatch.man \
+ XIntersectRegion.man \
+ XInternAtom.man \
+ XKeymapEvent.man \
+ XListFonts.man \
+ XLoadFont.man \
+ XLookupKeysym.man \
+ XrmMergeDatabases.man \
+ XMapEvent.man \
+ XMapRequestEvent.man \
+ XMapWindow.man \
+ XNextEvent.man \
+ XNoOp.man \
+ XOpenDisplay.man \
+ XOpenIM.man \
+ XOpenOM.man \
+ XPropertyEvent.man \
+ XParseGeometry.man \
+ XPolygonRegion.man \
+ XPutBackEvent.man \
+ XPutImage.man \
+ XrmPutResource.man \
+ XQueryBestSize.man \
+ XQueryColor.man \
+ XQueryExtension.man \
+ XQueryPointer.man \
+ XQueryTree.man \
+ XReparentEvent.man \
+ XResourceManagerString.man \
+ XResizeRequestEvent.man \
+ XRaiseWindow.man \
+ XReadBitmapFile.man \
+ XRecolorCursor.man \
+ XReparentWindow.man \
+ XSelectionClearEvent.man \
+ XSaveContext.man \
+ XSelectionEvent.man \
+ XSetICFocus.man \
+ XSetICValues.man \
+ XSelectInput.man \
+ XStringListToTextProperty.man \
+ XSelectionRequestEvent.man \
+ XSetArcMode.man \
+ XSetClipOrigin.man \
+ XSetCloseDownMode.man \
+ XSetCommand.man \
+ XSetErrorHandler.man \
+ XSetEventQueueOwner.man \
+ XSendEvent.man \
+ XSetFillStyle.man \
+ XSetFont.man \
+ XSetFontPath.man \
+ XSetInputFocus.man \
+ XSetLineAttributes.man \
+ XSetPointerMapping.man \
+ XSetScreenSaver.man \
+ XSetSelectionOwner.man \
+ XSetState.man \
+ XSetTransientForHint.man \
+ XSetTextProperty.man \
+ XSetTile.man \
+ XSetWMClientMachine.man \
+ XSetWMColormapWindows.man \
+ XSetWMIconName.man \
+ XSetWMName.man \
+ XSetWMProperties.man \
+ XSetWMProtocols.man \
+ XStoreBytes.man \
+ XStoreColors.man \
+ XStringToKeysym.man \
+ XSupportsLocale.man \
+ XSynchronize.man \
+ XmbTextListToTextProperty.man \
+ XTextExtents.man \
+ XTextWidth.man \
+ XInitThreads.man \
+ XTranslateCoordinates.man \
+ XrmUniqueQuark.man \
+ XUnmapEvent.man \
+ XUnmapWindow.man \
+ XVaCreateNestedList.man \
+ XVisibilityEvent.man \
+ XWarpPointer.man \
+ XcmsCCCOfColormap.man \
+ XcmsAllocColor.man \
+ XcmsConvertColors.man \
+ XcmsColor.man \
+ XcmsCreateCCC.man \
+ XcmsDefaultCCC.man \
+ XcmsCIELabQueryMaxC.man \
+ XcmsCIELuvQueryMaxC.man \
+ XcmsQueryBlack.man \
+ XcmsQueryColor.man \
+ XcmsStoreColor.man \
+ XcmsSetWhitePoint.man \
+ XcmsTekHVCQueryMaxC.man \
+ XmbDrawImageString.man \
+ XmbDrawString.man \
+ XmbDrawText.man \
+ XmbLookupString.man \
+ XmbResetIC.man \
+ XmbTextEscapement.man \
+ XmbTextExtents.man \
+ XmbTextPerCharExtents.man
+
+
+# What we actually install
+@MANPAGES_TRUE@libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
+@MANPAGES_TRUE@ $(all_shadows:=.@LIB_MAN_SUFFIX@)
+
+@MANPAGES_TRUE@BUILT_SOURCES = shadows.DONE
+EXTRA_DIST = $(libman_PRE)
+CLEANFILES = $(libman_DATA)
+SUFFIXES = .pre .$(LIB_MAN_SUFFIX) .man
+WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
+CPP_FILES_FLAGS = $(WCHAR32_FLAGS)
+
+# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
+# to cpp, because that trick does not work on all ANSI C preprocessors.
+# Delete line numbers from the cpp output (-P is not portable, I guess).
+# Allow XCOMM to be preceded by whitespace and provide a means of generating
+# output lines with trailing backslashes.
+# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
+CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
+ -e '/^\#line *[0-9][0-9]* *.*$$/d' \
+ -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
+ -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
+ -e '/^[ ]*XHASH/s/XHASH/\#/' \
+ -e '/\@\@$$/s/\@\@$$/\\/'
+
+XORGRELSTRING = @PACKAGE_STRING@
+XORGMANNAME = X Version 11
+MANDEFS = -D__libmansuffix__=$(LIB_MAN_SUFFIX) \
+ -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
+
+CPP_MAN_FLAGS = $(MANDEFS) $(EXTRAMANDEFS)
+
+# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
+all_shadows = \
+ $(AllPlanes_shadows) \
+ $(BlackPixelOfScreen_shadows) \
+ $(DisplayOfCCC_shadows) \
+ $(ImageByteOrder_shadows) \
+ $(IsCursorKey_shadows) \
+ $(XAllocClassHint_shadows) \
+ $(XAllocIconSize_shadows) \
+ $(XAllocStandardColormap_shadows) \
+ $(XAllocSizeHints_shadows) \
+ $(XAllocWMHints_shadows) \
+ $(XAddHost_shadows) \
+ $(XAllocColor_shadows) \
+ $(XAnyEvent_shadows) \
+ $(XButtonEvent_shadows) \
+ $(XChangeKeyboardControl_shadows) \
+ $(XChangeKeyboardMapping_shadows) \
+ $(XChangePointerControl_shadows) \
+ $(XChangeSaveSet_shadows) \
+ $(XChangeWindowAttributes_shadows) \
+ $(XClearArea_shadows) \
+ $(XConfigureWindow_shadows) \
+ $(XCopyArea_shadows) \
+ $(XCreateColormap_shadows) \
+ $(XCreateFontCursor_shadows) \
+ $(XCreateFontSet_shadows) \
+ $(XCreateGC_shadows) \
+ $(XCreateIC_shadows) \
+ $(XInitImage_shadows) \
+ $(XCreateOC_shadows) \
+ $(XCreatePixmap_shadows) \
+ $(XCreateRegion_shadows) \
+ $(XCreateWindow_shadows) \
+ $(XDefineCursor_shadows) \
+ $(XDestroyWindow_shadows) \
+ $(XDrawArc_shadows) \
+ $(XDrawImageString_shadows) \
+ $(XDrawLine_shadows) \
+ $(XDrawPoint_shadows) \
+ $(XDrawRectangle_shadows) \
+ $(XDrawString_shadows) \
+ $(XDrawText_shadows) \
+ $(XEmptyRegion_shadows) \
+ $(XFillRectangle_shadows) \
+ $(XFlush_shadows) \
+ $(XFontsOfFontSet_shadows) \
+ $(XGraphicsExposeEvent_shadows) \
+ $(XrmGetFileDatabase_shadows) \
+ $(XrmGetResource_shadows) \
+ $(XGetVisualInfo_shadows) \
+ $(XGetWindowAttributes_shadows) \
+ $(XGetWindowProperty_shadows) \
+ $(XGrabButton_shadows) \
+ $(XGrabKey_shadows) \
+ $(XGrabKeyboard_shadows) \
+ $(XGrabPointer_shadows) \
+ $(XGrabServer_shadows) \
+ $(XIconifyWindow_shadows) \
+ $(XIfEvent_shadows) \
+ $(XrmInitialize_shadows) \
+ $(XInstallColormap_shadows) \
+ $(XAddConnectionWatch_shadows) \
+ $(XIntersectRegion_shadows) \
+ $(XInternAtom_shadows) \
+ $(XListFonts_shadows) \
+ $(XLoadFont_shadows) \
+ $(XLookupKeysym_shadows) \
+ $(XrmMergeDatabases_shadows) \
+ $(XMapEvent_shadows) \
+ $(XMapWindow_shadows) \
+ $(XNextEvent_shadows) \
+ $(XOpenDisplay_shadows) \
+ $(XOpenIM_shadows) \
+ $(XOpenOM_shadows) \
+ $(XParseGeometry_shadows) \
+ $(XPolygonRegion_shadows) \
+ $(XPutImage_shadows) \
+ $(XrmPutResource_shadows) \
+ $(XQueryBestSize_shadows) \
+ $(XQueryColor_shadows) \
+ $(XQueryExtension_shadows) \
+ $(XResourceManagerString_shadows) \
+ $(XRaiseWindow_shadows) \
+ $(XReadBitmapFile_shadows) \
+ $(XRecolorCursor_shadows) \
+ $(XSaveContext_shadows) \
+ $(XSetICFocus_shadows) \
+ $(XSetICValues_shadows) \
+ $(XStringListToTextProperty_shadows) \
+ $(XSetArcMode_shadows) \
+ $(XSetClipOrigin_shadows) \
+ $(XSetCloseDownMode_shadows) \
+ $(XSetCommand_shadows) \
+ $(XSetErrorHandler_shadows) \
+ $(XSendEvent_shadows) \
+ $(XSetFillStyle_shadows) \
+ $(XSetFontPath_shadows) \
+ $(XSetInputFocus_shadows) \
+ $(XSetLineAttributes_shadows) \
+ $(XSetPointerMapping_shadows) \
+ $(XSetScreenSaver_shadows) \
+ $(XSetSelectionOwner_shadows) \
+ $(XSetState_shadows) \
+ $(XSetTransientForHint_shadows) \
+ $(XSetTextProperty_shadows) \
+ $(XSetTile_shadows) \
+ $(XSetWMClientMachine_shadows) \
+ $(XSetWMColormapWindows_shadows) \
+ $(XSetWMIconName_shadows) \
+ $(XSetWMName_shadows) \
+ $(XSetWMProperties_shadows) \
+ $(XSetWMProtocols_shadows) \
+ $(XStoreBytes_shadows) \
+ $(XStoreColors_shadows) \
+ $(XStringToKeysym_shadows) \
+ $(XSupportsLocale_shadows) \
+ $(XSynchronize_shadows) \
+ $(XmbTextListToTextProperty_shadows) \
+ $(XTextExtents_shadows) \
+ $(XTextWidth_shadows) \
+ $(XInitThreads_shadows) \
+ $(XrmUniqueQuark_shadows) \
+ $(XUnmapWindow_shadows) \
+ $(XcmsCCCOfColormap_shadows) \
+ $(XcmsAllocColor_shadows) \
+ $(XcmsColor_shadows) \
+ $(XcmsCreateCCC_shadows) \
+ $(XcmsCIELabQueryMaxC_shadows) \
+ $(XcmsCIELuvQueryMaxC_shadows) \
+ $(XcmsQueryBlack_shadows) \
+ $(XcmsQueryColor_shadows) \
+ $(XcmsStoreColor_shadows) \
+ $(XcmsSetWhitePoint_shadows) \
+ $(XcmsTekHVCQueryMaxC_shadows) \
+ $(XmbDrawImageString_shadows) \
+ $(XmbDrawString_shadows) \
+ $(XmbDrawText_shadows) \
+ $(XmbLookupString_shadows) \
+ $(XmbResetIC_shadows) \
+ $(XmbTextEscapement_shadows) \
+ $(XmbTextExtents_shadows) \
+ $(XmbTextPerCharExtents_shadows)
+
+AllPlanes_shadows = \
+ BlackPixel \
+ WhitePixel \
+ ConnectionNumber \
+ DefaultColormap \
+ DefaultDepth \
+ XListDepths \
+ DefaultGC \
+ DefaultRootWindow \
+ DefaultScreenOfDisplay \
+ DefaultScreen \
+ DefaultVisual \
+ DisplayCells \
+ DisplayPlanes \
+ DisplayString \
+ XMaxRequestSize \
+ XExtendedMaxRequestSize \
+ LastKnownRequestProcessed \
+ NextRequest \
+ ProtocolVersion \
+ ProtocolRevision \
+ QLength \
+ RootWindow \
+ ScreenCount \
+ ScreenOfDisplay \
+ ServerVendor \
+ VendorRelease
+
+BlackPixelOfScreen_shadows = \
+ WhitePixelOfScreen \
+ CellsOfScreen \
+ DefaultColormapOfScreen \
+ DefaultDepthOfScreen \
+ DefaultGCOfScreen \
+ DefaultVisualOfScreen \
+ DoesBackingStore \
+ DoesSaveUnders \
+ DisplayOfScreen \
+ XScreenNumberOfScreen \
+ EventMaskOfScreen \
+ HeightOfScreen \
+ HeightMMOfScreen \
+ MaxCmapsOfScreen \
+ MinCmapsOfScreen \
+ PlanesOfScreen \
+ RootWindowOfScreen \
+ WidthOfScreen \
+ WidthMMOfScreen
+
+DisplayOfCCC_shadows = \
+ VisualOfCCC \
+ ScreenNumberOfCCC \
+ ScreenWhitePointOfCCC \
+ ClientWhitePointOfCCC
+
+ImageByteOrder_shadows = \
+ BitmapBitOrder \
+ BitmapPad \
+ BitmapUnit \
+ DisplayHeight \
+ DisplayHeightMM \
+ DisplayWidth \
+ DisplayWidthMM \
+ XListPixmapFormats \
+ XPixmapFormatValues
+
+IsCursorKey_shadows = \
+ IsFunctionKey \
+ IsKeypadKey \
+ IsMiscFunctionKey \
+ IsModifierKey \
+ IsPFKey \
+ IsPrivateKeypadKey
+
+XAllocClassHint_shadows = \
+ XSetClassHint \
+ XGetClassHint \
+ XClassHint
+
+XAllocIconSize_shadows = \
+ XSetIconSizes \
+ XGetIconSizes \
+ XIconSize
+
+XAllocStandardColormap_shadows = \
+ XSetRGBColormaps \
+ XGetRGBColormaps \
+ XStandardColormap
+
+XAllocSizeHints_shadows = \
+ XSetWMNormalHints \
+ XGetWMNormalHints \
+ XSetWMSizeHints \
+ XGetWMSizeHints \
+ XSizeHints
+
+XAllocWMHints_shadows = \
+ XSetWMHints \
+ XGetWMHints \
+ XWMHints
+
+XAddHost_shadows = \
+ XAddHosts \
+ XListHosts \
+ XRemoveHost \
+ XRemoveHosts \
+ XSetAccessControl \
+ XEnableAccessControl \
+ XDisableAccessControl \
+ XHostAddress
+
+XAllocColor_shadows = \
+ XAllocNamedColor \
+ XAllocColorCells \
+ XAllocColorPlanes \
+ XFreeColors
+
+XAnyEvent_shadows = \
+ XEvent
+
+XButtonEvent_shadows = \
+ XKeyEvent \
+ XMotionEvent
+
+XChangeKeyboardControl_shadows = \
+ XGetKeyboardControl \
+ XAutoRepeatOn \
+ XAutoRepeatOff \
+ XBell \
+ XQueryKeymap \
+ XKeyboardControl
+
+XChangeKeyboardMapping_shadows = \
+ XGetKeyboardMapping \
+ XDisplayKeycodes \
+ XSetModifierMapping \
+ XGetModifierMapping \
+ XNewModifiermap \
+ XInsertModifiermapEntry \
+ XDeleteModifiermapEntry \
+ XFreeModifierMap \
+ XModifierKeymap
+
+XChangePointerControl_shadows = \
+ XGetPointerControl
+
+XChangeSaveSet_shadows = \
+ XAddToSaveSet \
+ XRemoveFromSaveSet
+
+XChangeWindowAttributes_shadows = \
+ XSetWindowBackground \
+ XSetWindowBackgroundPixmap \
+ XSetWindowBorder \
+ XSetWindowBorderPixmap \
+ XSetWindowColormap
+
+XClearArea_shadows = \
+ XClearWindow
+
+XConfigureWindow_shadows = \
+ XMoveWindow \
+ XResizeWindow \
+ XMoveResizeWindow \
+ XSetWindowBorderWidth \
+ XWindowChanges
+
+XCopyArea_shadows = \
+ XCopyPlane
+
+XCreateColormap_shadows = \
+ XCopyColormapAndFree \
+ XFreeColormap \
+ XColor
+
+XCreateFontCursor_shadows = \
+ XCreatePixmapCursor \
+ XCreateGlyphCursor
+
+XCreateFontSet_shadows = \
+ XFreeFontSet
+
+XCreateGC_shadows = \
+ XCopyGC \
+ XChangeGC \
+ XGetGCValues \
+ XFreeGC \
+ XGContextFromGC \
+ XGCValues
+
+XCreateIC_shadows = \
+ XDestroyIC \
+ XIMOfIC
+
+XInitImage_shadows = \
+ XCreateImage \
+ XGetPixel \
+ XPutPixel \
+ XSubImage \
+ XAddPixel \
+ XDestroyImage
+
+XCreateOC_shadows = \
+ XDestroyOC \
+ XSetOCValues \
+ XGetOCValues \
+ XOMOfOC
+
+XCreatePixmap_shadows = \
+ XFreePixmap
+
+XCreateRegion_shadows = \
+ XSetRegion \
+ XDestroyRegion
+
+XCreateWindow_shadows = \
+ XCreateSimpleWindow \
+ XSetWindowAttributes
+
+XDefineCursor_shadows = \
+ XUndefineCursor
+
+XDestroyWindow_shadows = \
+ XDestroySubwindows
+
+XDrawArc_shadows = \
+ XDrawArcs \
+ XArc
+
+XDrawImageString_shadows = \
+ XDrawImageString16
+
+XDrawLine_shadows = \
+ XDrawLines \
+ XDrawSegments \
+ XSegment
+
+XDrawPoint_shadows = \
+ XDrawPoints \
+ XPoint
+
+XDrawRectangle_shadows = \
+ XDrawRectangles \
+ XRectangle
+
+XDrawString_shadows = \
+ XDrawString16
+
+XDrawText_shadows = \
+ XDrawText16 \
+ XTextItem \
+ XTextItem16
+
+XEmptyRegion_shadows = \
+ XEqualRegion \
+ XPointInRegion \
+ XRectInRegion
+
+XFillRectangle_shadows = \
+ XFillRectangles \
+ XFillPolygon \
+ XFillArc \
+ XFillArcs
+
+XFlush_shadows = \
+ XSync \
+ XEventsQueued \
+ XPending
+
+XFontsOfFontSet_shadows = \
+ XBaseFontNameListOfFontSet \
+ XLocaleOfFontSet \
+ XContextDependentDrawing \
+ XContextualDrawing \
+ XDirectionalDependentDrawing
+
+XGraphicsExposeEvent_shadows = \
+ XNoExposeEvent
+
+XrmGetFileDatabase_shadows = \
+ XrmPutFileDatabase \
+ XrmGetStringDatabase \
+ XrmLocaleOfDatabase \
+ XrmGetDatabase \
+ XrmSetDatabase \
+ XrmDestroyDatabase
+
+XrmGetResource_shadows = \
+ XrmQGetResource \
+ XrmQGetSearchList \
+ XrmQGetSearchResource
+
+XGetVisualInfo_shadows = \
+ XMatchVisualInfo \
+ XVisualIDFromVisual \
+ XVisualInfo
+
+XGetWindowAttributes_shadows = \
+ XGetGeometry \
+ XWindowAttributes
+
+XGetWindowProperty_shadows = \
+ XListProperties \
+ XChangeProperty \
+ XRotateWindowProperties \
+ XDeleteProperty
+
+XGrabButton_shadows = \
+ XUngrabButton
+
+XGrabKey_shadows = \
+ XUngrabKey
+
+XGrabKeyboard_shadows = \
+ XUngrabKeyboard
+
+XGrabPointer_shadows = \
+ XUngrabPointer \
+ XChangeActivePointerGrab
+
+XGrabServer_shadows = \
+ XUngrabServer
+
+XIconifyWindow_shadows = \
+ XWithdrawWindow \
+ XReconfigureWMWindow
+
+XIfEvent_shadows = \
+ XCheckIfEvent \
+ XPeekIfEvent
+
+XrmInitialize_shadows = \
+ XrmParseCommand \
+ XrmValue \
+ XrmOptionKind \
+ XrmOptionDescRec
+
+XInstallColormap_shadows = \
+ XUninstallColormap \
+ XListInstalledColormaps
+
+XAddConnectionWatch_shadows = \
+ XRemoveConnectionWatch \
+ XProcessInternalConnection \
+ XInternalConnectionNumbers
+
+XIntersectRegion_shadows = \
+ XUnionRegion \
+ XUnionRectWithRegion \
+ XSubtractRegion \
+ XXorRegion \
+ XOffsetRegion \
+ XShrinkRegion
+
+XInternAtom_shadows = \
+ XInternAtoms \
+ XGetAtomName \
+ XGetAtomNames
+
+XListFonts_shadows = \
+ XFreeFontNames \
+ XListFontsWithInfo \
+ XFreeFontInfo
+
+XLoadFont_shadows = \
+ XQueryFont \
+ XLoadQueryFont \
+ XFreeFont \
+ XGetFontProperty \
+ XUnloadFont \
+ XCharStruct \
+ XFontProp \
+ XChar2b \
+ XFontStruct
+
+XLookupKeysym_shadows = \
+ XRefreshKeyboardMapping \
+ XLookupString \
+ XRebindKeysym
+
+XrmMergeDatabases_shadows = \
+ XrmCombineDatabase \
+ XrmCombineFileDatabase
+
+XMapEvent_shadows = \
+ XMappingEvent
+
+XMapWindow_shadows = \
+ XMapRaised \
+ XMapSubwindows
+
+XNextEvent_shadows = \
+ XPeekEvent \
+ XWindowEvent \
+ XCheckWindowEvent \
+ XMaskEvent \
+ XCheckMaskEvent \
+ XCheckTypedEvent \
+ XCheckTypedWindowEvent
+
+XOpenDisplay_shadows = \
+ XCloseDisplay
+
+XOpenIM_shadows = \
+ XCloseIM \
+ XSetIMValues \
+ XGetIMValues \
+ XDisplayOfIM \
+ XLocaleOfIM \
+ XRegisterIMInstantiateCallback \
+ XUnregisterIMInstantiateCallback
+
+XOpenOM_shadows = \
+ XCloseOM \
+ XSetOMValues \
+ XGetOMValues \
+ XDisplayOfOM \
+ XLocaleOfOM
+
+XParseGeometry_shadows = \
+ XWMGeometry
+
+XPolygonRegion_shadows = \
+ XClipBox
+
+XPutImage_shadows = \
+ XGetImage \
+ XGetSubImage
+
+XrmPutResource_shadows = \
+ XrmQPutResource \
+ XrmPutStringResource \
+ XrmQPutStringResource \
+ XrmPutLineResource
+
+XQueryBestSize_shadows = \
+ XQueryBestTile \
+ XQueryBestStipple
+
+XQueryColor_shadows = \
+ XQueryColors \
+ XLookupColor \
+ XParseColor
+
+XQueryExtension_shadows = \
+ XListExtensions \
+ XFreeExtensionList
+
+XResourceManagerString_shadows = \
+ XScreenResourceString
+
+XRaiseWindow_shadows = \
+ XLowerWindow \
+ XCirculateSubwindows \
+ XCirculateSubwindowsUp \
+ XCirculateSubwindowsDown \
+ XRestackWindows
+
+XReadBitmapFile_shadows = \
+ XReadBitmapFileData \
+ XWriteBitmapFile \
+ XCreatePixmapFromBitmapData \
+ XCreateBitmapFromData
+
+XRecolorCursor_shadows = \
+ XFreeCursor \
+ XQueryBestCursor
+
+XSaveContext_shadows = \
+ XFindContext \
+ XDeleteContext \
+ XUniqueContext
+
+XSetICFocus_shadows = \
+ XUnsetICFocus
+
+XSetICValues_shadows = \
+ XGetICValues
+
+XStringListToTextProperty_shadows = \
+ XTextPropertyToStringList \
+ XFreeStringList \
+ XTextProperty
+
+XSetArcMode_shadows = \
+ XSetSubwindowMode \
+ XSetGraphicsExposure
+
+XSetClipOrigin_shadows = \
+ XSetClipMask \
+ XSetClipRectangles
+
+XSetCloseDownMode_shadows = \
+ XKillClient
+
+XSetCommand_shadows = \
+ XGetCommand
+
+XSetErrorHandler_shadows = \
+ XGetErrorText \
+ XDisplayName \
+ XSetIOErrorHandler \
+ XGetErrorDatabaseText
+
+XSendEvent_shadows = \
+ XDisplayMotionBufferSize \
+ XGetMotionEvents \
+ XTimeCoord
+
+XSetFillStyle_shadows = \
+ XSetFillRule
+
+XSetFontPath_shadows = \
+ XGetFontPath \
+ XFreeFontPath
+
+XSetInputFocus_shadows = \
+ XGetInputFocus
+
+XSetLineAttributes_shadows = \
+ XSetDashes
+
+XSetPointerMapping_shadows = \
+ XGetPointerMapping
+
+XSetScreenSaver_shadows = \
+ XForceScreenSaver \
+ XActivateScreenSaver \
+ XResetScreenSaver \
+ XGetScreenSaver
+
+XSetSelectionOwner_shadows = \
+ XGetSelectionOwner \
+ XConvertSelection
+
+XSetState_shadows = \
+ XSetFunction \
+ XSetPlaneMask \
+ XSetForeground \
+ XSetBackground
+
+XSetTransientForHint_shadows = \
+ XGetTransientForHint
+
+XSetTextProperty_shadows = \
+ XGetTextProperty
+
+XSetTile_shadows = \
+ XSetStipple \
+ XSetTSOrigin
+
+XSetWMClientMachine_shadows = \
+ XGetWMClientMachine
+
+XSetWMColormapWindows_shadows = \
+ XGetWMColormapWindows
+
+XSetWMIconName_shadows = \
+ XGetWMIconName \
+ XSetIconName \
+ XGetIconName
+
+XSetWMName_shadows = \
+ XGetWMName \
+ XStoreName \
+ XFetchName
+
+XSetWMProperties_shadows = \
+ XmbSetWMProperties \
+ Xutf8SetWMProperties
+
+XSetWMProtocols_shadows = \
+ XGetWMProtocols
+
+XStoreBytes_shadows = \
+ XStoreBuffer \
+ XFetchBytes \
+ XFetchBuffer \
+ XRotateBuffers
+
+XStoreColors_shadows = \
+ XStoreColor \
+ XStoreNamedColor
+
+XStringToKeysym_shadows = \
+ XKeysymToString \
+ XKeycodeToKeysym \
+ XKeysymToKeycode \
+ XConvertCase
+
+XSupportsLocale_shadows = \
+ XSetLocaleModifiers
+
+XSynchronize_shadows = \
+ XSetAfterFunction
+
+XmbTextListToTextProperty_shadows = \
+ XwcTextListToTextProperty \
+ Xutf8TextListToTextProperty \
+ XmbTextPropertyToTextList \
+ XwcTextPropertyToTextList \
+ Xutf8TextPropertyToTextList \
+ XwcFreeStringList \
+ XDefaultString
+
+XTextExtents_shadows = \
+ XTextExtents16 \
+ XQueryTextExtents \
+ XQueryTextExtents16
+
+XTextWidth_shadows = \
+ XTextWidth16
+
+XInitThreads_shadows = \
+ XLockDisplay \
+ XUnlockDisplay
+
+XrmUniqueQuark_shadows = \
+ XrmStringToQuark \
+ XrmPermStringToQuark \
+ XrmQuarkToString \
+ XrmStringToQuarkList \
+ XrmStringToBindingQuarkList
+
+XUnmapWindow_shadows = \
+ XUnmapSubwindows
+
+XcmsCCCOfColormap_shadows = \
+ XcmsSetCCCOfColormap
+
+XcmsAllocColor_shadows = \
+ XcmsAllocNamedColor
+
+XcmsColor_shadows = \
+ XcmsRGB \
+ XcmsRGBi \
+ XcmsCIEXYZ \
+ XcmsCIEuvY \
+ XcmsCIExyY \
+ XcmsCIELab \
+ XcmsCIELuv \
+ XcmsTekHVC \
+ XcmsPad
+
+XcmsCreateCCC_shadows = \
+ XcmsFreeCCC
+
+XcmsCIELabQueryMaxC_shadows = \
+ XcmsCIELabQueryMaxL \
+ XcmsCIELabQueryMaxLC \
+ XcmsCIELabQueryMinL
+
+XcmsCIELuvQueryMaxC_shadows = \
+ XcmsCIELuvQueryMaxL \
+ XcmsCIELuvQueryMaxLC \
+ XcmsCIELuvQueryMinL
+
+XcmsQueryBlack_shadows = \
+ XcmsQueryBlue \
+ XcmsQueryGreen \
+ XcmsQueryRed \
+ XcmsQueryWhite
+
+XcmsQueryColor_shadows = \
+ XcmsQueryColors \
+ XcmsLookupColor
+
+XcmsStoreColor_shadows = \
+ XcmsStoreColors
+
+XcmsSetWhitePoint_shadows = \
+ XcmsSetWhiteAdjustProc
+
+XcmsTekHVCQueryMaxC_shadows = \
+ XcmsTekHVCQueryMaxV \
+ XcmsTekHVCQueryMaxVC \
+ XcmsTekHVCQueryMaxVSamples \
+ XcmsTekHVCQueryMinV
+
+XmbDrawImageString_shadows = \
+ XwcDrawImageString \
+ Xutf8DrawImageString
+
+XmbDrawString_shadows = \
+ XwcDrawString \
+ Xutf8DrawString
+
+XmbDrawText_shadows = \
+ XwcDrawText \
+ Xutf8DrawText
+
+XmbLookupString_shadows = \
+ XwcLookupString \
+ Xutf8LookupString
+
+XmbResetIC_shadows = \
+ XwcResetIC \
+ Xutf8ResetIC
+
+XmbTextEscapement_shadows = \
+ XwcTextEscapement \
+ Xutf8TextEscapement
+
+XmbTextExtents_shadows = \
+ XwcTextExtents \
+ Xutf8TextExtents
+
+XmbTextPerCharExtents_shadows = \
+ XwcTextPerCharExtents \
+ Xutf8TextPerCharExtents
+
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .pre .$(LIB_MAN_SUFFIX) .man
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-libmanDATA: $(libman_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(libmandir)" || $(MKDIR_P) "$(DESTDIR)$(libmandir)"
+ @list='$(libman_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(libmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libmandir)/$$f'"; \
+ $(libmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libmandir)/$$f"; \
+ done
+
+uninstall-libmanDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libman_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(libmandir)/$$f'"; \
+ rm -f "$(DESTDIR)$(libmandir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libmandir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-libmanDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libmanDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libmanDATA install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-libmanDATA
+
+
+# Allow people to comment out lines by starting them with '##'
+.pre:
+ $(SED) -e '/^\#\#/d' $< | $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) | $(CPP_SED_MAGIC) > $@
+
+.man.$(LIB_MAN_SUFFIX):
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
+
+shadows.DONE:
+ -rm -f $(all_aliases:=.@LIB_MAN_SUFFIX@)
+ (for i in $(AllPlanes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/AllPlanes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(BlackPixelOfScreen_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/BlackPixelOfScreen.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(DisplayOfCCC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/DisplayOfCCC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(ImageByteOrder_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/ImageByteOrder.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(IsCursorKey_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/IsCursorKey.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocClassHint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocClassHint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocIconSize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocIconSize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocStandardColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocStandardColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocSizeHints_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocSizeHints.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocWMHints_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocWMHints.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAddHost_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAddHost.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAllocColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAllocColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAnyEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAnyEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XButtonEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XButtonEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeKeyboardControl_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeKeyboardControl.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeKeyboardMapping_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeKeyboardMapping.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangePointerControl_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangePointerControl.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeSaveSet_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeSaveSet.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XChangeWindowAttributes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XChangeWindowAttributes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XClearArea_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XClearArea.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XConfigureWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XConfigureWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCopyArea_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCopyArea.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateFontCursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateFontCursor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateFontSet_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateFontSet.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateGC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateGC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateIC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateIC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInitImage_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInitImage.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateOC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateOC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreatePixmap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreatePixmap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XCreateWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XCreateWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDefineCursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDefineCursor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDestroyWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDestroyWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawArc_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawArc.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawImageString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawImageString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawLine_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawLine.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawPoint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawPoint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawRectangle_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawRectangle.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XDrawText_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XDrawText.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XEmptyRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XEmptyRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XFillRectangle_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XFillRectangle.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XFlush_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XFlush.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XFontsOfFontSet_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XFontsOfFontSet.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGraphicsExposeEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGraphicsExposeEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmGetFileDatabase_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmGetFileDatabase.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmGetResource_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmGetResource.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGetVisualInfo_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGetVisualInfo.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGetWindowAttributes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGetWindowAttributes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGetWindowProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGetWindowProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabButton_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabButton.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabKey_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabKey.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabKeyboard_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabKeyboard.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabPointer_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabPointer.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XGrabServer_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XGrabServer.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XIconifyWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XIconifyWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XIfEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XIfEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmInitialize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmInitialize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInstallColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInstallColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XAddConnectionWatch_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XAddConnectionWatch.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XIntersectRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XIntersectRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInternAtom_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInternAtom.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XListFonts_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XListFonts.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XLoadFont_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XLoadFont.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XLookupKeysym_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XLookupKeysym.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmMergeDatabases_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmMergeDatabases.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XMapEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XMapEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XMapWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XMapWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XNextEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XNextEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XOpenDisplay_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XOpenDisplay.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XOpenIM_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XOpenIM.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XOpenOM_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XOpenOM.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XParseGeometry_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XParseGeometry.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XPolygonRegion_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XPolygonRegion.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XPutImage_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XPutImage.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmPutResource_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmPutResource.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XQueryBestSize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XQueryBestSize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XQueryColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XQueryColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XQueryExtension_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XQueryExtension.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XResourceManagerString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XResourceManagerString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XRaiseWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XRaiseWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XReadBitmapFile_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XReadBitmapFile.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XRecolorCursor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XRecolorCursor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSaveContext_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSaveContext.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetICFocus_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetICFocus.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetICValues_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetICValues.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStringListToTextProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStringListToTextProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetArcMode_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetArcMode.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetClipOrigin_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetClipOrigin.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetCloseDownMode_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetCloseDownMode.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetCommand_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetCommand.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetErrorHandler_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetErrorHandler.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSendEvent_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSendEvent.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetFillStyle_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetFillStyle.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetFontPath_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetFontPath.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetInputFocus_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetInputFocus.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetLineAttributes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetLineAttributes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetPointerMapping_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetPointerMapping.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetScreenSaver_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetScreenSaver.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetSelectionOwner_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetSelectionOwner.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetState_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetState.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetTransientForHint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetTransientForHint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetTextProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetTextProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetTile_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetTile.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMClientMachine_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMClientMachine.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMColormapWindows_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMColormapWindows.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMIconName_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMIconName.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMName_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMName.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMProperties_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMProperties.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSetWMProtocols_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSetWMProtocols.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStoreBytes_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStoreBytes.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStoreColors_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStoreColors.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XStringToKeysym_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XStringToKeysym.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSupportsLocale_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSupportsLocale.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XSynchronize_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XSynchronize.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextListToTextProperty_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextListToTextProperty.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XTextExtents_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XTextExtents.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XTextWidth_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XTextWidth.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XInitThreads_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XInitThreads.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XrmUniqueQuark_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XrmUniqueQuark.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XUnmapWindow_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XUnmapWindow.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCCCOfColormap_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCCCOfColormap.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsAllocColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsAllocColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCreateCCC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCreateCCC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCIELabQueryMaxC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCIELabQueryMaxC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsCIELuvQueryMaxC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsCIELuvQueryMaxC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsQueryBlack_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsQueryBlack.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsQueryColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsQueryColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsStoreColor_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsStoreColor.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsSetWhitePoint_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsSetWhitePoint.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XcmsTekHVCQueryMaxC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XcmsTekHVCQueryMaxC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbDrawImageString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbDrawImageString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbDrawString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbDrawString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbDrawText_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbDrawText.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbLookupString_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbLookupString.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbResetIC_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbResetIC.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextEscapement_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextEscapement.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextExtents_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextExtents.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+ (for i in $(XmbTextPerCharExtents_shadows:=.@LIB_MAN_SUFFIX@) ; do \
+ echo .so man$(LIB_MAN_DIR_SUFFIX)/XmbTextPerCharExtents.$(LIB_MAN_SUFFIX) > $$i; \
+ done)
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libX11/man/XAddConnectionWatch.man b/libX11/man/XAddConnectionWatch.man
new file mode 100644
index 000000000..e1320c801
--- /dev/null
+++ b/libX11/man/XAddConnectionWatch.man
@@ -0,0 +1,237 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XIntConn.man,v 1.3 2001/11/21 22:54:13 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAddConnectionWatch __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAddConnectionWatch, XRemoveConnectionWatch, XProcessInternalConnection, XInternalConnectionNumbers \- handle Xlib internal connections
+.SH SYNTAX
+.HP
+typedef void (*XConnectionWatchProc)\^(\^Display *\fIdisplay\fP\^, XPointer
+\fIclient_data\fP\^, int \fIfd\fP\^, Bool \fIopening\fP\^, XPointer
+*\fIwatch_data\fP\^);
+.HP
+Status XAddConnectionWatch\^(\^Display *\fIdisplay\fP\^, XWatchProc
+\fIprocedure\fP\^, XPointer \fIclient_data\fP\^);
+.HP
+Status XRemoveConnectionWatch\^(\^Display *\fIdisplay\fP\^, XWatchProc
+\fIprocedure\fP\^, XPointer \fIclient_data\fP\^);
+.HP
+void XProcessInternalConnection\^(\^Display *\fIdisplay\fP\^, int \fIfd\fP\^);
+.HP
+Status XInternalConnectionNumbers\^(\^Display *\fIdisplay\fP\^, int
+**\fIfd_return\fP\^, int *\fIcount_return\fP\^);
+.SH ARGUMENTS
+.IP \fIclient_data\fP 1i
+Specifies the additional client data.
+.ds Cn file descriptors
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfd\fP 1i
+Specifies the file descriptor.
+.IP \fIfd_return\fP 1i
+Returns the file descriptors.
+.IP \fIprocedure\fP 1i
+Specifies the procedure to be called.
+.SH DESCRIPTION
+The
+.ZN XAddConnectionWatch
+function registers a procedure to be called each time Xlib opens or closes an
+internal connection for the specified display. The procedure is passed the
+display, the specified client_data, the file descriptor for the connection,
+a Boolean indicating whether the connection is being opened or closed, and a
+pointer to a location for private watch data. If opening is
+.ZN True ,
+the procedure can store a pointer to private data in the location pointed
+to by watch_data;
+when the procedure is later called for this same connection and opening is
+.ZN False ,
+the location pointed to by watch_data will hold this same private data pointer.
+.LP
+This function can be called at any time after a display is opened.
+If internal connections already exist, the registered procedure will
+immediately be called for each of them, before
+.ZN XAddConnectionWatch
+returns.
+.ZN XAddConnectionWatch
+returns a nonzero status if the procedure is successfully registered;
+otherwise, it returns zero.
+.LP
+The registered procedure should not call any Xlib functions.
+If the procedure directly or indirectly causes the state of internal
+connections or watch procedures to change, the result is not defined.
+If Xlib has been initialized for threads, the procedure is called with
+the display locked and the result of a call by the procedure to any
+Xlib function that locks the display is not defined unless the executing
+thread has externally locked the display using
+.ZN XLockDisplay .
+.LP
+The
+.ZN XRemoveConnectionWatch
+function removes a previously registered connection watch procedure.
+The client_data must match the client_data used when the procedure
+was initially registered.
+
+.LP
+The
+.ZN XProcessInternalConnection
+function processes input available on an internal connection.
+This function should be called for an internal connection only
+after an operating system facility (for example,
+.ZN select
+or
+.ZN poll )
+has indicated that input is available; otherwise,
+the effect is not defined.
+.LP
+The
+.ZN XInternalConnectionNumbers
+function returns a list of the file descriptors for all internal
+connections currently open for the specified display.
+When the allocated list is no longer needed,
+free it by using
+.ZN XFree .
+This functions returns a nonzero status if the list is successfully allocated;
+otherwise, it returns zero.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XAddHost.man b/libX11/man/XAddHost.man
new file mode 100644
index 000000000..fe95c7ddc
--- /dev/null
+++ b/libX11/man/XAddHost.man
@@ -0,0 +1,360 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2004 Sun Microsystems, Inc.
+.\"
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.\" X Window System is a trademark of The Open Group.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XAddHost.man,v 1.3 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XAddHost.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAddHost __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAddHost, XAddHosts, XListHosts, XRemoveHost, XRemoveHosts, XSetAccessControl, XEnableAccessControl, XDisableAccessControl, XHostAddress, XServerInterpretedAddress \- control host access and host control structure
+.SH SYNTAX
+.HP
+int XAddHost\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhost\fP\^);
+.HP
+int XAddHosts\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhosts\fP,
+int \fInum_hosts\fP\^);
+.HP
+XHostAddress *XListHosts\^(\^Display *\fIdisplay\fP, int *\fInhosts_return\fP,
+Bool \fIstate_return\fP\^);
+.HP
+int XRemoveHost\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhost\fP\^);
+.HP
+int XRemoveHosts\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhosts\fP, int \fInum_hosts\fP\^);
+.HP
+int XSetAccessControl\^(\^Display *\fIdisplay\fP, int \fImode\fP\^);
+.HP
+int XEnableAccessControl\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XDisableAccessControl\^(\^Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Ho added or removed
+.IP \fIhost\fP 1i
+Specifies the host that is to be \*(Ho.
+.ds Ho added or removed
+.IP \fIhosts\fP 1i
+Specifies each host that is to be \*(Ho.
+.IP \fImode\fP 1i
+Specifies the mode.
+You can pass
+.ZN EnableAccess
+or
+.ZN DisableAccess .
+.IP \fInhosts_return\fP 1i
+Returns the number of hosts currently in the access control list.
+.IP \fInum_hosts\fP 1i
+Specifies the number of hosts.
+.IP \fIstate_return\fP 1i
+Returns the state of the access control.
+.SH DESCRIPTION
+The
+.ZN XAddHost
+function adds the specified host to the access control list for that display.
+The server must be on the same host as the client issuing the command, or a
+.ZN BadAccess
+error results.
+.LP
+.ZN XAddHost
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XAddHosts
+function adds each specified host to the access control list for that display.
+The server must be on the same host as the client issuing the command, or a
+.ZN BadAccess
+error results.
+.LP
+.ZN XAddHosts
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XListHosts
+function returns the current access control list as well as whether the use
+of the list at connection setup was enabled or disabled.
+.ZN XListHosts
+allows a program to find out what machines can make connections.
+It also returns a pointer to a list of host structures that
+were allocated by the function.
+When no longer needed,
+this memory should be freed by calling
+.ZN XFree .
+.LP
+The
+.ZN XRemoveHost
+function removes the specified host from the access control list
+for that display.
+The server must be on the same host as the client process, or a
+.ZN BadAccess
+error results.
+If you remove your machine from the access list,
+you can no longer connect to that server,
+and this operation cannot be reversed unless you reset the server.
+.LP
+.ZN XRemoveHost
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XRemoveHosts
+function removes each specified host from the access control list for that
+display.
+The X server must be on the same host as the client process, or a
+.ZN BadAccess
+error results.
+If you remove your machine from the access list,
+you can no longer connect to that server,
+and this operation cannot be reversed unless you reset the server.
+.LP
+.ZN XRemoveHosts
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetAccessControl
+function either enables or disables the use of the access control list
+at each connection setup.
+.LP
+.ZN XSetAccessControl
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XEnableAccessControl
+function enables the use of the access control list at each connection setup.
+.LP
+.ZN XEnableAccessControl
+can generate a
+.ZN BadAccess
+error.
+.LP
+The
+.ZN XDisableAccessControl
+function disables the use of the access control list at each connection setup.
+.LP
+.ZN XDisableAccessControl
+can generate a
+.ZN BadAccess
+error.
+.SH STRUCTURES
+The
+.ZN XHostAddress
+structure contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int family; /\&* for example FamilyInternet */
+ int length; /\&* length of address, in bytes */
+ char *address; /\&* pointer to where to find the address */
+} XHostAddress;
+.De
+.LP
+The family member specifies which protocol address family to use
+(for example, TCP/IP or DECnet) and can be
+.ZN FamilyInternet ,
+.ZN FamilyInternet6 ,
+.ZN FamilyServerInterpreted ,
+.ZN FamilyDECnet ,
+or
+.ZN FamilyChaos .
+The length member specifies the length of the address in bytes.
+The address member specifies a pointer to the address.
+.LP
+For the ServerInterpreted family, the length is ignored and the address
+member is a pointer to a
+.ZN XServerInterpretedAddress
+structure which contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int typelength; /\&* length of type string, in bytes */
+ int valuelength; /\&* length of value string, in bytes */
+ char *type; /\&* pointer to where to find the type string */
+ char *value; /\&* pointer to where to find the address */
+} XServerInterpretedAddress;
+.De
+.LP
+The type and value members point to strings representing the type and value of
+the server interpreted entry. These strings may not be NULL-terminated so care
+should be used when accessing them. The typelength and valuelength members
+specify the length in byte of the type and value strings.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to modify the access control list from other than the local
+(or otherwise authorized) host.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XFree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllocClassHint.man b/libX11/man/XAllocClassHint.man
new file mode 100644
index 000000000..5145dd0a9
--- /dev/null
+++ b/libX11/man/XAllocClassHint.man
@@ -0,0 +1,266 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XACHints.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAllocClassHint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllocClassHint, XSetClassHint, XGetClassHint, XClassHint \- allocate class hints structure and set or read a window's WM_CLASS property
+.SH SYNTAX
+.HP
+XClassHint *XAllocClassHint\^(void\^);
+.HP
+XSetClassHint\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XClassHint *\fIclass_hints\fP\^);
+.HP
+Status XGetClassHint\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XClassHint *\fIclass_hints_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIclass_hints\fP 1i
+Specifies the
+.ZN XClassHint
+structure that is to be used.
+.IP \fIclass_hints_return\fP 1i
+Returns the
+.ZN XClassHint
+structure.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XAllocClassHint
+function allocates and returns a pointer to a
+.ZN XClassHint
+structure.
+Note that the pointer fields in the
+.ZN XClassHint
+structure are initially set to NULL.
+If insufficient memory is available,
+.ZN XAllocClassHint
+returns NULL.
+To free the memory allocated to this structure,
+use
+.ZN XFree .
+.LP
+The
+.ZN XSetClassHint
+function sets the class hint for the specified window.
+If the strings are not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+.LP
+.ZN XSetClassHint
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetClassHint
+function returns the class hint of the specified window to the members
+of the supplied structure.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned strings are in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+It returns a nonzero status on success;
+otherwise, it returns a zero status.
+To free res_name and res_class when finished with the strings,
+use
+.ZN XFree
+on each individually.
+.LP
+.ZN XGetClassHint
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_CLASS\s+1
+Set by application programs to allow window and session
+managers to obtain the application's resources from the resource database.
+.SH STRUCTURES
+The
+.ZN XClassHint
+structure contains:
+.LP
+.IN "XClassHint" "" "@DEF@"
+.Ds 0
+.TA .5i
+.ta .5i
+typedef struct {
+ char *res_name;
+ char *res_class;
+} XClassHint;
+.De
+.LP
+The res_name member contains the application name,
+and the res_class member contains the application class.
+Note that the name set in this property may differ from the name set as WM_NAME.
+That is, WM_NAME specifies what should be displayed in the title bar and,
+therefore, can contain temporal information (for example, the name of
+a file currently in an editor's buffer).
+On the other hand,
+the name specified as part of WM_CLASS is the formal name of the application
+that should be used when retrieving the application's resources from the
+resource database.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllocColor.man b/libX11/man/XAllocColor.man
new file mode 100644
index 000000000..ef379b0b2
--- /dev/null
+++ b/libX11/man/XAllocColor.man
@@ -0,0 +1,448 @@
+'\" e
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XAllColor.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" e
+.TH XAllocColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllocColor, XAllocNamedColor, XAllocColorCells, XAllocColorPlanes, XFreeColors \- allocate and free colors
+.SH SYNTAX
+.HP
+Status XAllocColor\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^,
+XColor *\fIscreen_in_out\fP\^);
+.HP
+Status XAllocNamedColor\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^,
+char *\fIcolor_name\fP\^, XColor *\fIscreen_def_return\fP\^, XColor
+*\fIexact_def_return\fP\^);
+.HP
+Status XAllocColorCells\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^,
+Bool \fIcontig\fP\^, unsigned long\fIplane_masks_return\fP[\^]\^, unsigned int
+\fInplanes\fP\^, unsigned long \fIpixels_return\fP[\^]\^, unsigned int
+\fInpixels\fP\^);
+.HP
+Status XAllocColorPlanes\^(\^Display *\fIdisplay\fP, Colormap
+\fIcolormap\fP\^, Bool \fIcontig\fP\^, unsigned long
+\fIpixels_return\fP[\^]\^, int \fIncolors\fP\^, int \fInreds\fP\^, int
+\fIngreens\fP\^, int \fInblues\fP\^, unsigned long *\fIrmask_return\fP\^,
+unsigned long *\fIgmask_return\fP\^, unsigned long *\fIbmask_return\fP\^);
+.HP
+int XFreeColors\^(\^Display *\fIdisplay\fP, Colormap \fIcolormap\fP\^, unsigned
+long \fIpixels\fP\^[\^], int \fInpixels\fP\^, unsigned long \fIplanes\fP\^);
+.IP \fIcolor_name\fP 1i
+Specifies the color name string (for example, red) whose color
+definition structure you want returned.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIcontig\fP 1i
+Specifies a Boolean value that indicates whether the planes must be contiguous.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIexact_def_return\fP 1i
+Returns the exact RGB values.
+.IP \fIncolors\fP 1i
+Specifies the number of pixel values that are to be returned in the
+pixels_return array.
+.IP \fInpixels\fP 1i
+Specifies the number of pixels.
+.IP \fInplanes\fP 1i
+Specifies the number of plane masks that are to be returned in the plane masks
+array.
+.IP \fInreds\fP 1i
+.br
+.ns
+.IP \fIngreens\fP 1i
+.br
+.ns
+.IP \fInblues\fP 1i
+.br
+.ns
+Specify the number of red, green, and blue planes.
+The value you pass must be nonnegative.
+.IP \fIpixels\fP 1i
+Specifies an array of pixel values.
+.IP \fIpixels_return\fP 1i
+Returns an array of pixel values.
+.IP \fIplane_mask_return\fP 1i
+Returns an array of plane masks.
+.\" *** JIM: NEED MORE INFO FOR THIS. ***
+.IP \fIplanes\fP 1i
+Specifies the planes you want to free.
+.IP \fIrmask_return\fP 1i
+.br
+.ns
+.IP \fIgmask_return\fP 1i
+.br
+.ns
+.IP \fIbmask_return\fP 1i
+Return bit masks for the red, green, and blue planes.
+.IP \fIscreen_def_return\fP 1i
+Returns the closest RGB values provided by the hardware.
+.IP \fIscreen_in_out\fP 1i
+Specifies and returns the values actually used in the colormap.
+.SH DESCRIPTION
+The
+.ZN XAllocColor
+function allocates a read-only colormap entry corresponding to the closest
+RGB value supported by the hardware.
+.ZN XAllocColor
+returns the pixel value of the color closest to the specified
+RGB elements supported by the hardware
+and returns the RGB value actually used.
+The corresponding colormap cell is read-only.
+In addition,
+.ZN XAllocColor
+returns nonzero if it succeeded or zero if it failed.
+.IN "Color map"
+.IN "Color" "allocation"
+.IN "Allocation" "colormap"
+.IN "read-only colormap cells"
+Multiple clients that request the same effective RGB value can be assigned
+the same read-only entry, thus allowing entries to be shared.
+When the last client deallocates a shared cell, it is deallocated.
+.ZN XAllocColor
+does not use or affect the flags in the
+.ZN XColor
+structure.
+.LP
+.ZN XAllocColor
+can generate a
+.ZN BadColor
+error.
+.LP
+The
+.ZN XAllocNamedColor
+function looks up the named color with respect to the screen that is
+associated with the specified colormap.
+It returns both the exact database definition and
+the closest color supported by the screen.
+The allocated color cell is read-only.
+The pixel value is returned in screen_def_return.
+If the color name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+If screen_def_return and exact_def_return
+point to the same structure, the pixel field will be set correctly,
+but the color values are undefined.
+.ZN XAllocNamedColor
+returns nonzero if a cell is allocated;
+otherwise, it returns zero.
+.LP
+.ZN XAllocNamedColor
+can generate a
+.ZN BadColor
+error.
+.LP
+.EQ
+delim %%
+.EN
+The
+.ZN XAllocColorCells
+function allocates read/write color cells.
+The number of colors must be positive and the number of planes nonnegative,
+or a
+.ZN BadValue
+error results.
+If ncolors and nplanes are requested,
+then ncolors pixels
+and nplane plane masks are returned.
+No mask will have any bits set to 1 in common with
+any other mask or with any of the pixels.
+By ORing together each pixel with zero or more masks,
+ncolors * %2 sup nplanes% distinct pixels can be produced.
+All of these are
+allocated writable by the request.
+For
+.ZN GrayScale
+or
+.ZN PseudoColor ,
+each mask has exactly one bit set to 1.
+For
+.ZN DirectColor ,
+each has exactly three bits set to 1.
+If contig is
+.ZN True
+and if all masks are ORed
+together, a single contiguous set of bits set to 1 will be formed for
+.ZN GrayScale
+or
+.ZN PseudoColor
+and three contiguous sets of bits set to 1 (one within each
+pixel subfield) for
+.ZN DirectColor .
+The RGB values of the allocated
+entries are undefined.
+.ZN XAllocColorCells
+returns nonzero if it succeeded or zero if it failed.
+.LP
+.ZN XAllocColorCells
+can generate
+.ZN BadColor
+and
+.ZN BadValue
+errors.
+.LP
+.EQ
+delim %%
+.EN
+The specified ncolors must be positive;
+and nreds, ngreens, and nblues must be nonnegative,
+or a
+.ZN BadValue
+error results.
+If ncolors colors, nreds reds, ngreens greens, and nblues blues are requested,
+ncolors pixels are returned; and the masks have nreds, ngreens, and
+nblues bits set to 1, respectively.
+If contig is
+.ZN True ,
+each mask will have
+a contiguous set of bits set to 1.
+No mask will have any bits set to 1 in common with
+any other mask or with any of the pixels.
+For
+.ZN DirectColor ,
+each mask
+will lie within the corresponding pixel subfield.
+By ORing together
+subsets of masks with each pixel value,
+ncolors * %2 sup (nreds+ngreens+nblues)% distinct pixel values can be produced.
+All of these are allocated by the request.
+However, in the
+colormap, there are only ncolors * %2 sup nreds% independent red entries,
+ncolors * %2 sup ngreens% independent green entries,
+and ncolors * %2 sup nblues% independent blue entries.
+This is true even for
+.ZN PseudoColor .
+When the colormap entry of a pixel
+value is changed (using
+.ZN XStoreColors ,
+.ZN XStoreColor ,
+or
+.ZN XStoreNamedColor ),
+the pixel is decomposed according to the masks,
+and the corresponding independent entries are updated.
+.ZN XAllocColorPlanes
+returns nonzero if it succeeded or zero if it failed.
+.LP
+.ZN XAllocColorPlanes
+can generate
+.ZN BadColor
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XFreeColors
+function frees the cells represented by pixels whose values are in the
+pixels array.
+The planes argument should not have any bits set to 1 in common with any of the
+pixels.
+The set of all pixels is produced by ORing together subsets of
+the planes argument with the pixels.
+The request frees all of these pixels that
+were allocated by the client (using
+.IN XAllocColor
+.IN XAllocNamedColor
+.IN XAllocColorCells
+.IN XAllocColorPlanes
+.ZN XAllocColor ,
+.ZN XAllocNamedColor ,
+.ZN XAllocColorCells ,
+and
+.ZN XAllocColorPlanes ).
+Note that freeing an
+individual pixel obtained from
+.ZN XAllocColorPlanes
+may not actually allow
+it to be reused until all of its related pixels are also freed.
+Similarly,
+a read-only entry is not actually freed until it has been freed by all clients,
+and if a client allocates the same read-only entry multiple times,
+it must free the entry that many times before the entry is actually freed.
+.LP
+All specified pixels that are allocated by the client in the colormap are
+freed, even if one or more pixels produce an error.
+If a specified pixel is not a valid index into the colormap, a
+.ZN BadValue
+error results.
+If a specified pixel is not allocated by the
+client (that is, is unallocated or is only allocated by another client)
+or if the colormap was created with all entries writable (by passing
+.ZN AllocAll
+to
+.ZN XCreateColormap ),
+a
+.ZN BadAccess
+error results.
+If more than one pixel is in error,
+the one that gets reported is arbitrary.
+.LP
+.ZN XFreeColors
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to free a color map entry that it did not already allocate.
+.TP 1i
+.ZN BadAccess
+A client attempted
+to store into a read-only color map entry.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCreateColormap(3X11),
+XQueryColor(3X11),
+XStoreColors(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllocIconSize.man b/libX11/man/XAllocIconSize.man
new file mode 100644
index 000000000..fb05d5962
--- /dev/null
+++ b/libX11/man/XAllocIconSize.man
@@ -0,0 +1,262 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XAIcSize.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAllocIconSize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllocIconSize, XSetIconSizes, XGetIconSizes, XIconSize \- allocate icon size structure and set or read a window's WM_ICON_SIZES property
+.SH SYNTAX
+XIconSize *XAllocIconSize\^(void\^);
+.LP
+int XSetIconSizes\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XIconSize
+*\fIsize_list\fP, int \fIcount\fP\^);
+.LP
+Status XGetIconSizes\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XIconSize
+**\fIsize_list_return\fP, int \fIcount_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIcount\fP 1i
+Specifies the number of items in the size list.
+.IP \fIcount_return\fP 1i
+Returns the number of items in the size list.
+.IP \fIsize_list\fP 1i
+Specifies the size list.
+.IP \fIsize_list_return\fP 1i
+Returns the size list.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XAllocIconSize
+function allocates and returns a pointer to a
+.ZN XIconSize
+structure.
+Note that all fields in the
+.ZN XIconSize
+structure are initially set to zero.
+If insufficient memory is available,
+.ZN XAllocIconSize
+returns NULL.
+To free the memory allocated to this structure,
+use
+.ZN XFree .
+.LP
+The
+.ZN XSetIconSizes
+function is used only by window managers to set the supported icon sizes.
+.LP
+.ZN XSetIconSizes
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetIconSizes
+function returns zero if a window manager has not set icon sizes;
+otherwise, it return nonzero.
+.ZN XGetIconSizes
+should be called by an application that
+wants to find out what icon sizes would be most appreciated by the
+window manager under which the application is running.
+The application
+should then use
+.ZN XSetWMHints
+to supply the window manager with an icon pixmap or window in one of the
+supported sizes.
+To free the data allocated in size_list_return, use
+.ZN XFree .
+.LP
+.ZN XGetIconSizes
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_ICON_SIZES\s+1
+The window manager may set this property on the root window to
+specify the icon sizes it supports.
+The C type of this property is
+.ZN XIconSize .
+.SH STRUCTURES
+The
+.ZN XIconSize
+structure contains:
+.LP
+.IN "XIconSize" "" "@DEF@"
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+} XIconSize;
+.De
+.LP
+The width_inc and height_inc members define an arithmetic progression of
+sizes (minimum to maximum) that represent the supported icon sizes.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllocSizeHints.man b/libX11/man/XAllocSizeHints.man
new file mode 100644
index 000000000..226b9d5f2
--- /dev/null
+++ b/libX11/man/XAllocSizeHints.man
@@ -0,0 +1,504 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XASHints.man,v 1.5 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XAllocSizeHints.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface, \fRO'Reilly and Associates,
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XAllocSizeHints __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllocSizeHints, XSetWMNormalHints, XGetWMNormalHints, XSetWMSizeHints, XGetWMSizeHints, XSizeHints \- allocate size hints structure and set or read a window's WM_NORMAL_HINTS property
+.SH SYNTAX
+.HP
+XSizeHints *XAllocSizeHints\^(void\^);
+.HP
+void XSetWMNormalHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XSizeHints *\fIhints\fP\^);
+.HP
+Status XGetWMNormalHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP,
+XSizeHints *\fIhints_return\fP, long *\fIsupplied_return\fP\^);
+.HP
+void XSetWMSizeHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XSizeHints
+*\fIhints\fP, Atom \fIproperty\fP\^);
+.HP
+Status XGetWMSizeHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XSizeHints
+*\fIhints_return\fP, long *\fIsupplied_return\fP, Atom \fIproperty\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIhints\fP 1i
+Specifies the size hints for the window in its normal state.
+.IP \fIhints\fP 1i
+Specifies the
+.ZN XSizeHints
+structure to be used.
+.IP \fIhints_return\fP 1i
+Returns the size hints for the window in its normal state.
+.IP \fIproperty\fP 1i
+Specifies the property name.
+.IP \fIsupplied_return\fP 1i
+Returns the hints that were supplied by the user.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XAllocSizeHints
+function allocates and returns a pointer to a
+.ZN XSizeHints
+structure.
+Note that all fields in the
+.ZN XSizeHints
+structure are initially set to zero.
+If insufficient memory is available,
+.ZN XAllocSizeHints
+returns NULL.
+To free the memory allocated to this structure,
+use
+.ZN XFree .
+.LP
+The
+.ZN XSetWMNormalHints
+function replaces the size hints for the WM_NORMAL_HINTS property
+on the specified window.
+If the property does not already exist,
+.ZN XSetWMNormalHints
+sets the size hints for the WM_NORMAL_HINTS property on the specified window.
+The property is stored with a type of WM_SIZE_HINTS and a format of 32.
+.LP
+.ZN XSetWMNormalHints
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetWMNormalHints
+function returns the size hints stored in the WM_NORMAL_HINTS property
+on the specified window.
+If the property is of type WM_SIZE_HINTS, is of format 32,
+and is long enough to contain either an old (pre-ICCCM)
+or new size hints structure,
+.ZN XGetWMNormalHints
+sets the various fields of the
+.ZN XSizeHints
+structure, sets the supplied_return argument to the list of fields
+that were supplied by the user (whether or not they contained defined values),
+and returns a nonzero status.
+Otherwise, it returns a zero status.
+.LP
+If
+.ZN XGetWMNormalHints
+returns successfully and a pre-ICCCM size hints property is read,
+the supplied_return argument will contain the following bits:
+.LP
+.Ds
+(USPosition|USSize|PPosition|PSize|PMinSize|
+ PMaxSize|PResizeInc|PAspect)
+.De
+.LP
+If the property is large enough to contain the base size
+and window gravity fields as well,
+the supplied_return argument will also contain the following bits:
+.LP
+.Ds
+PBaseSize|PWinGravity
+.De
+.LP
+.ZN XGetWMNormalHints
+can generate a
+PN BadWindow
+error.
+.LP
+The
+.ZN XSetWMSizeHints
+function replaces the size hints for the specified property
+on the named window.
+If the specified property does not already exist,
+.ZN XSetWMSizeHints
+sets the size hints for the specified property
+on the named window.
+The property is stored with a type of WM_SIZE_HINTS and a format of 32.
+To set a window's normal size hints,
+you can use the
+.ZN XSetWMNormalHints
+function.
+.LP
+.ZN XSetWMSizeHints
+can generate
+.ZN BadAlloc ,
+.ZN BadAtom ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetWMSizeHints
+function returns the size hints stored in the specified property
+on the named window.
+If the property is of type WM_SIZE_HINTS, is of format 32,
+and is long enough to contain either an old (pre-ICCCM)
+or new size hints structure,
+.ZN XGetWMSizeHints
+sets the various fields of the
+.ZN XSizeHints
+structure, sets the supplied_return argument to the
+list of fields that were supplied by the user
+(whether or not they contained defined values),
+and returns a nonzero status.
+Otherwise, it returns a zero status.
+To get a window's normal size hints,
+you can use the
+.ZN XGetWMNormalHints
+function.
+.LP
+If
+.ZN XGetWMSizeHints
+returns successfully and a pre-ICCCM size hints property is read,
+the supplied_return argument will contain the following bits:
+.LP
+.Ds
+(USPosition|USSize|PPosition|PSize|PMinSize|
+ PMaxSize|PResizeInc|PAspect)
+.De
+.LP
+If the property is large enough to contain the base size
+and window gravity fields as well,
+the supplied_return argument will also contain the following bits:
+.LP
+.Ds
+PBaseSize|PWinGravity
+.De
+.LP
+.ZN XGetWMSizeHints
+can generate
+.ZN BadAtom
+and
+.ZN BadWindow
+errors.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_NORMAL_HINTS\s+1
+Size hints for a window in its normal state.
+The C type of this property is
+.ZN XSizeHints .
+.SH STRUCTURES
+The
+.ZN XSizeHints
+structure contains:
+.LP
+/\&* Size hints mask bits */
+.TS
+lw(.5i) lw(1.1i) lw(1.5i) lw(3.1i).
+T{
+\&#define
+T} T{
+.ZN USPosition
+T} T{
+(1L << 0)
+T} T{
+/\&* user specified x, y */
+T}
+T{
+\&#define
+T} T{
+.ZN USSize
+T} T{
+(1L << 1)
+T} T{
+/\&* user specified width, height */
+T}
+T{
+\&#define
+T} T{
+.ZN PPosition
+T} T{
+(1L << 2)
+T} T{
+/\&* program specified position */
+T}
+T{
+\&#define
+T} T{
+.ZN PSize
+T} T{
+(1L << 3)
+T} T{
+/\&* program specified size */
+T}
+T{
+\&#define
+T} T{
+.ZN PMinSize
+T} T{
+(1L << 4)
+T} T{
+/\&* program specified minimum size */
+T}
+T{
+\&#define
+T} T{
+.ZN PMaxSize
+T} T{
+(1L << 5)
+T} T{
+/\&* program specified maximum size */
+T}
+T{
+\&#define
+T} T{
+.ZN PResizeInc
+T} T{
+(1L << 6)
+T} T{
+/\&* program specified resize increments */
+T}
+T{
+\&#define
+T} T{
+.ZN PAspect
+T} T{
+(1L << 7)
+T} T{
+/\&* program specified min and max aspect ratios */
+T}
+T{
+\&#define
+T} T{
+.ZN PBaseSize
+T} T{
+(1L << 8)
+T}
+T{
+\&#define
+T} T{
+.ZN PWinGravity
+T} T{
+(1L << 9)
+T}
+T{
+\&#define
+T} T{
+.ZN PAllHints
+T} T{
+(PPosition|PSize|
+.br
+PMinSize|PMaxSize|
+.br
+PResizeInc|PAspect)
+T} T{
+T}
+.TE
+.IN "XSizeHints" "" "@DEF@"
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+/\&* Values */
+
+typedef struct {
+ long flags; /\&* marks which fields in this structure are defined */
+ int x, y; /\&* Obsolete */
+ int width, height; /\&* Obsolete */
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+ struct {
+ int x; /\&* numerator */
+ int y; /\&* denominator */
+ } min_aspect, max_aspect;
+ int base_width, base_height;
+ int win_gravity;
+ /\&* this structure may be extended in the future */
+} XSizeHints;
+.De
+.LP
+The x, y, width, and height members are now obsolete
+and are left solely for compatibility reasons.
+The min_width and min_height members specify the
+minimum window size that still allows the application to be useful.
+The max_width and max_height members specify the maximum window size.
+The width_inc and height_inc members define an arithmetic progression of
+sizes (minimum to maximum) into which the window prefers to be resized.
+The min_aspect and max_aspect members are expressed
+as ratios of x and y,
+and they allow an application to specify the range of aspect
+ratios it prefers.
+The base_width and base_height members define the desired size of the window.
+The window manager will interpret the position of the window
+and its border width to position the point of the outer rectangle
+of the overall window specified by the win_gravity member.
+The outer rectangle of the window includes any borders or decorations
+supplied by the window manager.
+In other words,
+if the window manager decides to place the window where the client asked,
+the position on the parent window's border named by the win_gravity
+will be placed where the client window would have been placed
+in the absence of a window manager.
+.LP
+Note that use of the
+.ZN PAllHints
+macro is highly discouraged.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllocStandardColormap.man b/libX11/man/XAllocStandardColormap.man
new file mode 100644
index 000000000..0baf05ca5
--- /dev/null
+++ b/libX11/man/XAllocStandardColormap.man
@@ -0,0 +1,407 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XASCmap.man,v 1.5 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XAllocStandardColormap.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XAllocStandardColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllocStandardColormap, XSetRGBColormaps, XGetRGBColormaps, XStandardColormap \- allocate, set, or read a standard colormap structure
+.SH SYNTAX
+.HP
+XStandardColormap *XAllocStandardColormap\^(void\^);
+.HP
+void XSetRGBColormaps\^(\^Display *\fIdisplay\fP, Window \fIw\fP,
+XStandardColormap *\fIstd_colormap\fP,
+int \fIcount\fP, Atom \fIproperty\fP\^);
+.HP
+Status XGetRGBColormaps\^(\^Display *\fIdisplay\fP, Window \fIw\fP,
+XStandardColormap **\fIstd_colormap_return\fP, int *\fIcount_return\fP,
+Atom \fIproperty\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Cn colormaps
+.IP \fIcount\fP 1i
+Specifies the number of \*(Cn.
+.ds Cn colormaps
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIproperty\fP 1i
+Specifies the property name.
+.IP \fIstd_colormap\fP 1i
+Specifies the
+.ZN XStandardColormap
+structure to be used.
+.IP \fIstd_colormap_return\fP 1i
+Returns the
+.ZN XStandardColormap
+structure.
+.SH DESCRIPTION
+The
+.ZN XAllocStandardColormap
+function allocates and returns a pointer to a
+.ZN XStandardColormap
+structure.
+Note that all fields in the
+.ZN XStandardColormap
+structure are initially set to zero.
+If insufficient memory is available,
+.ZN XAllocStandardColormap
+returns NULL.
+To free the memory allocated to this structure,
+use
+.ZN XFree .
+.LP
+The
+.ZN XSetRGBColormaps
+function replaces the RGB colormap definition in the specified property
+on the named window.
+If the property does not already exist,
+.ZN XSetRGBColormaps
+sets the RGB colormap definition in the specified property
+on the named window.
+The property is stored with a type of RGB_COLOR_MAP and a format of 32.
+Note that it is the caller's responsibility to honor the ICCCM
+restriction that only RGB_DEFAULT_MAP contain more than one definition.
+.LP
+The
+.ZN XSetRGBColormaps
+function usually is only used by window or session managers.
+To create a standard colormap,
+follow this procedure:
+.IP 1. 5
+Open a new connection to the same server.
+.IP 2. 5
+Grab the server.
+.IP 3. 5
+See if the property is on the property list of the root window for the screen.
+.IP 4. 5
+If the desired property is not present:
+.RS
+.IP \(bu 5
+Create a colormap (unless you are using the default colormap of the screen).
+.IP \(bu 5
+Determine the color characteristics of the visual.
+.IP \(bu 5
+Allocate cells in the colormap (or create it with
+.ZN AllocAll ).
+.IP \(bu 5
+Call
+.ZN XStoreColors
+to store appropriate color values in the colormap.
+.IP \(bu 5
+Fill in the descriptive members in the
+.ZN XStandardColormap
+structure.
+.IP \(bu 5
+Attach the property to the root window.
+.IP \(bu 5
+Use
+.ZN XSetCloseDownMode
+to make the resource permanent.
+.RE
+.IP 5. 5
+Ungrab the server.
+.LP
+.ZN XSetRGBColormaps
+can generate
+.ZN BadAlloc ,
+.ZN BadAtom ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetRGBColormaps
+function returns the RGB colormap definitions stored
+in the specified property on the named window.
+If the property exists, is of type RGB_COLOR_MAP, is of format 32,
+and is long enough to contain a colormap definition,
+.ZN XGetRGBColormaps
+allocates and fills in space for the returned colormaps
+and returns a nonzero status.
+If the visualid is not present,
+.ZN XGetRGBColormaps
+assumes the default visual for the screen on which the window is located;
+if the killid is not present,
+.ZN None
+is assumed, which indicates that the resources cannot be released.
+Otherwise,
+none of the fields are set, and
+.ZN XGetRGBColormaps
+returns a zero status.
+Note that it is the caller's responsibility to honor the ICCCM
+restriction that only RGB_DEFAULT_MAP contain more than one definition.
+.LP
+.ZN XGetRGBColormaps
+can generate
+.ZN BadAtom
+and
+.ZN BadWindow
+errors.
+.SH STRUCTURES
+The
+.ZN XStandardColormap
+structure contains:
+.LP
+/\&* Hints */
+.TS
+lw(.5i) lw(2i) lw(1i).
+T{
+\&#define
+T} T{
+.ZN ReleaseByFreeingColormap
+T} T{
+( (XID) 1L)
+T}
+.TE
+/\&* Values */
+.IN "XStandardColormap" "" "@DEF@"
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ Colormap colormap;
+ unsigned long red_max;
+ unsigned long red_mult;
+ unsigned long green_max;
+ unsigned long green_mult;
+ unsigned long blue_max;
+ unsigned long blue_mult;
+ unsigned long base_pixel;
+ VisualID visualid;
+ XID killid;
+} XStandardColormap;
+.De
+.LP
+The colormap member is the colormap created by the
+.ZN XCreateColormap
+function.
+The red_max, green_max, and blue_max members give the maximum
+red, green, and blue values, respectively.
+Each color coefficient ranges from zero to its max, inclusive.
+For example,
+a common colormap allocation is 3/3/2 (3 planes for red, 3
+planes for green, and 2 planes for blue).
+This colormap would have red_max = 7, green_max = 7,
+and blue_max = 3.
+An alternate allocation that uses only 216 colors is red_max = 5,
+green_max = 5, and blue_max = 5.
+.LP
+The red_mult, green_mult, and blue_mult members give the
+scale factors used to compose a full pixel value.
+(See the discussion of the base_pixel members for further information.)
+For a 3/3/2 allocation, red_mult might be 32,
+green_mult might be 4, and blue_mult might be 1.
+For a 6-colors-each allocation, red_mult might be 36,
+green_mult might be 6, and blue_mult might be 1.
+.LP
+The base_pixel member gives the base pixel value used to
+compose a full pixel value.
+Usually, the base_pixel is obtained from a call to the
+.ZN XAllocColorPlanes
+function.
+Given integer red, green, and blue coefficients in their appropriate
+ranges, one then can compute a corresponding pixel value by
+using the following expression:
+.LP
+.Ds
+.TA .5i 1.5i
+.ta .5i 1.5i
+(r * red_mult + g * green_mult + b * blue_mult + base_pixel) & 0xFFFFFFFF
+.De
+.LP
+For
+.ZN GrayScale
+colormaps,
+only the colormap, red_max, red_mult,
+and base_pixel members are defined.
+The other members are ignored.
+To compute a
+.ZN GrayScale
+pixel value, use the following expression:
+.LP
+.Ds
+.TA .5i 1.5i
+.ta .5i 1.5i
+(gray * red_mult + base_pixel) & 0xFFFFFFFF
+.De
+.LP
+Negative multipliers can be represented by converting the 2's
+complement representation of the multiplier into an unsigned long and
+storing the result in the appropriate _mult field.
+The step of masking by 0xFFFFFFFF effectively converts the resulting
+positive multiplier into a negative one.
+The masking step will take place automatically on many machine architectures,
+depending on the size of the integer type used to do the computation,
+.LP
+The visualid member gives the ID number of the visual from which the
+colormap was created.
+The killid member gives a resource ID that indicates whether
+the cells held by this standard colormap are to be released
+by freeing the colormap ID or by calling the
+.ZN XKillClient
+function on the indicated resource.
+(Note that this method is necessary for allocating out of an existing colormap.)
+.LP
+The properties containing the
+.ZN XStandardColormap
+information have
+the type RGB_COLOR_MAP.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocColor(3X11),
+XCreateColormap(3X11),
+XFree(3X11),
+XSetCloseDownMode(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllocWMHints.man b/libX11/man/XAllocWMHints.man
new file mode 100644
index 000000000..9afaa7dfc
--- /dev/null
+++ b/libX11/man/XAllocWMHints.man
@@ -0,0 +1,418 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XAWMHints.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XAllocWMHints.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface, \fRO'Reilly and Associates, Sebastopol, 1991.
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XAllocWMHints __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllocWMHints, XSetWMHints, XGetWMHints, XWMHints \- allocate window manager hints structure and set or read a window's WM_HINTS property
+.SH SYNTAX
+.HP
+XWMHints *XAllocWMHints\^(void\^);
+.HP
+int XSetWMHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XWMHints *\fIwmhints\fP\^);
+.HP
+XWMHints *XGetWMHints\^(\^Display *\fIdisplay\fP, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIwmhints\fP 1i
+Specifies the
+.ZN XWMHints
+structure to be used.
+.SH DESCRIPTION
+The
+.ZN XAllocWMHints
+function allocates and returns a pointer to a
+.ZN XWMHints
+structure.
+Note that all fields in the
+.ZN XWMHints
+structure are initially set to zero.
+If insufficient memory is available,
+.ZN XAllocWMHints
+returns NULL.
+To free the memory allocated to this structure,
+use
+.ZN XFree .
+.LP
+The
+.ZN XSetWMHints
+function sets the window manager hints that include icon information and location,
+the initial state of the window, and whether the application relies on the
+window manager to get keyboard input.
+.LP
+.ZN XSetWMHints
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetWMHints
+function reads the window manager hints and
+returns NULL if no WM_HINTS property was set on the window
+or returns a pointer to a
+.ZN XWMHints
+structure if it succeeds.
+When finished with the data,
+free the space used for it by calling
+.ZN XFree .
+.LP
+.ZN XGetWMHints
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_HINTS\s+1
+Additional hints set by the client for use by the window manager.
+The C type of this property is
+.ZN XWMHints .
+.SH STRUCTURES
+The
+.ZN XWMHints
+structure contains:
+.LP
+/\&* Window manager hints mask bits */
+.TS
+lw(.5i) lw(2.5i) lw(2.5i).
+T{
+\&#define
+T} T{
+.ZN InputHint
+T} T{
+(1L << 0)
+T}
+T{
+\&#define
+T} T{
+.ZN StateHint
+T} T{
+(1L << 1)
+T}
+T{
+\&#define
+T} T{
+.ZN IconPixmapHint
+T} T{
+(1L << 2)
+T}
+T{
+\&#define
+T} T{
+.ZN IconWindowHint
+T} T{
+(1L << 3)
+T}
+T{
+\&#define
+T} T{
+.ZN IconPositionHint
+T} T{
+(1L << 4)
+T}
+T{
+\&#define
+T} T{
+.ZN IconMaskHint
+T} T{
+(1L << 5)
+T}
+T{
+\&#define
+T} T{
+.ZN WindowGroupHint
+T} T{
+(1L << 6)
+T}
+T{
+\&#define
+T} T{
+.ZN XUrgencyHint
+T} T{
+(1L << 8)
+T}
+T{
+\&#define
+T} T{
+.ZN AllHints
+T} T{
+(InputHint|StateHint|IconPixmapHint|
+.br
+IconWindowHint|IconPositionHint|
+.br
+IconMaskHint|WindowGroupHint)
+T}
+.TE
+.IN "XWMHints" "" "@DEF@"
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+/\&* Values */
+
+typedef struct {
+ long flags; /\&* marks which fields in this structure are defined */
+ Bool input; /\&* does this application rely on the window manager to
+ get keyboard input? */
+ int initial_state; /\&* see below */
+ Pixmap icon_pixmap; /\&* pixmap to be used as icon */
+ Window icon_window; /\&* window to be used as icon */
+ int icon_x, icon_y; /\&* initial position of icon */
+ Pixmap icon_mask; /\&* pixmap to be used as mask for icon_pixmap */
+ XID window_group; /\&* id of related window group */
+ /\&* this structure may be extended in the future */
+} XWMHints;
+.De
+.LP
+The input member is used to communicate to the window manager the input focus
+model used by the application.
+Applications that expect input but never explicitly set focus to any
+of their subwindows (that is, use the push model of focus management),
+such as X Version 10 style applications that use real-estate
+driven focus, should set this member to
+.ZN True .
+Similarly, applications
+that set input focus to their subwindows only when it is given to their
+top-level window by a window manager should also set this member to
+.ZN True .
+Applications that manage their own input focus by explicitly setting
+focus to one of their subwindows whenever they want keyboard input
+(that is, use the pull model of focus management) should set this member to
+.ZN False .
+Applications that never expect any keyboard input also should set this member
+to
+.ZN False .
+.LP
+Pull model window managers should make it possible for push model
+applications to get input by setting input focus to the top-level windows of
+applications whose input member is
+.ZN True .
+Push model window managers should
+make sure that pull model applications do not break them
+by resetting input focus to
+.ZN PointerRoot
+when it is appropriate (for example, whenever an application whose
+input member is
+.ZN False
+sets input focus to one of its subwindows).
+.LP
+The definitions for the initial_state flag are:
+.TS
+lw(.5i) lw(2i) lw(.2i) lw(2.8i).
+T{
+\&#define
+T} T{
+.ZN WithdrawnState
+T} T{
+0
+T} T{
+T}
+T{
+\&#define
+T} T{
+.ZN NormalState
+T} T{
+1
+T} T{
+/\&* most applications start this way */
+T}
+T{
+\&#define
+T} T{
+.ZN IconicState
+T} T{
+3
+T} T{
+/\&* application wants to start as an icon */
+T}
+.TE
+The icon_mask specifies which pixels of the icon_pixmap should be used as the
+icon.
+This allows for nonrectangular icons.
+Both icon_pixmap and icon_mask must be bitmaps.
+The icon_window lets an application provide a window for use as an icon
+for window managers that support such use.
+The window_group lets you specify that this window belongs to a group
+of other windows.
+For example, if a single application manipulates multiple
+top-level windows, this allows you to provide enough
+information that a window manager can iconify all of the windows
+rather than just the one window.
+.LP
+The
+.ZN UrgencyHint
+flag, if set in the flags field, indicates that the client deems the window
+contents to be urgent, requiring the timely response of the user. The
+window manager will make some effort to draw the user's attention to this
+window while this flag is set. The client must provide some means by which the
+user can cause the urgency flag to be cleared (either mitigating
+the condition that made the window urgent or merely shutting off the alarm)
+or the window to be withdrawn.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XAllowEvents.man b/libX11/man/XAllowEvents.man
new file mode 100644
index 000000000..8be58092a
--- /dev/null
+++ b/libX11/man/XAllowEvents.man
@@ -0,0 +1,190 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XAllEvnt.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAllowEvents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAllowEvents \- release queued events
+.SH SYNTAX
+.HP
+int XAllowEvents\^(\^Display *\fIdisplay\fP, int \fIevent_mode\fP\^,
+Time \fItime\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_mode\fP 1i
+Specifies the event mode.
+You can pass
+.ZN AsyncPointer ,
+.ZN SyncPointer ,
+.ZN AsyncKeyboard ,
+.ZN SyncKeyboard ,
+.ZN ReplayPointer ,
+.ZN ReplayKeyboard ,
+.ZN AsyncBoth ,
+or
+.ZN SyncBoth .
+.IP \fItime\fP 1i
+Specifies the time.
+You can pass either a timestamp or
+.ZN CurrentTime .
+.SH DESCRIPTION
+The
+.ZN XAllowEvents
+function releases some queued events if the client has caused a device
+to freeze.
+It has no effect if the specified time is earlier than the last-grab
+time of the most recent active grab for the client or if the specified time
+is later than the current X server time.
+.LP
+.ZN XAllowEvents
+can generate a
+.ZN BadValue
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XAnyEvent.man b/libX11/man/XAnyEvent.man
new file mode 100644
index 000000000..40be01eea
--- /dev/null
+++ b/libX11/man/XAnyEvent.man
@@ -0,0 +1,273 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XAnyEvent.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XAnyEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAnyEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAnyEvent, XEvent \- generic X event structures
+.SH STRUCTURES
+All the event structures declared in
+.Pn < X11/Xlib.h >
+have the following common members:
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type;
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+} XAnyEvent;
+.De
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The
+.ZN XEvent
+structure is a union of the individual structures declared for each event type:
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef union _XEvent {
+ int type; /\&* must not be changed */
+ XAnyEvent xany;
+ XKeyEvent xkey;
+ XButtonEvent xbutton;
+ XMotionEvent xmotion;
+ XCrossingEvent xcrossing;
+ XFocusChangeEvent xfocus;
+ XExposeEvent xexpose;
+ XGraphicsExposeEvent xgraphicsexpose;
+ XNoExposeEvent xnoexpose;
+ XVisibilityEvent xvisibility;
+ XCreateWindowEvent xcreatewindow;
+ XDestroyWindowEvent xdestroywindow;
+ XUnmapEvent xunmap;
+ XMapEvent xmap;
+ XMapRequestEvent xmaprequest;
+ XReparentEvent xreparent;
+ XConfigureEvent xconfigure;
+ XGravityEvent xgravity;
+ XResizeRequestEvent xresizerequest;
+ XConfigureRequestEvent xconfigurerequest;
+ XCirculateEvent xcirculate;
+ XCirculateRequestEvent xcirculaterequest;
+ XPropertyEvent xproperty;
+ XSelectionClearEvent xselectionclear;
+ XSelectionRequestEvent xselectionrequest;
+ XSelectionEvent xselection;
+ XColormapEvent xcolormap;
+ XClientMessageEvent xclient;
+ XMappingEvent xmapping;
+ XErrorEvent xerror;
+ XKeymapEvent xkeymap;
+ long pad[24];
+} XEvent;
+.De
+.LP
+An
+.ZN XEvent
+structure's first entry always is the type member,
+which is set to the event type.
+The second member always is the serial number of the protocol request
+that generated the event.
+The third member always is send_event,
+which is a
+.ZN Bool
+that indicates if the event was sent by a different client.
+The fourth member always is a display,
+which is the display that the event was read from.
+Except for keymap events,
+the fifth member always is a window,
+which has been carefully selected to be useful to toolkit dispatchers.
+To avoid breaking toolkits,
+the order of these first five entries is not to change.
+Most events also contain a time member,
+which is the time at which an event occurred.
+In addition, a pointer to the generic event must be cast before it
+is used to access any other information in the structure.
+.SH "SEE ALSO"
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XButtonEvent.man b/libX11/man/XButtonEvent.man
new file mode 100644
index 000000000..7cc3e540e
--- /dev/null
+++ b/libX11/man/XButtonEvent.man
@@ -0,0 +1,357 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XButEvent.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XButtonEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XButtonEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XButtonEvent, XKeyEvent, XMotionEvent \- KeyPress, KeyRelease, ButtonPress, ButtonRelease, and MotionNotify event structures
+.SH STRUCTURES
+The structures for
+.ZN KeyPress ,
+.ZN KeyRelease ,
+.ZN ButtonPress ,
+.ZN ButtonRelease ,
+and
+.ZN MotionNotify
+events contain:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* ButtonPress or ButtonRelease */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window; /\&* ``event'' window it is reported relative to */
+ Window root; /\&* root window that the event occurred on */
+ Window subwindow; /\&* child window */
+ Time time; /\&* milliseconds */
+ int x, y; /\&* pointer x, y coordinates in event window */
+ int x_root, y_root; /\&* coordinates relative to root */
+ unsigned int state; /\&* key or button mask */
+ unsigned int button; /\&* detail */
+ Bool same_screen; /\&* same screen flag */
+} XButtonEvent;
+typedef XButtonEvent XButtonPressedEvent;
+typedef XButtonEvent XButtonReleasedEvent;
+.De
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* KeyPress or KeyRelease */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window; /\&* ``event'' window it is reported relative to */
+ Window root; /\&* root window that the event occurred on */
+ Window subwindow; /\&* child window */
+ Time time; /\&* milliseconds */
+ int x, y; /\&* pointer x, y coordinates in event window */
+ int x_root, y_root; /\&* coordinates relative to root */
+ unsigned int state; /\&* key or button mask */
+ unsigned int keycode; /\&* detail */
+ Bool same_screen; /\&* same screen flag */
+} XKeyEvent;
+typedef XKeyEvent XKeyPressedEvent;
+typedef XKeyEvent XKeyReleasedEvent;
+.De
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* MotionNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window; /\&* ``event'' window reported relative to */
+ Window root; /\&* root window that the event occurred on */
+ Window subwindow; /\&* child window */
+ Time time; /\&* milliseconds */
+ int x, y; /\&* pointer x, y coordinates in event window */
+ int x_root, y_root; /\&* coordinates relative to root */
+ unsigned int state; /\&* key or button mask */
+ char is_hint; /\&* detail */
+ Bool same_screen; /\&* same screen flag */
+} XMotionEvent;
+typedef XMotionEvent XPointerMovedEvent;
+.De
+.LP
+When you receive these events,
+their structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+These structures have the following common members:
+window, root, subwindow, time, x, y, x_root, y_root, state, and same_screen.
+The window member is set to the window on which the
+event was generated and is referred to as the event window.
+As long as the conditions previously discussed are met,
+this is the window used by the X server to report the event.
+The root member is set to the source window's root window.
+The x_root and y_root members are set to the pointer's coordinates
+relative to the root window's origin at the time of the event.
+.LP
+The same_screen member is set to indicate whether the event
+window is on the same screen
+as the root window and can be either
+.ZN True
+or
+.ZN False .
+If
+.ZN True ,
+the event and root windows are on the same screen.
+If
+.ZN False ,
+the event and root windows are not on the same screen.
+.LP
+If the source window is an inferior of the event window,
+the subwindow member of the structure is set to the child of the event window
+that is the source window or the child of the event window that is
+an ancestor of the source window.
+Otherwise, the X server sets the subwindow member to
+.ZN None .
+The time member is set to the time when the event was generated
+and is expressed in milliseconds.
+.LP
+If the event window is on the same screen as the root window,
+the x and y members
+are set to the coordinates relative to the event window's origin.
+Otherwise, these members are set to zero.
+.LP
+The state member is set to indicate the logical state of the pointer buttons
+and modifier keys just prior to the event,
+which is the bitwise inclusive OR of one or more of the
+button or modifier key masks:
+.ZN Button1Mask ,
+.ZN Button2Mask ,
+.ZN Button3Mask ,
+.ZN Button4Mask ,
+.ZN Button5Mask ,
+.ZN ShiftMask ,
+.ZN LockMask ,
+.ZN ControlMask ,
+.ZN Mod1Mask ,
+.ZN Mod2Mask ,
+.ZN Mod3Mask ,
+.ZN Mod4Mask ,
+and
+.ZN Mod5Mask .
+.LP
+Each of these structures also has a member that indicates the detail.
+For the
+.ZN XKeyPressedEvent
+and
+.ZN XKeyReleasedEvent
+structures, this member is called a keycode.
+It is set to a number that represents a physical key on the keyboard.
+The keycode is an arbitrary representation for any key on the keyboard
+(see sections 12.7 and 16.1).
+.LP
+For the
+.ZN XButtonPressedEvent
+and
+.ZN XButtonReleasedEvent
+structures, this member is called button.
+It represents the pointer button that changed state and can be the
+.ZN Button1 ,
+.ZN Button2 ,
+.ZN Button3 ,
+.ZN Button4 ,
+or
+.ZN Button5
+value.
+For the
+.ZN XPointerMovedEvent
+structure, this member is called is_hint.
+It can be set to
+.ZN NotifyNormal
+or
+.ZN NotifyHint .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XChangeKeyboardControl.man b/libX11/man/XChangeKeyboardControl.man
new file mode 100644
index 000000000..dd3225d97
--- /dev/null
+++ b/libX11/man/XChangeKeyboardControl.man
@@ -0,0 +1,450 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCKCntrl.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XChangeKeyboardControl.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XChangeKeyboardControl __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XChangeKeyboardControl, XGetKeyboardControl, XAutoRepeatOn, XAutoRepeatOff, XBell, XQueryKeymap, XKeyboardControl \- manipulate keyboard settings and keyboard control structure
+.SH SYNTAX
+.HP
+int XChangeKeyboardControl\^(\^Display *\fIdisplay\fP, unsigned long
+\fIvalue_mask\fP\^, XKeyboardControl *\fIvalues\fP\^);
+.HP
+int XGetKeyboardControl\^(\^Display *\fIdisplay\fP, XKeyboardState
+*\fIvalues_return\fP\^);
+.HP
+int XAutoRepeatOn\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XAutoRepeatOff\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XBell\^(\^Display *\fIdisplay\fP, int \fIpercent\fP\^);
+.HP
+int XQueryKeymap\^(\^Display *\fIdisplay\fP, char \fIkeys_return\fP[32]\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIkeys_return\fP 1i
+Returns an array of bytes that identifies which keys are pressed down.
+Each bit represents one key of the keyboard.
+.IP \fIpercent\fP 1i
+Specifies the volume for the bell,
+which can range from \-100 to 100 inclusive.
+.IP \fIvalue_mask\fP 1i
+Specifies which controls to change.
+This mask is the bitwise inclusive OR of the valid control mask bits.
+.IP \fIvalues\fP 1i
+Specifies one value for each bit set to 1 in the mask.
+.IP \fIvalues_return\fP 1i
+Returns the current keyboard controls in the specified
+.ZN XKeyboardState
+structure.
+.SH DESCRIPTION
+The
+.ZN XChangeKeyboardControl
+function controls the keyboard characteristics defined by the
+.ZN XKeyboardControl
+structure.
+The value_mask argument specifies which values are to be changed.
+.LP
+.ZN XChangeKeyboardControl
+can generate
+.ZN BadMatch
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetKeyboardControl
+function returns the current control values for the keyboard to the
+.ZN XKeyboardState
+structure.
+.LP
+The
+.ZN XAutoRepeatOn
+function turns on auto-repeat for the keyboard on the specified display.
+.LP
+The
+.ZN XAutoRepeatOff
+function turns off auto-repeat for the keyboard on the specified display.
+.LP
+The
+.ZN XBell
+function rings the bell on the keyboard on the specified display, if possible.
+The specified volume is relative to the base volume for the keyboard.
+If the value for the percent argument is not in the range \-100 to 100
+inclusive, a
+.ZN BadValue
+error results.
+The volume at which the bell rings
+when the percent argument is nonnegative is:
+.IP
+base \- [(base * percent) / 100] + percent
+.LP
+The volume at which the bell rings
+when the percent argument is negative is:
+.IP
+base + [(base * percent) / 100]
+.LP
+To change the base volume of the bell, use
+.ZN XChangeKeyboardControl .
+.LP
+.ZN XBell
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XQueryKeymap
+function returns a bit vector for the logical state of the keyboard,
+where each bit set to 1 indicates that the corresponding key is currently
+pressed down.
+The vector is represented as 32 bytes.
+Byte N (from 0) contains the bits for keys 8N to 8N + 7
+with the least significant bit in the byte representing key 8N.
+.LP
+Note that the logical state of a device (as seen by client applications)
+may lag the physical state if device event processing is frozen.
+.SH STRUCTURES
+The
+.ZN XKeyboardControl
+structure contains:
+.LP
+.LP
+/\&* Mask bits for ChangeKeyboardControl */
+.TS
+lw(.5i) lw(2.5i) lw(.8i).
+T{
+\&#define
+T} T{
+.ZN KBKeyClickPercent
+T} T{
+(1L<<0)
+T}
+T{
+\&#define
+T} T{
+.ZN KBBellPercent
+T} T{
+(1L<<1)
+T}
+T{
+\&#define
+T} T{
+.ZN KBBellPitch
+T} T{
+(1L<<2)
+T}
+T{
+\&#define
+T} T{
+.ZN KBBellDuration
+T} T{
+(1L<<3)
+T}
+T{
+\&#define
+T} T{
+.ZN KBLed
+T} T{
+(1L<<4)
+T}
+T{
+\&#define
+T} T{
+.ZN KBLedMode
+T} T{
+(1L<<5)
+T}
+T{
+\&#define
+T} T{
+.ZN KBKey
+T} T{
+(1L<<6)
+T}
+T{
+\&#define
+T} T{
+.ZN KBAutoRepeatMode
+T} T{
+(1L<<7)
+T}
+.TE
+.IN "XKeyboardControl" "" "@DEF@"
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+/\&* Values */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ int bell_pitch;
+ int bell_duration;
+ int led;
+ int led_mode; /\&* LedModeOn, LedModeOff */
+ int key;
+ int auto_repeat_mode; /\&* AutoRepeatModeOff, AutoRepeatModeOn,
+ AutoRepeatModeDefault */
+} XKeyboardControl;
+.De
+.LP
+The key_click_percent member sets the volume for key clicks between 0 (off)
+and 100 (loud) inclusive, if possible.
+A setting of \-1 restores the default.
+Other negative values generate a
+.ZN BadValue
+error.
+.LP
+The bell_percent sets the base volume for the bell between 0 (off) and 100
+(loud) inclusive, if possible.
+A setting of \-1 restores the default.
+Other negative values generate a
+.ZN BadValue
+error.
+The bell_pitch member sets the pitch (specified in Hz) of the bell, if possible.
+A setting of \-1 restores the default.
+Other negative values generate a
+.ZN BadValue
+error.
+The bell_duration member sets the duration of the
+bell specified in milliseconds, if possible.
+A setting of \-1 restores the default.
+Other negative values generate a
+.ZN BadValue
+error.
+.LP
+If both the led_mode and led members are specified,
+the state of that LED is changed, if possible.
+The led_mode member can be set to
+.ZN LedModeOn
+or
+.ZN LedModeOff .
+If only led_mode is specified, the state of
+all LEDs are changed, if possible.
+At most 32 LEDs numbered from one are supported.
+No standard interpretation of LEDs is defined.
+If led is specified without led_mode, a
+.ZN BadMatch
+error results.
+.LP
+If both the auto_repeat_mode and key members are specified,
+the auto_repeat_mode of that key is changed (according to
+.ZN AutoRepeatModeOn ,
+.ZN AutoRepeatModeOff ,
+or
+.ZN AutoRepeatModeDefault ),
+if possible.
+If only auto_repeat_mode is
+specified, the global auto_repeat_mode for the entire keyboard is
+changed, if possible, and does not affect the per-key settings.
+If a key is specified without an auto_repeat_mode, a
+.ZN BadMatch
+error results.
+Each key has an individual mode of whether or not it should auto-repeat
+and a default setting for the mode.
+In addition,
+there is a global mode of whether auto-repeat should be enabled or not
+and a default setting for that mode.
+When global mode is
+.ZN AutoRepeatModeOn ,
+keys should obey their individual auto-repeat modes.
+When global mode is
+.ZN AutoRepeatModeOff ,
+no keys should auto-repeat.
+An auto-repeating key generates alternating
+.ZN KeyPress
+and
+.ZN KeyRelease
+events.
+When a key is used as a modifier,
+it is desirable for the key not to auto-repeat,
+regardless of its auto-repeat setting.
+.LP
+The
+.ZN XKeyboardState
+structure contains:
+.LP
+.Ds 0
+.TA .5i
+.ta .5i
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ unsigned int bell_pitch, bell_duration;
+ unsigned long led_mask;
+ int global_auto_repeat;
+ char auto_repeats[32];
+} XKeyboardState;
+.De
+.LP
+For the LEDs,
+the least significant bit of led_mask corresponds to LED one,
+and each bit set to 1 in led_mask indicates an LED that is lit.
+The global_auto_repeat member can be set to
+.ZN AutoRepeatModeOn
+or
+.ZN AutoRepeatModeOff .
+The auto_repeats member is a bit vector.
+Each bit set to 1 indicates that auto-repeat is enabled
+for the corresponding key.
+The vector is represented as 32 bytes.
+Byte N (from 0) contains the bits for keys 8N to 8N + 7
+with the least significant bit in the byte representing key 8N.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XChangeKeyboardMapping(3X11),
+XSetPointerMapping(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XChangeKeyboardMapping.man b/libX11/man/XChangeKeyboardMapping.man
new file mode 100644
index 000000000..e157ec926
--- /dev/null
+++ b/libX11/man/XChangeKeyboardMapping.man
@@ -0,0 +1,449 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCKMping.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XChangeKeyboardMapping.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XChangeKeyboardMapping __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XChangeKeyboardMapping, XGetKeyboardMapping, XDisplayKeycodes, XSetModifierMapping, XGetModifierMapping, XNewModifiermap, XInsertModifiermapEntry, XDeleteModifiermapEntry, XFreeModifierMap XModifierKeymap \- manipulate keyboard encoding and keyboard encoding structure
+.SH SYNTAX
+.HP
+int XChangeKeyboardMapping(\^Display *\fIdisplay\fP, int \fIfirst_keycode\fP,
+int \fIkeysyms_per_keycode\fP, KeySym *\fIkeysyms\fP, int \fInum_codes\fP\^);
+.HP
+KeySym *XGetKeyboardMapping(\^Display *\fIdisplay\fP, KeyCode
+\fIfirst_keycode\fP, int \fIkeycode_count\fP, int
+*\fIkeysyms_per_keycode_return\fP\^);
+.HP
+int XDisplayKeycodes\^(\^Display *\fIdisplay\fP\^, int
+*\fImin_keycodes_return\fP\^, int *\fImax_keycodes_return\fP\^);
+.HP
+int XSetModifierMapping(\^Display *\fIdisplay\fP, XModifierKeymap
+*\fImodmap\fP\^);
+.HP
+XModifierKeymap *XGetModifierMapping(\^Display *\fIdisplay\fP\^);
+.HP
+XModifierKeymap *XNewModifiermap(\^int \fImax_keys_per_mod\fP\^);
+.HP
+XModifierKeymap *XInsertModifiermapEntry\^(\^XModifierKeymap *\fImodmap\fP,
+KeyCode \fIkeycode_entry\fP, int \fImodifier\fP\^);
+.HP
+XModifierKeymap *XDeleteModifiermapEntry\^(\^XModifierKeymap *\fImodmap\fP,
+KeyCode \fIkeycode_entry\fP, int \fImodifier\fP\^);
+.HP
+int XFreeModifiermap(\^XModifierKeymap *\fImodmap\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Kc changed or returned
+.IP \fIfirst_keycode\fP 1i
+Specifies the first KeyCode that is to be \*(Kc.
+.IP \fIkeycode_count\fP 1i
+Specifies the number of KeyCodes that are to be returned.
+.IP \fIkeycode_entry\fP 1i
+Specifies the KeyCode.
+.IP \fIkeysyms\fP 1i
+Specifies an array of KeySyms.
+.IP \fIkeysyms_per_keycode\fP 1i
+Specifies the number of KeySyms per KeyCode.
+.IP \fIkeysyms_per_keycode_return\fP 1i
+Returns the number of KeySyms per KeyCode.
+.IP \fImax_keys_per_mod\fP 1i
+Specifies the number of KeyCode entries preallocated to the modifiers
+in the map.
+.IP \fImax_keycodes_return\fP 1i
+Returns the maximum number of KeyCodes.
+.IP \fImin_keycodes_return\fP 1i
+Returns the minimum number of KeyCodes.
+.IP \fImodifier\fP 1i
+Specifies the modifier.
+.IP \fImodmap\fP 1i
+Specifies the
+.ZN XModifierKeymap
+structure.
+.IP \fInum_codes\fP 1i
+Specifies the number of KeyCodes that are to be changed.
+.SH DESCRIPTION
+The
+.ZN XChangeKeyboardMapping
+function defines the symbols for the specified number of KeyCodes
+starting with first_keycode.
+The symbols for KeyCodes outside this range remain unchanged.
+The number of elements in keysyms must be:
+.LP
+.Ds
+num_codes * keysyms_per_keycode
+.De
+.LP
+The specified first_keycode must be greater than or equal to min_keycode
+returned by
+.ZN XDisplayKeycodes ,
+or a
+.ZN BadValue
+error results.
+In addition, the following expression must be less than or equal to
+max_keycode as returned by
+.ZN XDisplayKeycodes ,
+or a
+.ZN BadValue
+error results:
+.LP
+.Ds
+first_keycode + num_codes \- 1
+.De
+.LP
+KeySym number N, counting from zero, for KeyCode K has the following index
+in keysyms, counting from zero:
+.LP
+.Ds
+(K \- first_keycode) * keysyms_per_keycode + N
+.De
+.LP
+The specified keysyms_per_keycode can be chosen arbitrarily by the client
+to be large enough to hold all desired symbols.
+A special KeySym value of
+.ZN NoSymbol
+should be used to fill in unused elements
+for individual KeyCodes.
+It is legal for
+.ZN NoSymbol
+to appear in nontrailing positions
+of the effective list for a KeyCode.
+.ZN XChangeKeyboardMapping
+generates a
+.ZN MappingNotify
+event.
+.LP
+There is no requirement that the X server interpret this mapping.
+It is merely stored for reading and writing by clients.
+.LP
+.ZN XChangeKeyboardMapping
+can generate
+.ZN BadAlloc
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetKeyboardMapping
+function returns the symbols for the specified number of KeyCodes
+starting with first_keycode.
+The value specified in first_keycode must be greater than
+or equal to min_keycode as returned by
+.ZN XDisplayKeycodes ,
+or a
+.ZN BadValue
+error results.
+In addition, the following expression must be less than or equal
+to max_keycode as returned by
+.ZN XDisplayKeycodes :
+.LP
+.Ds
+first_keycode + keycode_count \- 1
+.De
+.LP
+If this is not the case, a
+.ZN BadValue
+error results.
+The number of elements in the KeySyms list is:
+.LP
+.Ds
+keycode_count * keysyms_per_keycode_return
+.De
+.LP
+KeySym number N, counting from zero, for KeyCode K has the following index
+in the list, counting from zero:
+.Ds
+(K \- first_code) * keysyms_per_code_return + N
+.De
+.LP
+The X server arbitrarily chooses the keysyms_per_keycode_return value
+to be large enough to report all requested symbols.
+A special KeySym value of
+.ZN NoSymbol
+is used to fill in unused elements for
+individual KeyCodes.
+To free the storage returned by
+.ZN XGetKeyboardMapping ,
+use
+.ZN XFree .
+.LP
+.ZN XGetKeyboardMapping
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XDisplayKeycodes
+function returns the min-keycodes and max-keycodes supported by the
+specified display.
+The minimum number of KeyCodes returned is never less than 8,
+and the maximum number of KeyCodes returned is never greater than 255.
+Not all KeyCodes in this range are required to have corresponding keys.
+.LP
+The
+.ZN XSetModifierMapping
+function specifies the KeyCodes of the keys (if any) that are to be used
+as modifiers.
+If it succeeds,
+the X server generates a
+.ZN MappingNotify
+event, and
+.ZN XSetModifierMapping
+returns
+.ZN MappingSuccess .
+X permits at most 8 modifier keys.
+If more than 8 are specified in the
+.ZN XModifierKeymap
+structure, a
+.ZN BadLength
+error results.
+.LP
+The modifiermap member of the
+.ZN XModifierKeymap
+structure contains 8 sets of max_keypermod KeyCodes,
+one for each modifier in the order
+.ZN Shift ,
+.ZN Lock ,
+.ZN Control ,
+.ZN Mod1 ,
+.ZN Mod2 ,
+.ZN Mod3 ,
+.ZN Mod4 ,
+and
+.ZN Mod5 .
+Only nonzero KeyCodes have meaning in each set,
+and zero KeyCodes are ignored.
+In addition, all of the nonzero KeyCodes must be in the range specified by
+min_keycode and max_keycode in the
+.ZN Display
+structure,
+or a
+.ZN BadValue
+error results.
+.LP
+An X server can impose restrictions on how modifiers can be changed,
+for example,
+if certain keys do not generate up transitions in hardware,
+if auto-repeat cannot be disabled on certain keys,
+or if multiple modifier keys are not supported.
+If some such restriction is violated,
+the status reply is
+.ZN MappingFailed ,
+and none of the modifiers are changed.
+If the new KeyCodes specified for a modifier differ from those
+currently defined and any (current or new) keys for that modifier are
+in the logically down state,
+.ZN XSetModifierMapping
+returns
+.ZN MappingBusy ,
+and none of the modifiers is changed.
+.LP
+.ZN XSetModifierMapping
+can generate
+.ZN BadAlloc
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetModifierMapping
+function returns a pointer to a newly created
+.ZN XModifierKeymap
+structure that contains the keys being used as modifiers.
+The structure should be freed after use by calling
+.ZN XFreeModifiermap .
+If only zero values appear in the set for any modifier,
+that modifier is disabled.
+.LP
+The
+.ZN XNewModifiermap
+function returns a pointer to
+.ZN XModifierKeymap
+structure for later use.
+.LP
+The
+.ZN XInsertModifiermapEntry
+function adds the specified KeyCode to the set that controls the specified
+modifier and returns the resulting
+.ZN XModifierKeymap
+structure (expanded as needed).
+.LP
+The
+.ZN XDeleteModifiermapEntry
+function deletes the specified KeyCode from the set that controls the
+specified modifier and returns a pointer to the resulting
+.ZN XModifierKeymap
+structure.
+.LP
+The
+.ZN XFreeModifiermap
+function frees the specified
+.ZN XModifierKeymap
+structure.
+.SH STRUCTURES
+The
+.ZN XModifierKeymap
+structure contains:
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ int max_keypermod; /\&* This server's max number of keys per modifier */
+ KeyCode *modifiermap; /\&* An 8 by max_keypermod array of the modifiers */
+} XModifierKeymap;
+.De
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XFree(3X11),
+XSetPointerMapping(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XChangePointerControl.man b/libX11/man/XChangePointerControl.man
new file mode 100644
index 000000000..258043286
--- /dev/null
+++ b/libX11/man/XChangePointerControl.man
@@ -0,0 +1,215 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCPCntrl.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XChangePointerControl __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XChangePointerControl, XGetPointerControl \- control pointer
+.SH SYNTAX
+.HP
+int XChangePointerControl\^(\^Display *\fIdisplay\fP\^, Bool \fIdo_accel\fP\^,
+Bool \fIdo_threshold\fP\^, int \fIaccel_numerator\fP\^, int
+\fIaccel_denominator\fP\^, int \fIthreshold\fP\^);
+.HP
+int XGetPointerControl\^(\^Display *\fIdisplay\fP\^, int
+*\fIaccel_numerator_return\fP\^, int *\fIaccel_denominator_return\fP\^, int
+*\fIthreshold_return\fP\^);
+.SH ARGUMENTS
+.IP \fIaccel_denominator\fP 1i
+Specifies the denominator for the acceleration multiplier.
+.IP \fIaccel_denominator_return\fP 1i
+Returns the denominator for the acceleration multiplier.
+.IP \fIaccel_numerator\fP 1i
+Specifies the numerator for the acceleration multiplier.
+.IP \fIaccel_numerator_return\fP 1i
+Returns the numerator for the acceleration multiplier.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIdo_accel\fP 1i
+Specifies a Boolean value that controls whether the values for
+the accel_numerator or accel_denominator are used.
+.IP \fIdo_threshold\fP 1i
+Specifies a Boolean value that controls whether the value for the
+threshold is used.
+.IP \fIthreshold\fP 1i
+Specifies the acceleration threshold.
+.IP \fIthreshold_return\fP 1i
+Returns the acceleration threshold.
+.SH DESCRIPTION
+The
+.ZN XChangePointerControl
+function defines how the pointing device moves.
+The acceleration, expressed as a fraction, is a
+multiplier for movement.
+For example,
+specifying 3/1 means the pointer moves three times as fast as normal.
+The fraction may be rounded arbitrarily by the X server.
+Acceleration
+only takes effect if the pointer moves more than threshold pixels at
+once and only applies to the amount beyond the value in the threshold argument.
+Setting a value to \-1 restores the default.
+The values of the do_accel and do_threshold arguments must be
+.ZN True
+for the pointer values to be set,
+or the parameters are unchanged.
+Negative values (other than \-1) generate a
+.ZN BadValue
+error, as does a zero value
+for the accel_denominator argument.
+.LP
+.ZN XChangePointerControl
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XGetPointerControl
+function returns the pointer's current acceleration multiplier
+and acceleration threshold.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XChangeSaveSet.man b/libX11/man/XChangeSaveSet.man
new file mode 100644
index 000000000..8ccc6c96a
--- /dev/null
+++ b/libX11/man/XChangeSaveSet.man
@@ -0,0 +1,228 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCSSet.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XChangeSaveSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XChangeSaveSet, XAddToSaveSet, XRemoveFromSaveSet \- change a client's save set
+.SH SYNTAX
+.HP
+int XChangeSaveSet\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int \fIchange_mode\fP\^);
+.HP
+int XAddToSaveSet\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XRemoveFromSaveSet\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIchange_mode\fP 1i
+Specifies the mode.
+You can pass
+.ZN SetModeInsert
+or
+.ZN SetModeDelete .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Wi that you want to add or delete from the client's save-set
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+Depending on the specified mode,
+.ZN XChangeSaveSet
+either inserts or deletes the specified window from the client's save-set.
+The specified window must have been created by some other client,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XChangeSaveSet
+can generate
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XAddToSaveSet
+function adds the specified window to the client's save-set.
+The specified window must have been created by some other client,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XAddToSaveSet
+can generate
+.ZN BadMatch
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XRemoveFromSaveSet
+function removes the specified window from the client's save-set.
+The specified window must have been created by some other client,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XRemoveFromSaveSet
+can generate
+.ZN BadMatch
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XReparentWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XChangeWindowAttributes.man b/libX11/man/XChangeWindowAttributes.man
new file mode 100644
index 000000000..1de752407
--- /dev/null
+++ b/libX11/man/XChangeWindowAttributes.man
@@ -0,0 +1,406 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCWAttrib.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XChangeWindowAttributes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XChangeWindowAttributes, XSetWindowBackground, XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap, XSetWindowColormap \- change window attributes
+.SH SYNTAX
+.HP
+int XChangeWindowAttributes\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned long \fIvaluemask\fP\^, XSetWindowAttributes *\fIattributes\fP\^);
+.HP
+int XSetWindowBackground\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned long \fIbackground_pixel\fP\^);
+.HP
+int XSetWindowBackgroundPixmap\^(\^Display *\fIdisplay\fP\^, Window
+\fIw\fP\^, Pixmap \fIbackground_pixmap\fP\^);
+.HP
+int XSetWindowBorder\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned long \fIborder_pixel\fP\^);
+.HP
+int XSetWindowBorderPixmap\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Pixmap \fIborder_pixmap\fP\^);
+.HP
+int XSetWindowColormap\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Colormap \fIcolormap\fP\^);
+.SH ARGUMENTS
+.IP \fIattributes\fP 1i
+Specifies the structure from which the values (as specified by the value mask)
+are to be taken.
+The value mask should have the appropriate bits
+set to indicate which attributes have been set in the structure.
+.IP \fIbackground_pixel\fP 1i
+Specifies the pixel that is to be used for the background.
+.IP \fIbackground_pixmap\fP 1i
+Specifies the background pixmap,
+.ZN ParentRelative ,
+or
+.ZN None .
+.IP \fIborder_pixel\fP 1i
+Specifies the entry in the colormap.
+.IP \fIborder_pixmap\fP 1i
+Specifies the border pixmap or
+.ZN CopyFromParent .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIvaluemask\fP 1i
+Specifies which window attributes are defined in the attributes
+argument.
+This mask is the bitwise inclusive OR of the valid attribute mask bits.
+If valuemask is zero,
+the attributes are ignored and are not referenced.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.SH DESCRIPTION
+Depending on the valuemask,
+the
+.ZN XChangeWindowAttributes
+function uses the window attributes in the
+.ZN XSetWindowAttributes
+structure to change the specified window attributes.
+Changing the background does not cause the window contents to be
+changed.
+To repaint the window and its background, use
+.ZN XClearWindow .
+Setting the border or changing the background such that the
+border tile origin changes causes the border to be repainted.
+Changing the background of a root window to
+.ZN None
+or
+.ZN ParentRelative
+restores the default background pixmap.
+Changing the border of a root window to
+.ZN CopyFromParent
+restores the default border pixmap.
+Changing the win-gravity does not affect the current position of the
+window.
+Changing the backing-store of an obscured window to
+.ZN WhenMapped
+or
+.ZN Always ,
+or changing the backing-planes, backing-pixel, or
+save-under of a mapped window may have no immediate effect.
+Changing the colormap of a window (that is, defining a new map, not
+changing the contents of the existing map) generates a
+.ZN ColormapNotify
+event.
+Changing the colormap of a visible window may have no
+immediate effect on the screen because the map may not be installed
+(see
+.ZN XInstallColormap ).
+Changing the cursor of a root window to
+.ZN None
+restores the default
+cursor.
+Whenever possible, you are encouraged to share colormaps.
+.LP
+Multiple clients can select input on the same window.
+Their event masks are maintained separately.
+When an event is generated,
+it is reported to all interested clients.
+However, only one client at a time can select for
+.ZN SubstructureRedirectMask ,
+.ZN ResizeRedirectMask ,
+and
+.ZN ButtonPressMask .
+If a client attempts to select any of these event masks
+and some other client has already selected one,
+a
+.ZN BadAccess
+error results.
+There is only one do-not-propagate-mask for a window,
+not one per client.
+.LP
+.ZN XChangeWindowAttributes
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+.ZN BadCursor ,
+.ZN BadMatch ,
+.ZN BadPixmap ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XSetWindowBackground
+function sets the background of the window to the specified pixel value.
+Changing the background does not cause the window contents to be changed.
+.ZN XSetWindowBackground
+uses a pixmap of undefined size filled with the pixel value you passed.
+If you try to change the background of an
+.ZN InputOnly
+window, a
+.ZN BadMatch
+error results.
+.LP
+.ZN XSetWindowBackground
+can generate
+.ZN BadMatch
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XSetWindowBackgroundPixmap
+function sets the background pixmap of the window to the specified pixmap.
+The background pixmap can immediately be freed if no further explicit
+references to it are to be made.
+If
+.ZN ParentRelative
+is specified,
+the background pixmap of the window's parent is used,
+or on the root window, the default background is restored.
+If you try to change the background of an
+.ZN InputOnly
+window, a
+.ZN BadMatch
+error results.
+If the background is set to
+.ZN None ,
+the window has no defined background.
+.LP
+.ZN XSetWindowBackgroundPixmap
+can generate
+.ZN BadMatch ,
+.ZN BadPixmap ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XSetWindowBorder
+function sets the border of the window to the pixel value you specify.
+If you attempt to perform this on an
+.ZN InputOnly
+window, a
+.ZN BadMatch
+error results.
+.LP
+.ZN XSetWindowBorder
+can generate
+.ZN BadMatch
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XSetWindowBorderPixmap
+function sets the border pixmap of the window to the pixmap you specify.
+The border pixmap can be freed immediately if no further explicit
+references to it are to be made.
+If you specify
+.ZN CopyFromParent ,
+a copy of the parent window's border pixmap is used.
+If you attempt to perform this on an
+.ZN InputOnly
+window, a
+.ZN BadMatch
+error results.
+.LP
+.ZN XSetWindowBorderPixmap
+can generate
+.ZN BadMatch ,
+.ZN BadPixmap ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XSetWindowColormap
+function sets the specified colormap of the specified window.
+The colormap must have the same visual type as the window,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XSetWindowColormap
+can generate
+.ZN BadColor ,
+.ZN BadMatch ,
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to free a color map entry that it did not already allocate.
+.TP 1i
+.ZN BadAccess
+A client attempted
+to store into a read-only color map entry.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window locks this attribute.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XConfigureWindow(3X11),
+XCreateWindow(3X11),
+XDestroyWindow(3X11),
+XInstallColormap(3X11),
+XMapWindow(3X11),
+XRaiseWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCirculateEvent.man b/libX11/man/XCirculateEvent.man
new file mode 100644
index 000000000..1ac71f85d
--- /dev/null
+++ b/libX11/man/XCirculateEvent.man
@@ -0,0 +1,233 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCirEvent.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XCirculateEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCirculateEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCirculateEvent \- CirculateNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN CirculateNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* CirculateNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+ int place; /\&* PlaceOnTop, PlaceOnBottom */
+} XCirculateEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the restacked window or to its parent,
+depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+The window member is set to the window that was restacked.
+The place member is set to the window's position after the restack occurs and
+is either
+.ZN PlaceOnTop
+or
+.ZN PlaceOnBottom .
+If it is
+.ZN PlaceOnTop ,
+the window is now on top of all siblings.
+If it is
+.ZN PlaceOnBottom ,
+the window is now below all siblings.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCirculateRequestEvent.man b/libX11/man/XCirculateRequestEvent.man
new file mode 100644
index 000000000..6c9ac80a4
--- /dev/null
+++ b/libX11/man/XCirculateRequestEvent.man
@@ -0,0 +1,228 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCirREven.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XCirculateRequestEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCirculateRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCirculateRequestEvent \- CirculateRequest event structure
+.SH STRUCTURES
+The structure for
+.ZN CirculateRequest
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* CirculateRequest */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window parent;
+ Window window;
+ int place; /\&* PlaceOnTop, PlaceOnBottom */
+} XCirculateRequestEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The parent member is set to the parent window.
+The window member is set to the subwindow to be restacked.
+The place member is set to what the new position in the stacking order should be
+and is either
+.ZN PlaceOnTop
+or
+.ZN PlaceOnBottom .
+If it is
+.ZN PlaceOnTop ,
+the subwindow should be on top of all siblings.
+If it is
+.ZN PlaceOnBottom ,
+the subwindow should be below all siblings.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XClearArea.man b/libX11/man/XClearArea.man
new file mode 100644
index 000000000..26f2db242
--- /dev/null
+++ b/libX11/man/XClearArea.man
@@ -0,0 +1,258 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XClrArea.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XClearArea __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XClearArea, XClearWindow \- clear area or window
+.SH SYNTAX
+.HP
+int XClearArea\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int \fIx\fP\^,
+int \fIy\fP\^, unsigned \fIwidth\fP\^, unsigned \fIheight\fP\^,
+Bool \fIexposures\fP\^);
+.HP
+int XClearWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIexposures\fP 1i
+Specifies a Boolean value that indicates if
+.ZN Expose
+events are to be generated.
+.IP \fIw\fP 1i
+Specifies the window.
+.ds Wh , which are the dimensions of the rectangle
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which are relative to the origin of the window \
+and specify the upper-left corner of the rectangle
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XClearArea
+function paints a rectangular area in the specified window according to the
+specified dimensions with the window's background pixel or pixmap.
+The subwindow-mode effectively is
+.ZN ClipByChildren .
+If width is zero, it
+is replaced with the current width of the window minus x.
+If height is
+zero, it is replaced with the current height of the window minus y.
+If the window has a defined background tile,
+the rectangle clipped by any children is filled with this tile.
+If the window has
+background
+.ZN None ,
+the contents of the window are not changed.
+In either
+case, if exposures is
+.ZN True ,
+one or more
+.ZN Expose
+events are generated for regions of the rectangle that are either visible or are
+being retained in a backing store.
+If you specify a window whose class is
+.ZN InputOnly ,
+a
+.ZN BadMatch
+error results.
+.LP
+.ZN XClearArea
+can generate
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XClearWindow
+function clears the entire area in the specified window and is
+equivalent to
+.ZN XClearArea
+(display, w, 0, 0, 0, 0,
+.ZN False ).
+If the window has a defined background tile, the rectangle is tiled with a
+plane-mask of all ones and
+.ZN GXcopy
+function.
+If the window has
+background
+.ZN None ,
+the contents of the window are not changed.
+If you specify a window whose class is
+.ZN InputOnly ,
+a
+.ZN BadMatch
+error results.
+.LP
+.ZN XClearWindow
+can generate
+.ZN BadMatch
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XCopyArea(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XClientMessageEvent.man b/libX11/man/XClientMessageEvent.man
new file mode 100644
index 000000000..da786af9a
--- /dev/null
+++ b/libX11/man/XClientMessageEvent.man
@@ -0,0 +1,231 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCMEvent.man,v 1.2 2001/01/27 18:19:56 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XClientMessageEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XClientMessageEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XClientMessageEvent \- ClientMessage event structure
+.SH STRUCTURES
+The structure for
+.ZN ClientMessage
+events contains:
+.LP
+.Ds 0
+.TA .5i 1i 3i
+.ta .5i 1i 3i
+typedef struct {
+ int type; /\&* ClientMessage */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ Atom message_type;
+ int format;
+ union {
+ char b[20];
+ short s[10];
+ long l[5];
+ } data;
+} XClientMessageEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The message_type member is set to an atom that indicates how the data
+should be interpreted by the receiving client.
+The format member is set to 8, 16, or 32 and specifies whether the data
+should be viewed as a list of bytes, shorts, or longs.
+The data member is a union that contains the members b, s, and l.
+The b, s, and l members represent data of twenty 8-bit values,
+ten 16-bit values, and five 32-bit values.
+Particular message types might not make use of all these values.
+The X server places no interpretation on the values in the window,
+message_type, or data members.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XColormapEvent.man b/libX11/man/XColormapEvent.man
new file mode 100644
index 000000000..8920c7fa2
--- /dev/null
+++ b/libX11/man/XColormapEvent.man
@@ -0,0 +1,242 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCmpEvent.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XColormapEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XColormapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XColormapEvent \- ColormapNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN ColormapNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* ColormapNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ Colormap colormap; /\&* colormap or None */
+ Bool new;
+ int state; /\&* ColormapInstalled, ColormapUninstalled */
+} XColormapEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the window whose associated
+colormap is changed, installed, or uninstalled.
+For a colormap that is changed, installed, or uninstalled,
+the colormap member is set to the colormap associated with the window.
+For a colormap that is changed by a call to
+.ZN XFreeColormap ,
+the colormap member is set to
+.ZN None .
+The new member is set to indicate whether the colormap
+for the specified window was changed or installed or uninstalled
+and can be
+.ZN True
+or
+.ZN False .
+If it is
+.ZN True ,
+the colormap was changed.
+If it is
+.ZN False ,
+the colormap was installed or uninstalled.
+The state member is always set to indicate whether the colormap is installed or
+uninstalled and can be
+.ZN ColormapInstalled
+or
+.ZN ColormapUninstalled .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCreateColormap(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XConfigureEvent.man b/libX11/man/XConfigureEvent.man
new file mode 100644
index 000000000..47c8ea4c0
--- /dev/null
+++ b/libX11/man/XConfigureEvent.man
@@ -0,0 +1,251 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XConEvent.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XConfigureEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XConfigureEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XConfigureEvent \- ConfigureNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN ConfigureNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* ConfigureNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ Bool override_redirect;
+} XConfigureEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the reconfigured window or to its parent,
+depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+The window member is set to the window whose size, position,
+border, and/or stacking
+order was changed.
+.LP
+The x and y members are set to the coordinates relative to the parent window's
+origin and indicate the position of the upper-left outside corner of the window.
+The width and height members are set to the inside size of the window,
+not including
+the border.
+The border_width member is set to the width of the window's border, in pixels.
+.LP
+The above member is set to the sibling window and is used
+for stacking operations.
+If the X server sets this member to
+.ZN None ,
+the window whose state was changed is on the bottom of the stack
+with respect to sibling windows.
+However, if this member is set to a sibling window,
+the window whose state was changed is placed on top of this sibling window.
+.LP
+The override_redirect member is set to the override-redirect attribute of the
+window.
+Window manager clients normally should ignore this window if the
+override_redirect member
+is
+.ZN True .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XConfigureRequestEvent.man b/libX11/man/XConfigureRequestEvent.man
new file mode 100644
index 000000000..07c6709c9
--- /dev/null
+++ b/libX11/man/XConfigureRequestEvent.man
@@ -0,0 +1,234 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XConREven.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XConfigureRequestEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XConfigureRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XConfigureRequestEvent \- ConfigureRequest event structure
+.SH STRUCTURES
+The structure for
+.ZN ConfigureRequest
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* ConfigureRequest */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window parent;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ int detail; /\&* Above, Below, TopIf, BottomIf, Opposite */
+ unsigned long value_mask;
+} XConfigureRequestEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The parent member is set to the parent window.
+The window member is set to the window whose size, position, border width,
+and/or stacking order is to be reconfigured.
+The value_mask member indicates which components were specified in the
+.ZN ConfigureWindow
+protocol request.
+The corresponding values are reported as given in the request.
+The remaining values are filled in from the current geometry of the window,
+except in the case of above (sibling) and detail (stack-mode),
+which are reported as
+.ZN None
+and
+.ZN Above ,
+respectively, if they are not given in the request.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XConfigureWindow.man b/libX11/man/XConfigureWindow.man
new file mode 100644
index 000000000..254194276
--- /dev/null
+++ b/libX11/man/XConfigureWindow.man
@@ -0,0 +1,459 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XConfWin.man,v 1.5 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XConfigureWindow.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XConfigureWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XConfigureWindow, XMoveWindow, XResizeWindow, XMoveResizeWindow, XSetWindowBorderWidth, XWindowChanges \- configure windows and window changes structure
+.SH SYNTAX
+.HP
+int XConfigureWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned \fIvalue_mask\fP\^, \^XWindowChanges *\fIchanges\fP\^);
+.HP
+int XMoveWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int \fIx\fP\^, \fIy\fP\^);
+.HP
+int XResizeWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, unsigned
+\fIwidth\fP\^, unsigned \fIheight\fP\^);
+.HP
+int XMoveResizeWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
+\fIx\fP\^, int \fIy\fP\^, unsigned \fIwidth\fP\^, unsigned \fIheight\fP\^);
+.HP
+int XSetWindowBorderWidth\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+unsigned \fIwidth\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIvalue_mask\fP 1i
+Specifies which values are to be set using information in
+the values structure.
+This mask is the bitwise inclusive OR of the valid configure window values bits.
+.IP \fIvalues\fP 1i
+Specifies the
+.ZN XWindowChanges
+structure.
+.ds Wi to be reconfigured, moved, or resized.
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.IP \fIwidth\fP 1i
+Specifies the width of the window border.
+.ds Wh , which are the interior dimensions of the window
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which define the new location of the top-left pixel \
+of the window's border or the window itself if it has no border \
+or define the new position of the window relative to its parent
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XConfigureWindow
+function uses the values specified in the
+.ZN XWindowChanges
+structure to reconfigure a window's size, position, border, and stacking order.
+Values not specified are taken from the existing geometry of the window.
+.LP
+If a sibling is specified without a stack_mode or if the window
+is not actually a sibling,
+a
+.ZN BadMatch
+error results.
+Note that the computations for
+.ZN BottomIf ,
+.ZN TopIf ,
+and
+.ZN Opposite
+are performed with respect to the window's final geometry (as controlled by the
+other arguments passed to
+.ZN XConfigureWindow ),
+not its initial geometry.
+Any backing store contents of the window, its
+inferiors, and other newly visible windows are either discarded or
+changed to reflect the current screen contents
+(depending on the implementation).
+.LP
+.ZN XConfigureWindow
+can generate
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XMoveWindow
+function moves the specified window to the specified x and y coordinates,
+but it does not change the window's size, raise the window, or
+change the mapping state of the window.
+Moving a mapped window may or may not lose the window's contents
+depending on if the window is obscured by nonchildren
+and if no backing store exists.
+If the contents of the window are lost,
+the X server generates
+.ZN Expose
+events.
+Moving a mapped window generates
+.ZN Expose
+events on any formerly obscured windows.
+.LP
+If the override-redirect flag of the window is
+.ZN False
+and some
+other client has selected
+.ZN SubstructureRedirectMask
+on the parent, the X server generates a
+.ZN ConfigureRequest
+event, and no further processing is
+performed.
+Otherwise, the window is moved.
+.LP
+.ZN XMoveWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XResizeWindow
+function changes the inside dimensions of the specified window, not including
+its borders.
+This function does not change the window's upper-left coordinate or
+the origin and does not restack the window.
+Changing the size of a mapped window may lose its contents and generate
+.ZN Expose
+events.
+If a mapped window is made smaller,
+changing its size generates
+.ZN Expose
+events on windows that the mapped window formerly obscured.
+.LP
+If the override-redirect flag of the window is
+.ZN False
+and some
+other client has selected
+.ZN SubstructureRedirectMask
+on the parent, the X server generates a
+.ZN ConfigureRequest
+event, and no further processing is performed.
+If either width or height is zero,
+a
+.ZN BadValue
+error results.
+.LP
+.ZN XResizeWindow
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XMoveResizeWindow
+function changes the size and location of the specified window
+without raising it.
+Moving and resizing a mapped window may generate an
+.ZN Expose
+event on the window.
+Depending on the new size and location parameters,
+moving and resizing a window may generate
+.ZN Expose
+events on windows that the window formerly obscured.
+.LP
+If the override-redirect flag of the window is
+.ZN False
+and some
+other client has selected
+.ZN SubstructureRedirectMask
+on the parent, the X server generates a
+.ZN ConfigureRequest
+event, and no further processing is performed.
+Otherwise, the window size and location are changed.
+.LP
+.ZN XMoveResizeWindow
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XSetWindowBorderWidth
+function sets the specified window's border width to the specified width.
+.LP
+.ZN XSetWindowBorderWidth
+can generate a
+.ZN BadWindow
+error.
+.SH STRUCTURES
+The
+.ZN XWindowChanges
+structure contains:
+.LP
+.LP
+/\&* Configure window value mask bits */
+.TS
+lw(.5i) lw(2.5i) lw(.8i).
+T{
+\&#define
+T} T{
+.ZN CWX
+T} T{
+(1<<0)
+T}
+T{
+\&#define
+T} T{
+.ZN CWY
+T} T{
+(1<<1)
+T}
+T{
+\&#define
+T} T{
+.ZN CWWidth
+T} T{
+(1<<2)
+T}
+T{
+\&#define
+T} T{
+.ZN CWHeight
+T} T{
+(1<<3)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBorderWidth
+T} T{
+(1<<4)
+T}
+T{
+\&#define
+T} T{
+.ZN CWSibling
+T} T{
+(1<<5)
+T}
+T{
+\&#define
+T} T{
+.ZN CWStackMode
+T} T{
+(1<<6)
+T}
+.TE
+.IN "XWindowChanges" "" "@DEF@"
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+/\&* Values */
+
+typedef struct {
+ int x, y;
+ int width, height;
+ int border_width;
+ Window sibling;
+ int stack_mode;
+} XWindowChanges;
+.De
+.LP
+The x and y members are used to set the window's x and y coordinates,
+which are relative to the parent's origin
+and indicate the position of the upper-left outer corner of the window.
+The width and height members are used to set the inside size of the window,
+not including the border, and must be nonzero, or a
+.ZN BadValue
+error results.
+Attempts to configure a root window have no effect.
+.LP
+The border_width member is used to set the width of the border in pixels.
+Note that setting just the border width leaves the outer-left corner of the window
+in a fixed position but moves the absolute position of the window's origin.
+If you attempt to set the border-width attribute of an
+.ZN InputOnly
+window nonzero, a
+.ZN BadMatch
+error results.
+.LP
+The sibling member is used to set the sibling window for stacking operations.
+The stack_mode member is used to set how the window is to be restacked
+and can be set to
+.ZN Above ,
+.ZN Below ,
+.ZN TopIf ,
+.ZN BottomIf ,
+or
+.ZN Opposite .
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XCreateWindow(3X11),
+XDestroyWindow(3X11),
+XMapWindow(3X11),
+XRaiseWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCopyArea.man b/libX11/man/XCopyArea.man
new file mode 100644
index 000000000..61f8ca22e
--- /dev/null
+++ b/libX11/man/XCopyArea.man
@@ -0,0 +1,308 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCopyArea.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCopyArea __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCopyArea, XCopyPlane \- copy areas
+.SH SYNTAX
+.HP
+int XCopyArea\^(\^Display *\fIdisplay\fP\^, Drawable \fIsrc\fP\^, Drawable
+\fIdest\fP\^, GC \fIgc\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, unsigned
+int \fIwidth\fP\^, unsigned \fIheight\fP\^, int \fIdest_x\fP\^, int
+\fIdest_y\fP\^);
+.HP
+int XCopyPlane\^(\^Display *\fIdisplay\fP\^, Drawable \fIsrc\fP\^, Drawable
+\fIdest\fP\^, GC \fIgc\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, unsigned
+\fIwidth\fP\^, int \fIheight\fP\^, int \fIdest_x\fP\^, int \fIdest_y\fP\^,
+unsigned long \fIplane\fP\^);
+.SH ARGUMENTS
+.ds Dx , which are relative to the origin of the destination rectangle \
+and specify its upper-left corner
+.IP \fIdest_x\fP 1i
+.br
+.ns
+.IP \fIdest_y\fP 1i
+Specify the x and y coordinates\*(Dx.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIplane\fP 1i
+Specifies the bit plane.
+You must set exactly one bit to 1.
+.IP \fIsrc\fP 1i
+.br
+.ns
+.IP \fIdest\fP 1i
+Specify the source and destination rectangles to be combined.
+.IP \fIsrc_x\fP 1i
+.br
+.ns
+.IP \fIsrc_y\fP 1i
+Specify the x and y coordinates,
+which are relative to the origin of the source rectangle
+and specify its upper-left corner.
+.ds Wh , which are the dimensions of both the source and destination rectangles
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.SH DESCRIPTION
+The
+.ZN XCopyArea
+function combines the specified rectangle of src with the specified rectangle
+of dest.
+The drawables must have the same root and depth,
+or a
+.ZN BadMatch
+error results.
+.LP
+If regions of the source rectangle are obscured and have not been
+retained in backing store
+or if regions outside the boundaries of the source drawable are specified,
+those regions are not copied.
+Instead, the
+following occurs on all corresponding destination regions that are either
+visible or are retained in backing store.
+If the destination is a window with a background other than
+.ZN None ,
+corresponding regions
+of the destination are tiled with that background
+(with plane-mask of all ones and
+.ZN GXcopy
+function).
+Regardless of tiling or whether the destination is a window or a pixmap,
+if graphics-exposures is
+.ZN True ,
+then
+.ZN GraphicsExpose
+events for all corresponding destination regions are generated.
+If graphics-exposures is
+.ZN True
+but no
+.ZN GraphicsExpose
+events are generated, a
+.ZN NoExpose
+event is generated.
+Note that by default graphics-exposures is
+.ZN True
+in new GCs.
+.LP
+This function uses these GC components: function, plane-mask,
+subwindow-mode, graphics-exposures, clip-x-origin,
+clip-y-origin, and clip-mask.
+.LP
+.ZN XCopyArea
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.LP
+The
+.ZN XCopyPlane
+function uses a single bit plane of the specified source rectangle
+combined with the specified GC to modify the specified rectangle of dest.
+The drawables must have the same root but need not have the same depth.
+If the drawables do not have the same root, a
+.ZN BadMatch
+error results.
+If plane does not have exactly one bit set to 1 and the value of plane
+is not less than %2 sup n%, where \fIn\fP is the depth of src, a
+.ZN BadValue
+error results.
+.LP
+Effectively,
+.ZN XCopyPlane
+forms a pixmap of the same depth as the rectangle of dest and with a
+size specified by the source region.
+It uses the foreground/background pixels in the GC (foreground
+everywhere the bit plane in src contains a bit set to 1,
+background everywhere the bit plane in src contains a bit set to 0)
+and the equivalent of a
+.ZN CopyArea
+protocol request is performed with all the same exposure semantics.
+This can also be thought of as using the specified region of the source
+bit plane as a stipple with a fill-style of
+.ZN FillOpaqueStippled
+for filling a rectangular area of the destination.
+.LP
+This function uses these GC components: function, plane-mask, foreground,
+background, subwindow-mode, graphics-exposures, clip-x-origin, clip-y-origin,
+and clip-mask.
+.LP
+.ZN XCopyPlane
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XClearArea(3X11)
+.br
+\fIXlib \- C Language X Interface\fP
diff --git a/libX11/man/XCreateColormap.man b/libX11/man/XCreateColormap.man
new file mode 100644
index 000000000..0901775d6
--- /dev/null
+++ b/libX11/man/XCreateColormap.man
@@ -0,0 +1,369 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreCmap.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XCreateColormap.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateColormap, XCopyColormapAndFree, XFreeColormap, XColor \- create, copy, or destroy colormaps and color structure
+.SH SYNTAX
+.HP
+Colormap XCreateColormap\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Visual *\fIvisual\fP\^, int \fIalloc\fP\^,);
+.HP
+Colormap XCopyColormapAndFree\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^);
+.HP
+int XFreeColormap\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^);
+.SH ARGUMENTS
+.IP \fIalloc\fP 1i
+Specifies the colormap entries to be allocated.
+You can pass
+.ZN AllocNone
+or
+.ZN AllocAll .
+.ds Cm that you want to create, copy, set, or destroy
+.IP \fIcolormap\fP 1i
+Specifies the colormap \*(Cm.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIvisual\fP 1i
+Specifies a visual type supported on the screen.
+If the visual type is not one supported by the screen,
+a
+.ZN BadMatch
+error results.
+.ds Wi on whose screen you want to create a colormap
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XCreateColormap
+function creates a colormap of the specified visual type for the screen
+on which the specified window resides and returns the colormap ID
+associated with it.
+Note that the specified window is only used to determine the screen.
+.LP
+The initial values of the colormap entries are undefined for the
+visual classes
+.ZN GrayScale ,
+.ZN PseudoColor ,
+and
+.ZN DirectColor .
+For
+.ZN StaticGray ,
+.ZN StaticColor ,
+and
+.ZN TrueColor ,
+the entries have defined values,
+but those values are specific to the visual and are not defined by X.
+For
+.ZN StaticGray ,
+.ZN StaticColor ,
+and
+.ZN TrueColor ,
+alloc must be
+.ZN AllocNone ,
+or a
+.ZN BadMatch
+error results.
+For the other visual classes,
+if alloc is
+.ZN AllocNone ,
+the colormap initially has no allocated entries,
+and clients can allocate them.
+For information about the visual types,
+see section 3.1.
+.LP
+If alloc is
+.ZN AllocAll ,
+the entire colormap is allocated writable.
+The initial values of all allocated entries are undefined.
+For
+.ZN GrayScale
+and
+.ZN PseudoColor ,
+the effect is as if an
+.ZN XAllocColorCells
+call returned all pixel values from zero to N \- 1,
+where N is the colormap entries value in the specified visual.
+For
+.ZN DirectColor ,
+the effect is as if an
+.ZN XAllocColorPlanes
+call returned a pixel value of zero and red_mask, green_mask,
+and blue_mask values containing the same bits as the corresponding
+masks in the specified visual.
+However, in all cases,
+none of these entries can be freed by using
+.ZN XFreeColors .
+.LP
+.ZN XCreateColormap
+can generate
+.ZN BadAlloc ,
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XCopyColormapAndFree
+function creates a colormap of the same visual type and for the same screen
+as the specified colormap and returns the new colormap ID.
+It also moves all of the client's existing allocation from the specified
+colormap to the new colormap with their color values intact
+and their read-only or writable characteristics intact and frees those entries
+in the specified colormap.
+Color values in other entries in the new colormap are undefined.
+If the specified colormap was created by the client with alloc set to
+.ZN AllocAll ,
+the new colormap is also created with
+.ZN AllocAll ,
+all color values for all entries are copied from the specified colormap,
+and then all entries in the specified colormap are freed.
+If the specified colormap was not created by the client with
+.ZN AllocAll ,
+the allocations to be moved are all those pixels and planes
+that have been allocated by the client using
+.ZN XAllocColor ,
+.ZN XAllocNamedColor ,
+.ZN XAllocColorCells ,
+or
+.ZN XAllocColorPlanes
+and that have not been freed since they were allocated.
+.LP
+.ZN XCopyColormapAndFree
+can generate
+.ZN BadAlloc
+and
+.ZN BadColor
+errors.
+.LP
+The
+.ZN XFreeColormap
+function deletes the association between the colormap resource ID
+and the colormap and frees the colormap storage.
+However, this function has no effect on the default colormap for a screen.
+If the specified colormap is an installed map for a screen,
+it is uninstalled (see
+.ZN XUninstallColormap ).
+If the specified colormap is defined as the colormap for a window (by
+.ZN XCreateWindow ,
+.ZN XSetWindowColormap ,
+or
+.ZN XChangeWindowAttributes ),
+.ZN XFreeColormap
+changes the colormap associated with the window to
+.ZN None
+and generates a
+.ZN ColormapNotify
+event.
+X does not define the colors displayed for a window with a colormap of
+.ZN None .
+.LP
+.ZN XFreeColormap
+can generate a
+.ZN BadColor
+error.
+.SH STRUCTURES
+The
+.ZN XColor
+structure contains:
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ unsigned long pixel; /\&* pixel value */
+ unsigned short red, green, blue; /\&* rgb values */
+ char flags; /\&* DoRed, DoGreen, DoBlue */
+ char pad;
+} XColor;
+.De
+.LP
+The red, green, and blue values are always in the range 0 to 65535
+inclusive, independent of the number of bits actually used in the
+display hardware.
+The server scales these values down to the range used by the hardware.
+Black is represented by (0,0,0),
+and white is represented by (65535,65535,65535).
+.IN "Color"
+In some functions,
+the flags member controls which of the red, green, and blue members is used
+and can be the inclusive OR of zero or more of
+.ZN DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue .
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocColor(3X11),
+XChangeWindowAttributes(3X11),
+XCreateWindow(3X11),
+XQueryColor(3X11),
+XStoreColors(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateFontCursor.man b/libX11/man/XCreateFontCursor.man
new file mode 100644
index 000000000..ce0cd5cc4
--- /dev/null
+++ b/libX11/man/XCreateFontCursor.man
@@ -0,0 +1,317 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreFCur.man,v 1.3 2001/02/07 22:35:20 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateFontCursor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateFontCursor, XCreatePixmapCursor, XCreateGlyphCursor \- create cursors
+.SH SYNTAX
+\&#include <X11/cursorfont.h>
+.HP
+Cursor XCreateFontCursor\^(\^Display *\fIdisplay\fP\^, unsigned int
+\fIshape\fP\^);
+.HP
+Cursor XCreatePixmapCursor\^(\^Display *\fIdisplay\fP\^, Pixmap
+\fIsource\fP\^, Pixmap \fImask\fP\^, XColor *\fIforeground_color\fP\^, XColor
+*\fIbackground_color\fP\^, unsigned int \fIx\fP\^, \fIy\fP\^);
+.HP
+Cursor XCreateGlyphCursor\^(\^Display *\fIdisplay\fP\^, Font
+\fIsource_font\fP\^, Font \fImask_font\fP\^, unsigned int \fIsource_char\fP\^,
+unsigned int \fImask_char\fP\^, XColor *\fIforeground_color\fP\^, XColor
+*\fIbackground_color\fP\^);
+.SH ARGUMENTS
+.IP \fIbackground_color\fP 1i
+Specifies the RGB values for the background of the source.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIforeground_color\fP 1i
+Specifies the RGB values for the foreground of the source.
+.IP \fImask\fP 1i
+Specifies the cursor's source bits to be displayed or
+.ZN None .
+.IP \fImask_char\fP 1i
+Specifies the glyph character for the mask.
+.IP \fImask_font\fP 1i
+Specifies the font for the mask glyph or
+.ZN None .
+.IP \fIshape\fP 1i
+Specifies the shape of the cursor.
+.IP \fIsource\fP 1i
+Specifies the shape of the source cursor.
+.\" *** JIM: NEED TO CHECK THIS. ***
+.IP \fIsource_char\fP 1i
+Specifies the character glyph for the source.
+.IP \fIsource_font\fP 1i
+Specifies the font for the source glyph.
+.ds Xy , which indicate the hotspot relative to the source's origin
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+X provides a set of standard cursor shapes in a special font named
+cursor.
+Applications are encouraged to use this interface for their cursors
+because the font can be customized for the individual display type.
+The shape argument specifies which glyph of the standard fonts
+to use.
+.LP
+The hotspot comes from the information stored in the cursor font.
+The initial colors of a cursor are a black foreground and a white
+background (see
+.ZN XRecolorCursor ).
+.LP
+.ZN XCreateFontCursor
+can generate
+.ZN BadAlloc
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XCreatePixmapCursor
+function creates a cursor and returns the cursor ID associated with it.
+The foreground and background RGB values must be specified using
+foreground_color and background_color,
+even if the X server only has a
+.ZN StaticGray
+or
+.ZN GrayScale
+screen.
+The foreground color is used for the pixels set to 1 in the
+source, and the background color is used for the pixels set to 0.
+Both source and mask, if specified, must have depth one (or a
+.ZN BadMatch
+error results) but can have any root.
+The mask argument defines the shape of the cursor.
+The pixels set to 1 in the mask define which source pixels are displayed,
+and the pixels set to 0 define which pixels are ignored.
+If no mask is given,
+all pixels of the source are displayed.
+The mask, if present, must be the same size as the pixmap defined by the
+source argument, or a
+.ZN BadMatch
+error results.
+The hotspot must be a point within the source,
+or a
+.ZN BadMatch
+error results.
+.LP
+The components of the cursor can be transformed arbitrarily to meet
+display limitations.
+The pixmaps can be freed immediately if no further explicit references
+to them are to be made.
+Subsequent drawing in the source or mask pixmap has an undefined effect on the
+cursor.
+The X server might or might not make a copy of the pixmap.
+.LP
+.ZN XCreatePixmapCursor
+can generate
+.ZN BadAlloc
+and
+.ZN BadPixmap
+errors.
+.LP
+The
+.ZN XCreateGlyphCursor
+function is similar to
+.ZN XCreatePixmapCursor
+except that the source and mask bitmaps are obtained from the specified
+font glyphs.
+The source_char must be a defined glyph in source_font,
+or a
+.ZN BadValue
+error results.
+If mask_font is given,
+mask_char must be a defined glyph in mask_font,
+or a
+.ZN BadValue
+error results.
+The mask_font and character are optional.
+The origins of the source_char and mask_char (if defined) glyphs are
+positioned coincidently and define the hotspot.
+The source_char and mask_char need not have the same bounding box metrics,
+and there is no restriction on the placement of the hotspot relative to the bounding
+boxes.
+If no mask_char is given, all pixels of the source are displayed.
+You can free the fonts immediately by calling
+.ZN XFreeFont
+if no further explicit references to them are to be made.
+.LP
+For 2-byte matrix fonts,
+the 16-bit value should be formed with the byte1
+member in the most significant byte and the byte2 member in the
+least significant byte.
+.LP
+.ZN XCreateGlyphCursor
+can generate
+.ZN BadAlloc ,
+.ZN BadFont ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadFont
+A value for a Font or GContext argument does not name a defined Font.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XDefineCursor(3X11),
+XLoadFont(3X11),
+XRecolorCursor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateFontSet.man b/libX11/man/XCreateFontSet.man
new file mode 100644
index 000000000..3cfe8a1b3
--- /dev/null
+++ b/libX11/man/XCreateFontSet.man
@@ -0,0 +1,376 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreFSet.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateFontSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateFontSet, XFreeFontSet \- create and free an international text drawing font set
+.SH SYNTAX
+.HP
+XFontSet XCreateFontSet\^(\^Display *\fIdisplay\fP\^, char
+*\fIbase_font_name_list\fP\^, char ***\fImissing_charset_list_return\fP\^, int
+*\fImissing_charset_count_return\fP\^, char **\fIdef_string_return\fP\^);
+.HP
+void XFreeFontSet\^(\^Display *\fIdisplay\fP\^, XFontSet \fIfont_set\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIbase_font_name_list\fP 1i
+Specifies the base font names.
+.IP \fIdef_string_return\fP 1i
+Returns the string drawn for missing charsets.
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fImissing_charset_count_return\fP 1i
+Returns the number of missing charsets.
+.IP \fImissing_charset_list_return\fP 1i
+Returns the missing charsets.
+.SH DESCRIPTION
+The
+.ZN XCreateFontSet
+function creates a font set for the specified display.
+The font set is bound to the current locale when
+.ZN XCreateFontSet
+is called.
+The font set may be used in subsequent calls to obtain font
+and character information and to image text in the locale of the font set.
+.LP
+The base_font_name_list argument is a list of base font names
+that Xlib uses to load the fonts needed for the locale.
+The base font names are a comma-separated list.
+The string is null-terminated
+and is assumed to be in the Host Portable Character Encoding;
+otherwise, the result is implementation-dependent.
+White space immediately on either side of a separating comma is ignored.
+.LP
+Use of XLFD font names permits Xlib to obtain the fonts needed for a
+variety of locales from a single locale-independent base font name.
+The single base font name should name a family of fonts whose members
+are encoded in the various charsets needed by the locales of interest.
+.LP
+An XLFD base font name can explicitly name a charset needed for the locale.
+This allows the user to specify an exact font for use with a charset required
+by a locale, fully controlling the font selection.
+.LP
+If a base font name is not an XLFD name,
+Xlib will attempt to obtain an XLFD name from the font properties
+for the font.
+If this action is successful in obtaining an XLFD name, the
+.ZN XBaseFontNameListOfFontSet
+function will return this XLFD name instead of the client-supplied name.
+.LP
+Xlib uses the following algorithm to select the fonts
+that will be used to display text with the
+.ZN XFontSet .
+.LP
+For each font charset required by the locale,
+the base font name list is searched for the first appearance of one
+of the following cases that names a set of fonts that exist at the server:
+.IP \(bu 5
+The first XLFD-conforming base font name that specifies the required
+charset or a superset of the required charset in its
+.ZN CharSetRegistry
+and
+.ZN CharSetEncoding
+fields.
+The implementation may use a base font name whose specified charset
+is a superset of the required charset, for example,
+an ISO8859-1 font for an ASCII charset.
+.IP \(bu 5
+The first set of one or more XLFD-conforming base font names
+that specify one or more charsets that can be remapped to support the
+required charset.
+The Xlib implementation may recognize various mappings
+from a required charset to one or more other charsets
+and use the fonts for those charsets.
+For example, JIS Roman is ASCII with tilde and backslash replaced
+by yen and overbar;
+Xlib may load an ISO8859-1 font to support this character set
+if a JIS Roman font is not available.
+.IP \(bu 5
+The first XLFD-conforming font name or the first non-XLFD font name
+for which an XLFD font name can be obtained, combined with the
+required charset (replacing the
+.ZN CharSetRegistry
+and
+.ZN CharSetEncoding
+fields in the XLFD font name).
+As in case 1,
+the implementation may use a charset that is a superset
+of the required charset.
+.IP \(bu 5
+The first font name that can be mapped in some implementation-dependent
+manner to one or more fonts that support imaging text in the charset.
+.LP
+For example, assume that a locale required the charsets:
+.LP
+.Ds 0
+ISO8859-1
+JISX0208.1983
+JISX0201.1976
+GB2312-1980.0
+.De
+.LP
+The user could supply a base_font_name_list that explicitly specifies the
+charsets, ensuring that specific fonts are used if they exist.
+For example:
+.LP
+.Ds 0
+"-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-240-JISX0208.1983-0,\\
+-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-120-JISX0201.1976-0,\\
+-GB-Fixed-Medium-R-Normal--26-180-100-100-C-240-GB2312-1980.0,\\
+-Adobe-Courier-Bold-R-Normal--25-180-75-75-M-150-ISO8859-1"
+.De
+.LP
+Alternatively, the user could supply a base_font_name_list
+that omits the charsets,
+letting Xlib select font charsets required for the locale.
+For example:
+.LP
+.Ds 0
+"-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-240,\\
+-JIS-Fixed-Medium-R-Normal--26-180-100-100-C-120,\\
+-GB-Fixed-Medium-R-Normal--26-180-100-100-C-240,\\
+-Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150"
+.De
+.LP
+Alternatively, the user could simply supply a single base font name
+that allows Xlib to select from all available fonts
+that meet certain minimum XLFD property requirements.
+For example:
+.LP
+.Ds 0
+"-*-*-*-R-Normal--*-180-100-100-*-*"
+.De
+.LP
+If
+.ZN XCreateFontSet
+is unable to create the font set,
+either because there is insufficient memory or because the current locale
+is not supported,
+.ZN XCreateFontSet
+returns NULL, missing_charset_list_return is set to NULL,
+and missing_charset_count_return
+is set to zero.
+If fonts exist for all of the charsets required by the current locale,
+.ZN XCreateFontSet
+returns a valid
+.ZN XFontSet ,
+missing_charset_list_return is set to NULL,
+and missing_charset_count_return is set to zero.
+.LP
+If no font exists for one or more of the required charsets,
+.ZN XCreateFontSet
+sets missing_charset_list_return to a
+list of one or more null-terminated charset names for which no font exists
+and sets missing_charset_count_return to the number of missing fonts.
+The charsets are from the list of the required charsets for
+the encoding of the locale and do not include any charsets to which Xlib
+may be able to remap a required charset.
+.LP
+If no font exists for any of the required charsets
+or if the locale definition in Xlib requires that a font exist
+for a particular charset and a font is not found for that charset,
+.ZN XCreateFontSet
+returns NULL.
+Otherwise,
+.ZN XCreateFontSet
+returns a valid
+.ZN XFontSet
+to font_set.
+.LP
+When an Xmb/wc drawing or measuring function is called with an
+.ZN XFontSet
+that has missing charsets, some characters in the locale will not be
+drawable.
+If def_string_return is non-NULL,
+.ZN XCreateFontSet
+returns a pointer to a string that represents the glyphs
+that are drawn with this
+.ZN XFontSet
+when the charsets of the available fonts do not include all font glyphs
+required to draw a codepoint.
+The string does not necessarily consist of valid characters
+in the current locale and is not necessarily drawn with
+the fonts loaded for the font set,
+but the client can draw and measure the default glyphs
+by including this string in a string being drawn or measured with the
+.ZN XFontSet .
+.LP
+If the string returned to def_string_return is the empty string ("\^"),
+no glyphs are drawn, and the escapement is zero.
+The returned string is null-terminated.
+It is owned by Xlib and should not be modified or freed by the client.
+It will be freed by a call to
+.ZN XFreeFontSet
+with the associated
+.ZN XFontSet .
+Until freed, its contents will not be modified by Xlib.
+.LP
+The client is responsible for constructing an error message from the
+missing charset and default string information and may choose to continue
+operation in the case that some fonts did not exist.
+.LP
+The returned
+.ZN XFontSet
+and missing charset list should be freed with
+.ZN XFreeFontSet
+and
+.ZN XFreeStringList ,
+respectively.
+The client-supplied base_font_name_list may be freed
+by the client after calling
+.ZN XCreateFontSet .
+.LP
+The
+.ZN XFreeFontSet
+function frees the specified font set.
+The associated base font name list, font name list,
+.ZN XFontStruct
+list, and
+.ZN XFontSetExtents ,
+if any, are freed.
+.SH "SEE ALSO"
+XExtentsofFontSet(3X11),
+XFontsOfFontSet(3X11),
+XFontSetExtents(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateGC.man b/libX11/man/XCreateGC.man
new file mode 100644
index 000000000..9b698e631
--- /dev/null
+++ b/libX11/man/XCreateGC.man
@@ -0,0 +1,1205 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreGC.man,v 1.6 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XCreateGC.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XCreateGC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateGC, XCopyGC, XChangeGC, XGetGCValues, XFreeGC, XGContextFromGC, XGCValues \- create or free graphics contexts and graphics context structure
+.SH SYNTAX
+.HP
+GC XCreateGC\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, unsigned long
+\fIvaluemask\fP\^, XGCValues *\^\fIvalues\fP\^);
+.HP
+int XCopyGC\^(\^Display *\fIdisplay\fP\^, GC \fIsrc\fP\^, GC \fIdest\fP\^,
+unsigned long \fIvaluemask\fP\^);
+.HP
+int XChangeGC\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
+\fIvaluemask\fP\^, XGCValues *\^\fIvalues\fP\^);
+.HP
+Status XGetGCValues\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
+\fIvaluemask\fP\^, XGCValues *\fIvalues_return\fP\^);
+.HP
+int XFreeGC\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^);
+.HP
+GContext XGContextFromGC\^(\^GC \fIgc\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdest\fP 1i
+Specifies the destination GC.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIsrc\fP 1i
+Specifies the components of the source GC.
+.ds Vm set, copied, changed, or returned
+.IP \fIvaluemask\fP 1i
+Specifies which components in the GC are to be \*(Vm.
+This argument is the bitwise inclusive OR of zero or more of the valid
+GC component mask bits.
+.IP \fIvalues\fP 1i
+Specifies any values as specified by the valuemask.
+.IP \fIvalues_return\fP 1i
+Returns the GC values in the specified
+.ZN XGCValues
+structure.
+.SH DESCRIPTION
+The
+.ZN XCreateGC
+function creates a graphics context and returns a GC.
+The GC can be used with any destination drawable having the same root
+and depth as the specified drawable.
+Use with other drawables results in a
+.ZN BadMatch
+error.
+.LP
+.ZN XCreateGC
+can generate
+.ZN BadAlloc ,
+.ZN BadDrawable ,
+.ZN BadFont ,
+.ZN BadMatch ,
+.ZN BadPixmap ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XCopyGC
+function copies the specified components from the source GC
+to the destination GC.
+The source and destination GCs must have the same root and depth,
+or a
+.ZN BadMatch
+error results.
+The valuemask specifies which component to copy, as for
+.ZN XCreateGC .
+.LP
+.ZN XCopyGC
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.LP
+The
+.ZN XChangeGC
+function changes the components specified by valuemask for
+the specified GC.
+The values argument contains the values to be set.
+The values and restrictions are the same as for
+.ZN XCreateGC .
+Changing the clip-mask overrides any previous
+.ZN XSetClipRectangles
+request on the context.
+Changing the dash-offset or dash-list
+overrides any previous
+.ZN XSetDashes
+request on the context.
+The order in which components are verified and altered is server dependent.
+If an error is generated, a subset of the components may have been altered.
+.LP
+.ZN XChangeGC
+can generate
+.ZN BadAlloc ,
+.ZN BadFont ,
+.ZN BadGC ,
+.ZN BadMatch ,
+.ZN BadPixmap ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetGCValues
+function returns the components specified by valuemask for the specified GC.
+If the valuemask contains a valid set of GC mask bits
+.Pn ( GCFunction ,
+.ZN GCPlaneMask ,
+.ZN GCForeground ,
+.ZN GCBackground ,
+.ZN GCLineWidth ,
+.ZN GCLineStyle ,
+.ZN GCCapStyle ,
+.ZN GCJoinStyle ,
+.ZN GCFillStyle ,
+.ZN GCFillRule ,
+.ZN GCTile ,
+.ZN GCStipple ,
+.ZN GCTileStipXOrigin ,
+.ZN GCTileStipYOrigin ,
+.ZN GCFont ,
+.ZN GCSubwindowMode ,
+.ZN GCGraphicsExposures ,
+.ZN GCClipXOrigin ,
+.ZN GCCLipYOrigin ,
+.ZN GCDashOffset ,
+or
+.ZN GCArcMode )
+and no error occurs,
+.ZN XGetGCValues
+sets the requested components in values_return and returns a nonzero status.
+Otherwise, it returns a zero status.
+Note that the clip-mask and dash-list (represented by the
+.ZN GCClipMask
+and
+.ZN GCDashList
+bits, respectively, in the valuemask)
+cannot be requested.
+Also note that an invalid resource ID (with one or more of the three
+most significant bits set to 1) will be returned for
+.ZN GCFont ,
+.ZN GCTile ,
+and
+.ZN GCStipple
+if the component has never been explicitly set by the client.
+.LP
+The
+.ZN XFreeGC
+function destroys the specified GC as well as all the associated storage.
+.LP
+.ZN XFreeGC
+can generate a
+.ZN BadGC
+error.
+.SH STRUCTURES
+The
+.ZN XGCValues
+structure contains:
+.LP
+.LP
+/\&* GC attribute value mask bits */
+.TS
+lw(.5i) lw(2.5i) lw(.75i).
+T{
+\&#define
+T} T{
+.ZN GCFunction
+T} T{
+(1L<<0)
+T}
+T{
+\&#define
+T} T{
+.ZN GCPlaneMask
+T} T{
+(1L<<1)
+T}
+T{
+\&#define
+T} T{
+.ZN GCForeground
+T} T{
+(1L<<2)
+T}
+T{
+\&#define
+T} T{
+.ZN GCBackground
+T} T{
+(1L<<3)
+T}
+T{
+\&#define
+T} T{
+.ZN GCLineWidth
+T} T{
+(1L<<4)
+T}
+T{
+\&#define
+T} T{
+.ZN GCLineStyle
+T} T{
+(1L<<5)
+T}
+T{
+\&#define
+T} T{
+.ZN GCCapStyle
+T} T{
+(1L<<6)
+T}
+T{
+\&#define
+T} T{
+.ZN GCJoinStyle
+T} T{
+(1L<<7)
+T}
+T{
+\&#define
+T} T{
+.ZN GCFillStyle
+T} T{
+(1L<<8)
+T}
+T{
+\&#define
+T} T{
+.ZN GCFillRule
+T} T{
+(1L<<9)
+T}
+T{
+\&#define
+T} T{
+.ZN GCTile
+T} T{
+(1L<<10)
+T}
+T{
+\&#define
+T} T{
+.ZN GCStipple
+T} T{
+(1L<<11)
+T}
+T{
+\&#define
+T} T{
+.ZN GCTileStipXOrigin
+T} T{
+(1L<<12)
+T}
+T{
+\&#define
+T} T{
+.ZN GCTileStipYOrigin
+T} T{
+(1L<<13)
+T}
+T{
+\&#define
+T} T{
+.ZN GCFont
+T} T{
+(1L<<14)
+T}
+T{
+\&#define
+T} T{
+.ZN GCSubwindowMode
+T} T{
+(1L<<15)
+T}
+T{
+\&#define
+T} T{
+.ZN GCGraphicsExposures
+T} T{
+(1L<<16)
+T}
+T{
+\&#define
+T} T{
+.ZN GCClipXOrigin
+T} T{
+(1L<<17)
+T}
+T{
+\&#define
+T} T{
+.ZN GCClipYOrigin
+T} T{
+(1L<<18)
+T}
+T{
+\&#define
+T} T{
+.ZN GCClipMask
+T} T{
+(1L<<19)
+T}
+T{
+\&#define
+T} T{
+.ZN GCDashOffset
+T} T{
+(1L<<20)
+T}
+T{
+\&#define
+T} T{
+.ZN GCDashList
+T} T{
+(1L<<21)
+T}
+T{
+\&#define
+T} T{
+.ZN GCArcMode
+T} T{
+(1L<<22)
+T}
+.TE
+.IN "XGCValues" "" "@DEF@"
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+/\&* Values */
+
+typedef struct {
+ int function; /\&* logical operation */
+ unsigned long plane_mask; /\&* plane mask */
+ unsigned long foreground; /\&* foreground pixel */
+ unsigned long background; /\&* background pixel */
+ int line_width; /\&* line width (in pixels) */
+ int line_style; /\&* LineSolid, LineOnOffDash, LineDoubleDash */
+ int cap_style; /\&* CapNotLast, CapButt, CapRound, CapProjecting */
+ int join_style; /\&* JoinMiter, JoinRound, JoinBevel */
+ int fill_style; /\&* FillSolid, FillTiled, FillStippled FillOpaqueStippled*/
+ int fill_rule; /\&* EvenOddRule, WindingRule */
+ int arc_mode; /\&* ArcChord, ArcPieSlice */
+ Pixmap tile; /\&* tile pixmap for tiling operations */
+ Pixmap stipple; /\&* stipple 1 plane pixmap for stippling */
+ int ts_x_origin; /\&* offset for tile or stipple operations */
+ int ts_y_origin;
+ Font font; /\&* default text font for text operations */
+ int subwindow_mode; /\&* ClipByChildren, IncludeInferiors */
+ Bool graphics_exposures; /\&* boolean, should exposures be generated */
+ int clip_x_origin; /\&* origin for clipping */
+ int clip_y_origin;
+ Pixmap clip_mask; /\&* bitmap clipping; other calls for rects */
+ int dash_offset; /\&* patterned/dashed line information */
+ char dashes;
+} XGCValues;
+.De
+.LP
+The function attributes of a GC are used when you update a section of
+a drawable (the destination) with bits from somewhere else (the source).
+The function in a GC defines how the new destination bits are to be
+computed from the source bits and the old destination bits.
+.ZN GXcopy
+is typically the most useful because it will work on a color display,
+but special applications may use other functions,
+particularly in concert with particular planes of a color display.
+The 16 GC functions, defined in
+.hN X11/X.h ,
+are:
+.\" are listed in Table 5-1 along with the
+.\"the associated hexadecimal code
+.\" and operation.
+.\".CP T 1
+.\"Display Functions
+.TS H
+lw(1.5i) cw(.5i) lw(2i).
+_
+.sp 6p
+.B
+Function Name Value Operation
+.sp 6p
+_
+.sp 6p
+.TH
+T{
+.ZN GXclear
+T} T{
+0x0
+T} T{
+0
+T}
+T{
+.ZN GXand
+T} T{
+0x1
+T} T{
+src AND dst
+T}
+T{
+.ZN GXandReverse
+T} T{
+0x2
+T} T{
+src AND NOT dst
+T}
+T{
+.ZN GXcopy
+T} T{
+0x3
+T} T{
+src
+T}
+T{
+.ZN GXandInverted
+T} T{
+0x4
+T} T{
+(NOT src) AND dst
+T}
+T{
+.ZN GXnoop
+T} T{
+0x5
+T} T{
+dst
+T}
+T{
+.ZN GXxor
+T} T{
+0x6
+T} T{
+src XOR dst
+T}
+T{
+.ZN GXor
+T} T{
+0x7
+T} T{
+src OR dst
+T}
+T{
+.ZN GXnor
+T} T{
+0x8
+T} T{
+(NOT src) AND (NOT dst)
+T}
+T{
+.ZN GXequiv
+T} T{
+0x9
+T} T{
+(NOT src) XOR dst
+T}
+T{
+.ZN GXinvert
+T} T{
+0xa
+T} T{
+NOT dst
+T}
+T{
+.ZN GXorReverse
+T} T{
+0xb
+T} T{
+src OR (NOT dst)
+T}
+T{
+.ZN GXcopyInverted
+T} T{
+0xc
+T} T{
+NOT src
+T}
+T{
+.ZN GXorInverted
+T} T{
+0xd
+T} T{
+(NOT src) OR dst
+T}
+T{
+.ZN GXnand
+T} T{
+0xe
+T} T{
+(NOT src) OR (NOT dst)
+T}
+T{
+.ZN GXset
+T} T{
+0xf
+T} T{
+1
+T}
+.sp 6p
+_
+.TE
+.LP
+Many graphics operations depend on either pixel values or planes in a GC.
+.IN "Pixel value"
+The planes attribute is of type long, and it specifies which planes of the
+destination are to be modified, one bit per plane.
+.IN "Plane" "mask"
+A monochrome display has only one plane and
+will be the least significant bit of the word.
+As planes are added to the display hardware, they will occupy more
+significant bits in the plane mask.
+.LP
+In graphics operations, given a source and destination pixel,
+the result is computed bitwise on corresponding bits of the pixels.
+That is, a Boolean operation is performed in each bit plane.
+The plane_mask restricts the operation to a subset of planes.
+A macro constant
+.ZN AllPlanes
+can be used to refer to all planes of the screen simultaneously.
+The result is computed by the following:
+.LP
+.Ds
+((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask))
+.De
+.LP
+Range checking is not performed on the values for foreground,
+background, or plane_mask.
+They are simply truncated to the appropriate
+number of bits.
+The line-width is measured in pixels and either can be greater than or equal to
+one (wide line) or can be the special value zero (thin line).
+.LP
+Wide lines are drawn centered on the path described by the graphics request.
+Unless otherwise specified by the join-style or cap-style,
+the bounding box of a wide line with endpoints [x1, y1], [x2, y2] and
+width w is a rectangle with vertices at the following real coordinates:
+.LP
+.Ds
+.TA .5i 2.5i
+.ta .5i 2.5i
+[x1-(w*sn/2), y1+(w*cs/2)], [x1+(w*sn/2), y1-(w*cs/2)],
+[x2-(w*sn/2), y2+(w*cs/2)], [x2+(w*sn/2), y2-(w*cs/2)]
+.De
+.LP
+Here sn is the sine of the angle of the line,
+and cs is the cosine of the angle of the line.
+A pixel is part of the line and so is drawn
+if the center of the pixel is fully inside the bounding box
+(which is viewed as having infinitely thin edges).
+If the center of the pixel is exactly on the bounding box,
+it is part of the line if and only if the interior is immediately to its right
+(x increasing direction).
+Pixels with centers on a horizontal edge are a special case and are part of
+the line if and only if the interior or the boundary is immediately below
+(y increasing direction) and the interior or the boundary is immediately
+to the right (x increasing direction).
+.LP
+Thin lines (zero line-width) are one-pixel-wide lines drawn using an
+unspecified, device-dependent algorithm.
+There are only two constraints on this algorithm.
+.IP 1. 5
+If a line is drawn unclipped from [x1,y1] to [x2,y2] and
+if another line is drawn unclipped from [x1+dx,y1+dy] to [x2+dx,y2+dy],
+a point [x,y] is touched by drawing the first line
+if and only if the point [x+dx,y+dy] is touched by drawing the second line.
+.IP 2. 5
+The effective set of points comprising a line cannot be affected by clipping.
+That is, a point is touched in a clipped line if and only if the point
+lies inside the clipping region and the point would be touched
+by the line when drawn unclipped.
+.LP
+A wide line drawn from [x1,y1] to [x2,y2] always draws the same pixels
+as a wide line drawn from [x2,y2] to [x1,y1], not counting cap-style
+and join-style.
+It is recommended that this property be true for thin lines,
+but this is not required.
+A line-width of zero may differ from a line-width of one in which pixels are
+drawn.
+This permits the use of many manufacturers' line drawing hardware,
+which may run many times faster than the more precisely specified
+wide lines.
+.LP
+In general,
+drawing a thin line will be faster than drawing a wide line of width one.
+However, because of their different drawing algorithms,
+thin lines may not mix well aesthetically with wide lines.
+If it is desirable to obtain precise and uniform results across all displays,
+a client should always use a line-width of one rather than a line-width of zero.
+.LP
+The line-style defines which sections of a line are drawn:
+.TS
+lw(1.3i) lw(4.5i).
+T{
+.ZN LineSolid
+T} T{
+The full path of the line is drawn.
+T}
+.sp 6p
+T{
+.ZN LineDoubleDash
+T} T{
+The full path of the line is drawn,
+but the even dashes are filled differently
+from the odd dashes (see fill-style) with
+.ZN CapButt
+style used where even and odd dashes meet.
+T}
+.sp 6p
+T{
+.ZN LineOnOffDash
+T} T{
+Only the even dashes are drawn,
+and cap-style applies to
+all internal ends of the individual dashes,
+except
+.ZN CapNotLast
+is treated as
+.ZN CapButt .
+T}
+.TE
+.LP
+The cap-style defines how the endpoints of a path are drawn:
+.IN "Graphics context" "path"
+.TS
+lw(1.3i) lw(4.5i).
+T{
+.ZN CapNotLast
+T} T{
+This is equivalent to
+.ZN CapButt
+except that for a line-width of zero the final endpoint is not drawn.
+T}
+.sp 6p
+T{
+.ZN CapButt
+T} T{
+The line is square at the endpoint (perpendicular to the slope of the line)
+with no projection beyond.
+T}
+.sp 6p
+T{
+.ZN CapRound
+T} T{
+The line has a circular arc with the diameter equal to the line-width,
+centered on the endpoint.
+(This is equivalent to
+.ZN CapButt
+for line-width of zero).
+T}
+.sp 6p
+T{
+.ZN CapProjecting
+T} T{
+The line is square at the end, but the path continues beyond the endpoint
+for a distance equal to half the line-width.
+(This is equivalent to
+.ZN CapButt
+for line-width of zero).
+T}
+.TE
+.LP
+The join-style defines how corners are drawn for wide lines:
+.TS
+lw(1.3i) lw(4.5i).
+T{
+.ZN JoinMiter
+T} T{
+The outer edges of two lines extend to meet at an angle.
+However, if the angle is less than 11 degrees,
+then a
+.ZN JoinBevel
+join-style is used instead.
+T}
+.sp 6p
+T{
+.ZN JoinRound
+T} T{
+The corner is a circular arc with the diameter equal to the line-width,
+centered on the joinpoint.
+T}
+.sp 6p
+T{
+.ZN JoinBevel
+T} T{
+The corner has
+.ZN CapButt
+endpoint styles with the triangular notch filled.
+T}
+.TE
+.LP
+For a line with coincident endpoints (x1=x2, y1=y2),
+when the cap-style is applied to both endpoints,
+the semantics depends on the line-width and the cap-style:
+.TS
+lw(1.3i) lw(.5i) lw(4i).
+T{
+.ZN CapNotLast
+T} T{
+thin
+T} T{
+The results are device dependent,
+but the desired effect is that nothing is drawn.
+T}
+.sp 6p
+T{
+.ZN CapButt
+T} T{
+thin
+T} T{
+The results are device dependent,
+but the desired effect is that a single pixel is drawn.
+T}
+.sp 6p
+T{
+.ZN CapRound
+T} T{
+thin
+T} T{
+The results are the same as for
+.ZN CapButt /thin.
+T}
+.sp 6p
+T{
+.ZN CapProjecting
+T} T{
+thin
+T} T{
+The results are the same as for
+.ZN CapButt /thin.
+T}
+.sp 6p
+T{
+.ZN CapButt
+T} T{
+wide
+T} T{
+Nothing is drawn.
+T}
+.sp 6p
+T{
+.ZN CapRound
+T} T{
+wide
+T} T{
+The closed path is a circle, centered at the endpoint, and
+with the diameter equal to the line-width.
+T}
+.sp 6p
+T{
+.ZN CapProjecting
+T} T{
+wide
+T} T{
+The closed path is a square, aligned with the coordinate axes, centered at the
+endpoint, and with the sides equal to the line-width.
+T}
+.TE
+.LP
+For a line with coincident endpoints (x1=x2, y1=y2),
+when the join-style is applied at one or both endpoints,
+the effect is as if the line was removed from the overall path.
+However, if the total path consists of or is reduced to a single point joined
+with itself, the effect is the same as when the cap-style is applied at both
+endpoints.
+.LP
+The tile/stipple represents an infinite two-dimensional plane,
+with the tile/stipple replicated in all dimensions.
+When that plane is superimposed on the drawable
+for use in a graphics operation, the upper-left corner
+of some instance of the tile/stipple is at the coordinates within
+the drawable specified by the tile/stipple origin.
+The tile/stipple and clip origins are interpreted relative to the
+origin of whatever destination drawable is specified in a graphics
+request.
+The tile pixmap must have the same root and depth as the GC,
+or a
+.ZN BadMatch
+error results.
+The stipple pixmap must have depth one and must have the same root as the
+GC, or a
+.ZN BadMatch
+error results.
+For stipple operations where the fill-style is
+.ZN FillStippled
+but not
+.ZN FillOpaqueStippled ,
+the stipple pattern is tiled in a
+single plane and acts as an additional clip mask to be ANDed with the clip-mask.
+Although some sizes may be faster to use than others,
+any size pixmap can be used for tiling or stippling.
+.LP
+The fill-style defines the contents of the source for line, text, and
+fill requests.
+For all text and fill requests (for example,
+.ZN XDrawText ,
+.ZN XDrawText16 ,
+.ZN XFillRectangle ,
+.ZN XFillPolygon ,
+and
+.ZN XFillArc );
+for line requests
+with line-style
+.ZN LineSolid
+(for example,
+.ZN XDrawLine ,
+.ZN XDrawSegments ,
+.ZN XDrawRectangle ,
+.ZN XDrawArc );
+and for the even dashes for line requests with line-style
+.ZN LineOnOffDash
+or
+.ZN LineDoubleDash ,
+the following apply:
+.TS
+lw(1.8i) lw(4i).
+T{
+.ZN FillSolid
+T} T{
+Foreground
+T}
+.sp 6p
+T{
+.ZN FillTiled
+T} T{
+Tile
+T}
+.sp 6p
+T{
+.ZN FillOpaqueStippled
+T} T{
+A tile with the same width and height as stipple,
+but with background everywhere stipple has a zero
+and with foreground everywhere stipple has a one
+T}
+.sp 6p
+T{
+.ZN FillStippled
+T} T{
+Foreground masked by stipple
+T}
+.TE
+.LP
+When drawing lines with line-style
+.ZN LineDoubleDash ,
+the odd dashes are controlled by the fill-style in the following manner:
+.TS
+lw(1.8i) lw(4i).
+T{
+.ZN FillSolid
+T} T{
+Background
+T}
+.sp 6p
+T{
+.ZN FillTiled
+T} T{
+Same as for even dashes
+T}
+.sp 6p
+T{
+.ZN FillOpaqueStippled
+T} T{
+Same as for even dashes
+T}
+.sp 6p
+T{
+.ZN FillStippled
+T} T{
+Background masked by stipple
+T}
+.TE
+.LP
+Storing a pixmap in a GC might or might not result in a copy
+being made.
+If the pixmap is later used as the destination for a graphics request,
+the change might or might not be reflected in the GC.
+If the pixmap is used simultaneously in a graphics request both as
+a destination and as a tile or stipple,
+the results are undefined.
+.LP
+For optimum performance,
+you should draw as much as possible with the same GC
+(without changing its components).
+The costs of changing GC components relative to using different GCs
+depend on the display hardware and the server implementation.
+It is quite likely that some amount of GC information will be
+cached in display hardware and that such hardware can only cache a small number
+of GCs.
+.LP
+The dashes value is actually a simplified form of the
+more general patterns that can be set with
+.ZN XSetDashes .
+Specifying a
+value of N is equivalent to specifying the two-element list [N, N] in
+.ZN XSetDashes .
+The value must be nonzero,
+or a
+.ZN BadValue
+error results.
+.LP
+The clip-mask restricts writes to the destination drawable.
+If the clip-mask is set to a pixmap,
+it must have depth one and have the same root as the GC,
+or a
+.ZN BadMatch
+error results.
+If clip-mask is set to
+.ZN None ,
+the pixels are always drawn regardless of the clip origin.
+The clip-mask also can be set by calling the
+.ZN XSetClipRectangles
+or
+.ZN XSetRegion
+functions.
+Only pixels where the clip-mask has a bit set to 1 are drawn.
+Pixels are not drawn outside the area covered by the clip-mask
+or where the clip-mask has a bit set to 0.
+The clip-mask affects all graphics requests.
+The clip-mask does not clip sources.
+The clip-mask origin is interpreted relative to the origin of whatever
+destination drawable is specified in a graphics request.
+.LP
+You can set the subwindow-mode to
+.ZN ClipByChildren
+or
+.ZN IncludeInferiors .
+For
+.ZN ClipByChildren ,
+both source and destination windows are
+additionally clipped by all viewable
+.ZN InputOutput
+children.
+For
+.ZN IncludeInferiors ,
+neither source nor destination window is clipped by inferiors.
+This will result in including subwindow contents in the source
+and drawing through subwindow boundaries of the destination.
+The use of
+.ZN IncludeInferiors
+on a window of one depth with mapped
+inferiors of differing depth is not illegal, but the semantics are
+undefined by the core protocol.
+.LP
+The fill-rule defines what pixels are inside (drawn) for
+paths given in
+.ZN XFillPolygon
+requests and can be set to
+.ZN EvenOddRule
+or
+.ZN WindingRule .
+For
+.ZN EvenOddRule ,
+a point is inside if
+an infinite ray with the point as origin crosses the path an odd number
+of times.
+For
+.ZN WindingRule ,
+a point is inside if an infinite ray with the
+point as origin crosses an unequal number of clockwise and
+counterclockwise directed path segments.
+A clockwise directed path segment is one that crosses the ray from left to
+right as observed from the point.
+A counterclockwise segment is one that crosses the ray from right to left
+as observed from the point.
+The case where a directed line segment is coincident with the ray is
+uninteresting because you can simply choose a different ray that is not
+coincident with a segment.
+.LP
+For both
+.ZN EvenOddRule
+and
+.ZN WindingRule ,
+a point is infinitely small,
+and the path is an infinitely thin line.
+A pixel is inside if the center point of the pixel is inside
+and the center point is not on the boundary.
+If the center point is on the boundary,
+the pixel is inside if and only if the polygon interior is immediately to
+its right (x increasing direction).
+Pixels with centers on a horizontal edge are a special case
+and are inside if and only if the polygon interior is immediately below
+(y increasing direction).
+.LP
+The arc-mode controls filling in the
+.ZN XFillArcs
+function and can be set to
+.ZN ArcPieSlice
+or
+.ZN ArcChord .
+For
+.ZN ArcPieSlice ,
+the arcs are pie-slice filled.
+For
+.ZN ArcChord ,
+the arcs are chord filled.
+.LP
+The graphics-exposure flag controls
+.ZN GraphicsExpose
+event generation
+for
+.ZN XCopyArea
+and
+.ZN XCopyPlane
+requests (and any similar requests defined by extensions).
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadFont
+A value for a Font or GContext argument does not name a defined Font.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+AllPlanes(3X11),
+XCopyArea(3X11),
+XCreateRegion(3X11),
+XDrawArc(3X11),
+XDrawLine(3X11),
+XDrawRectangle(3X11),
+XDrawText(3X11),
+XFillRectangle(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateIC.man b/libX11/man/XCreateIC.man
new file mode 100644
index 000000000..9a1901eda
--- /dev/null
+++ b/libX11/man/XCreateIC.man
@@ -0,0 +1,220 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreIC.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateIC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateIC, XDestroyIC, XIMOfIC \- create, destroy, and obtain the input method of an input context
+.SH SYNTAX
+.HP
+XIC XCreateIC\^(\^XIM \fIim\fP\^, ...\^);
+.HP
+void XDestroyIC\^(\^XIC \fIic\fP\^);
+.HP
+XIM XIMOfIC\^(\^XIC \fIic\fP\^);
+.SH ARGUMENTS
+.IP \fIic\fP 1i
+Specifies the input context.
+.IP \fIim\fP 1i
+Specifies the input method.
+.ds Al \ to set XIC values
+.IP ... 1i
+Specifies the variable length argument list\*(Al.
+.SH DESCRIPTION
+The
+.ZN XCreateIC
+function creates a context within the specified input method.
+.LP
+Some of the arguments are mandatory at creation time, and
+the input context will not be created if those arguments are not provided.
+The mandatory arguments are the input style and the set of text callbacks
+(if the input style selected requires callbacks).
+All other input context values can be set later.
+.LP
+.ZN XCreateIC
+returns a NULL value if no input context could be created.
+A NULL value could be returned for any of the following reasons:
+.IP \(bu 5
+A required argument was not set.
+.IP \(bu 5
+A read-only argument was set (for example,
+.ZN XNFilterEvents ).
+.IP \(bu 5
+The argument name is not recognized.
+.IP \(bu 5
+The input method encountered an input method implementation-dependent error.
+.LP
+The
+.ZN XCreateIC
+can generate
+.ZN BadAtom ,
+.ZN BadColor ,
+.ZN BadPixmap ,
+and
+.ZN BadWindow
+errors.
+.LP
+.ZN XDestroyIC
+destroys the specified input context.
+.LP
+The
+.ZN XIMOfIC
+function returns the input method associated with the specified input context.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XOpenIM(3X11),
+XSetICFocus(3X11),
+XSetICValues(3X11),
+XmbResetIC(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateOC.man b/libX11/man/XCreateOC.man
new file mode 100644
index 000000000..7f7eb0c97
--- /dev/null
+++ b/libX11/man/XCreateOC.man
@@ -0,0 +1,227 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreOC.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateOC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateOC, XDestroyOC, XSetOCValues, XGetOCValues, XOMOfOC \- create output contexts
+.SH SYNTAX
+.HP
+XOC XCreateOC\^(\^XOM \fIom\fP\^);
+.HP
+void XDestroyOC\^(\^XOC \fIoc\fP\^);
+.HP
+char * XSetOCValues\^(\^XOC \fIoc\fP\^, ...);
+.HP
+char * XGetOCValues\^(\^XOC \fIoc\fP\^, ...);
+.HP
+XOM XOMOfOC\^(\^XOC \fIoc\fP\^);
+.SH ARGUMENTS
+.IP \fIoc\fP 1i
+Specifies the output context.
+.IP \fIom\fP 1i
+Specifies the output method.
+.ds Al \ to set or get XOC values
+.IP ... 1i
+Specifies the variable length argument list\*(Al.
+.SH DESCRIPTION
+The
+.ZN XCreateOC
+function creates an output context within the specified output method.
+.LP
+The base font names argument is mandatory at creation time, and
+the output context will not be created unless it is provided.
+All other output context values can be set later.
+.LP
+.ZN XCreateOC
+returns NULL if no output context could be created.
+NULL can be returned for any of the following reasons:
+.IP \(bu 5
+A required argument was not set.
+.IP \(bu 5
+A read-only argument was set.
+.IP \(bu 5
+An argument name is not recognized.
+.IP \(bu 5
+The output method encountered an output method implementation-dependent error.
+.LP
+The
+.ZN XDestroyOC
+function destroys the specified output context.
+.LP
+The
+.ZN XSetOCValues
+function returns NULL if no error occurred;
+otherwise,
+it returns the name of the first argument that could not be set.
+An argument might not be set for any of the following reasons:
+.IP \(bu 5
+The argument is read-only.
+.IP \(bu 5
+The argument name is not recognized.
+.IP \(bu 5
+An implementation-dependent error occurs.
+.LP
+Each value to be set must be an appropriate datum,
+matching the data type imposed by the semantics of the argument.
+.LP
+The
+.ZN XGetOCValues
+function returns NULL if no error occurred; otherwise,
+it returns the name of the first argument that could not be obtained.
+An argument might not be obtained for any of the following reasons:
+.IP \(bu 5
+The argument name is not recognized.
+.IP \(bu 5
+An implementation-dependent error occurs.
+.LP
+Each argument value
+following a name must point to a location where the value is to be stored.
+.LP
+The
+.ZN XOMOfOC
+function returns the output method associated with the
+specified output context.
+.SH "SEE ALSO"
+XCreateOM(3X11),
+XCreateFontSet(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreatePixmap.man b/libX11/man/XCreatePixmap.man
new file mode 100644
index 000000000..15938ca75
--- /dev/null
+++ b/libX11/man/XCreatePixmap.man
@@ -0,0 +1,231 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCrePmap.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreatePixmap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreatePixmap, XFreePixmap \- create or destroy pixmaps
+.SH SYNTAX
+.HP
+Pixmap XCreatePixmap\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, unsigned int
+\fIdepth\fP\^);
+.HP
+int XFreePixmap\^(\^Display *\fIdisplay\fP\^, Pixmap \fIpixmap\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies which screen the pixmap is created on.
+.IP \fIdepth\fP 1i
+Specifies the depth of the pixmap.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIpixmap\fP 1i
+Specifies the pixmap.
+.ds Wh , which define the dimensions of the pixmap
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.SH DESCRIPTION
+The
+.ZN XCreatePixmap
+function creates a pixmap of the width, height, and depth you specified
+and returns a pixmap ID that identifies it.
+It is valid to pass an
+.ZN InputOnly
+window to the drawable argument.
+The width and height arguments must be nonzero,
+or a
+.ZN BadValue
+error results.
+The depth argument must be one of the depths supported by the screen
+of the specified drawable,
+or a
+.ZN BadValue
+error results.
+.LP
+The server uses the specified drawable to determine on which screen
+to create the pixmap.
+The pixmap can be used only on this screen
+and only with other drawables of the same depth (see
+.ZN XCopyPlane
+for an exception to this rule).
+The initial contents of the pixmap are undefined.
+.LP
+.ZN XCreatePixmap
+can generate
+.ZN BadAlloc ,
+.ZN BadDrawable ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XFreePixmap
+function first deletes the association between the pixmap ID and the pixmap.
+Then, the X server frees the pixmap storage when there are no references to it.
+The pixmap should never be referenced again.
+.LP
+.ZN XFreePixmap
+can generate a
+.ZN BadPixmap
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCopyArea(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateRegion.man b/libX11/man/XCreateRegion.man
new file mode 100644
index 000000000..808d7a159
--- /dev/null
+++ b/libX11/man/XCreateRegion.man
@@ -0,0 +1,180 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreReg.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateRegion, XSetRegion, XDestroyRegion \- create or destroy regions
+.SH SYNTAX
+.HP
+Region XCreateRegion\^(void\^);
+.HP
+int XSetRegion\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Region \fIr\fP\^);
+.HP
+int XDestroyRegion\^(\^Region \fIr\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIr\fP 1i
+Specifies the region.
+.SH DESCRIPTION
+The
+.ZN XCreateRegion
+function creates a new empty region.
+.LP
+The
+.ZN XSetRegion
+function sets the clip-mask in the GC to the specified region.
+The region is specified relative to the drawable's origin.
+The resulting GC clip origin is implementation-dependent.
+Once it is set in the GC,
+the region can be destroyed.
+.LP
+The
+.ZN XDestroyRegion
+function deallocates the storage associated with a specified region.
+.SH "SEE ALSO"
+XEmptyRegion(3X11),
+XIntersectRegion(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateWindow.man b/libX11/man/XCreateWindow.man
new file mode 100644
index 000000000..c8e03ea91
--- /dev/null
+++ b/libX11/man/XCreateWindow.man
@@ -0,0 +1,498 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreWin.man,v 1.5 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XCreateWindow.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XCreateWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateWindow, XCreateSimpleWindow, XSetWindowAttributes \- create windows and window attributes structure
+.SH SYNTAX
+.HP
+Window XCreateWindow\^(\^Display *\fIdisplay\fP\^, Window \fIparent\fP\^, int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, unsigned int \fIborder_width\fP\^, int \fIdepth\fP\^, unsigned int \fIclass\fP\^, Visual *\fIvisual\fP\^, unsigned long \fIvaluemask\fP\^, XSetWindowAttributes *\fIattributes\fP\^);
+.HP
+Window XCreateSimpleWindow\^(\^Display *\fIdisplay\fP\^, Window \fIparent\fP\^, int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, unsigned int \fIborder_width\fP\^, unsigned long \fIborder\fP\^, unsigned long \fIbackground\fP\^);
+.SH ARGUMENTS
+.IP \fIattributes\fP 1i
+Specifies the structure from which the values (as specified by the value mask)
+are to be taken.
+The value mask should have the appropriate bits
+set to indicate which attributes have been set in the structure.
+.IP \fIbackground\fP 1i
+Specifies the background pixel value of the window.
+
+.IP \fIborder\fP 1i
+Specifies the border pixel value of the window.
+.IP \fIborder_width\fP 1i
+Specifies the width of the created window's border in pixels.
+.IP \fIclass\fP 1i
+Specifies the created window's class.
+You can pass
+.ZN InputOutput ,
+.ZN InputOnly ,
+or
+.ZN CopyFromParent .
+A class of
+.ZN CopyFromParent
+means the class
+is taken from the parent.
+.IP \fIdepth\fP 1i
+Specifies the window's depth.
+A depth of
+.ZN CopyFromParent
+means the depth is taken from the parent.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIparent\fP 1i
+Specifies the parent window.
+.IP \fIvaluemask\fP 1i
+Specifies which window attributes are defined in the attributes
+argument.
+This mask is the bitwise inclusive OR of the valid attribute mask bits.
+If valuemask is zero,
+the attributes are ignored and are not referenced.
+.IP \fIvisual\fP 1i
+Specifies the visual type.
+A visual of
+.ZN CopyFromParent
+means the visual type is taken from the
+parent.
+.ds Wh , which are the created window's inside dimensions \
+and do not include the created window's borders
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which are the top-left outside corner of the window's \
+borders and are relative to the inside of the parent window's borders
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XCreateWindow
+function creates an unmapped subwindow for a specified parent window,
+returns the window ID of the created window,
+and causes the X server to generate a
+.ZN CreateNotify
+event.
+The created window is placed on top in the stacking order
+with respect to siblings.
+.LP
+The coordinate system has the X axis horizontal and the Y axis vertical
+with the origin [0, 0] at the upper-left corner.
+Coordinates are integral,
+in terms of pixels,
+and coincide with pixel centers.
+Each window and pixmap has its own coordinate system.
+For a window,
+the origin is inside the border at the inside, upper-left corner.
+.LP
+The border_width for an
+.ZN InputOnly
+window must be zero, or a
+.ZN BadMatch
+error results.
+For class
+.ZN InputOutput ,
+the visual type and depth must be a combination supported for the screen,
+or a
+.ZN BadMatch
+error results.
+The depth need not be the same as the parent,
+but the parent must not be a window of class
+.ZN InputOnly ,
+or a
+.ZN BadMatch
+error results.
+For an
+.ZN InputOnly
+window,
+the depth must be zero, and the visual must be one supported by the screen.
+If either condition is not met,
+a
+.ZN BadMatch
+error results.
+The parent window, however, may have any depth and class.
+If you specify any invalid window attribute for a window, a
+.ZN BadMatch
+error results.
+.LP
+The created window is not yet displayed (mapped) on the user's display.
+To display the window, call
+.ZN XMapWindow .
+The new window initially uses the same cursor as
+its parent.
+A new cursor can be defined for the new window by calling
+.ZN XDefineCursor .
+.IN "Cursor" "Initial State"
+.IN "XDefineCursor"
+The window will not be visible on the screen unless it and all of its
+ancestors are mapped and it is not obscured by any of its ancestors.
+.LP
+.ZN XCreateWindow
+can generate
+.ZN BadAlloc
+.ZN BadColor ,
+.ZN BadCursor ,
+.ZN BadMatch ,
+.ZN BadPixmap ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XCreateSimpleWindow
+function creates an unmapped
+.ZN InputOutput
+subwindow for a specified parent window, returns the
+window ID of the created window, and causes the X server to generate a
+.ZN CreateNotify
+event.
+The created window is placed on top in the stacking order with respect to
+siblings.
+Any part of the window that extends outside its parent window is clipped.
+The border_width for an
+.ZN InputOnly
+window must be zero, or a
+.ZN BadMatch
+error results.
+.ZN XCreateSimpleWindow
+inherits its depth, class, and visual from its parent.
+All other window attributes, except background and border,
+have their default values.
+.LP
+.ZN XCreateSimpleWindow
+can generate
+.ZN BadAlloc ,
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.SH STRUCTURES
+The
+.ZN XSetWindow Attributes
+structure contains:
+.LP
+.LP
+/\&* Window attribute value mask bits */
+.TS
+lw(.5i) lw(2.5i) lw(.8i).
+T{
+\&#define
+T} T{
+.ZN CWBackPixmap
+T} T{
+(1L<<0)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBackPixel
+T} T{
+(1L<<1)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBorderPixmap
+T} T{
+(1L<<2)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBorderPixel
+T} T{
+(1L<<3)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBitGravity
+T} T{
+(1L<<4)
+T}
+T{
+\&#define
+T} T{
+.ZN CWWinGravity
+T} T{
+(1L<<5)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBackingStore
+T} T{
+(1L<<6)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBackingPlanes
+T} T{
+(1L<<7)
+T}
+T{
+\&#define
+T} T{
+.ZN CWBackingPixel
+T} T{
+(1L<<8)
+T}
+T{
+\&#define
+T} T{
+.ZN CWOverrideRedirect
+T} T{
+(1L<<9)
+T}
+T{
+\&#define
+T} T{
+.ZN CWSaveUnder
+T} T{
+(1L<<10)
+T}
+T{
+\&#define
+T} T{
+.ZN CWEventMask
+T} T{
+(1L<<11)
+T}
+T{
+\&#define
+T} T{
+.ZN CWDontPropagate
+T} T{
+(1L<<12)
+T}
+T{
+\&#define
+T} T{
+.ZN CWColormap
+T} T{
+(1L<<13)
+T}
+T{
+\&#define
+T} T{
+.ZN CWCursor
+T} T{
+(1L<<14)
+T}
+.TE
+.IN "XSetWindowAttributes" "" "@DEF@"
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+/\&* Values */
+
+typedef struct {
+ Pixmap background_pixmap; /\&* background, None, or ParentRelative */
+ unsigned long background_pixel; /\&* background pixel */
+ Pixmap border_pixmap; /\&* border of the window or CopyFromParent */
+ unsigned long border_pixel; /\&* border pixel value */
+ int bit_gravity; /\&* one of bit gravity values */
+ int win_gravity; /\&* one of the window gravity values */
+ int backing_store; /\&* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes; /\&* planes to be preserved if possible */
+ unsigned long backing_pixel; /\&* value to use in restoring planes */
+ Bool save_under; /\&* should bits under be saved? (popups) */
+ long event_mask; /\&* set of events that should be saved */
+ long do_not_propagate_mask; /\&* set of events that should not propagate */
+ Bool override_redirect; /\&* boolean value for override_redirect */
+ Colormap colormap; /\&* color map to be associated with window */
+ Cursor cursor; /\&* cursor to be displayed (or None) */
+} XSetWindowAttributes;
+.De
+.LP
+For a detailed explanation of the members of this structure,
+see \fI\*(xL\fP\^.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadMatch
+The values do not exist for an
+.ZN InputOnly
+window.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XConfigureWindow(3X11),
+XDefineCursor(3X11),
+XDestroyWindow(3X11),
+XMapWindow(3X11),
+XRaiseWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCreateWindowEvent.man b/libX11/man/XCreateWindowEvent.man
new file mode 100644
index 000000000..8574f4e0b
--- /dev/null
+++ b/libX11/man/XCreateWindowEvent.man
@@ -0,0 +1,231 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCWEvent.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XCreateWindowEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateWindowEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCreateWindowEvent \- CreateNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN CreateNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* CreateNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window parent; /\&* parent of the window */
+ Window window; /\&* window id of window created */
+ int x, y; /\&* window location */
+ int width, height; /\&* size of window */
+ int border_width; /\&* border width */
+ Bool override_redirect; /\&* creation should be overridden */
+} XCreateWindowEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The parent member is set to the created window's parent.
+The window member specifies the created window.
+The x and y members are set to the created window's coordinates relative
+to the parent window's origin and indicate the position of the upper-left
+outside corner of the created window.
+The width and height members are set to the inside size of the created window
+(not including the border) and are always nonzero.
+The border_width member is set to the width of the created window's border, in pixels.
+The override_redirect member is set to the override-redirect attribute of the
+window.
+Window manager clients normally should ignore this window
+if the override_redirect member is
+.ZN True .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XCrossingEvent.man b/libX11/man/XCrossingEvent.man
new file mode 100644
index 000000000..1556b4887
--- /dev/null
+++ b/libX11/man/XCrossingEvent.man
@@ -0,0 +1,328 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCroEvent.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XCrossingEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCrossingEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XCrossingEvent \- EnterNotify and LeaveNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN EnterNotify
+and
+.ZN LeaveNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* EnterNotify or LeaveNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window; /\&* ``event'' window reported relative to */
+ Window root; /\&* root window that the event occurred on */
+ Window subwindow; /\&* child window */
+ Time time; /\&* milliseconds */
+ int x, y; /\&* pointer x, y coordinates in event window */
+ int x_root, y_root; /\&* coordinates relative to root */
+ int mode; /\&* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /\&*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual
+ */
+ Bool same_screen; /\&* same screen flag */
+ Bool focus; /\&* boolean focus */
+ unsigned int state; /\&* key or button mask */
+} XCrossingEvent;
+typedef XCrossingEvent XEnterWindowEvent;
+typedef XCrossingEvent XLeaveWindowEvent;
+.De
+.LP
+When you receive these events,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the window on which the
+.ZN EnterNotify
+or
+.ZN LeaveNotify
+event was generated and is referred to as the event window.
+This is the window used by the X server to report the event,
+and is relative to the root
+window on which the event occurred.
+The root member is set to the root window of the screen
+on which the event occurred.
+.LP
+For a
+.ZN LeaveNotify
+event,
+if a child of the event window contains the initial position of the pointer,
+the subwindow component is set to that child.
+Otherwise, the X server sets the subwindow member to
+.ZN None .
+For an
+.ZN EnterNotify
+event, if a child of the event window contains the final pointer position,
+the subwindow component is set to that child or
+.ZN None .
+.LP
+The time member is set to the time when the event was generated
+and is expressed in milliseconds.
+The x and y members are set to the coordinates of the pointer position in
+the event window.
+This position is always the pointer's final position,
+not its initial position.
+If the event window is on the same
+screen as the root window, x and y are the pointer coordinates
+relative to the event window's origin.
+Otherwise, x and y are set to zero.
+The x_root and y_root members are set to the pointer's coordinates relative to the
+root window's origin at the time of the event.
+.LP
+The same_screen member is set to indicate whether the event window is on the same screen
+as the root window and can be either
+.ZN True
+or
+.ZN False .
+If
+.ZN True ,
+the event and root windows are on the same screen.
+If
+.ZN False ,
+the event and root windows are not on the same screen.
+.LP
+The focus member is set to indicate whether the event window is the focus window or an
+inferior of the focus window.
+The X server can set this member to either
+.ZN True
+or
+.ZN False .
+If
+.ZN True ,
+the event window is the focus window or an inferior of the focus window.
+If
+.ZN False ,
+the event window is not the focus window or an inferior of the focus window.
+.LP
+The state member is set to indicate the state of the pointer buttons and
+modifier keys just prior to the
+event.
+The X server can set this member to the bitwise inclusive OR of one
+or more of the button or modifier key masks:
+.ZN Button1Mask ,
+.ZN Button2Mask ,
+.ZN Button3Mask ,
+.ZN Button4Mask ,
+.ZN Button5Mask ,
+.ZN ShiftMask ,
+.ZN LockMask ,
+.ZN ControlMask ,
+.ZN Mod1Mask ,
+.ZN Mod2Mask ,
+.ZN Mod3Mask ,
+.ZN Mod4Mask ,
+.ZN Mod5Mask .
+.LP
+The mode member is set to indicate whether the events are normal events,
+pseudo-motion events
+when a grab activates, or pseudo-motion events when a grab deactivates.
+The X server can set this member to
+.ZN NotifyNormal ,
+.ZN NotifyGrab ,
+or
+.ZN NotifyUngrab .
+.LP
+The detail member is set to indicate the notify detail and can be
+.ZN NotifyAncestor ,
+.ZN NotifyVirtual ,
+.ZN NotifyInferior ,
+.ZN NotifyNonlinear ,
+or
+.ZN NotifyNonlinearVirtual .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDefineCursor.man b/libX11/man/XDefineCursor.man
new file mode 100644
index 000000000..a3000d23e
--- /dev/null
+++ b/libX11/man/XDefineCursor.man
@@ -0,0 +1,202 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDefCur.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDefineCursor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDefineCursor, XUndefineCursor \- define cursors
+.SH SYNTAX
+.HP
+int XDefineCursor\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Cursor
+\fIcursor\fP\^);
+.HP
+int XUndefineCursor\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIcursor\fP 1i
+Specifies the cursor that is to be displayed or
+.ZN None .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+If a cursor is set, it will be used when the pointer is in the window.
+If the cursor is
+.ZN None ,
+it is equivalent to
+.ZN XUndefineCursor .
+.LP
+.ZN XDefineCursor
+can generate
+.ZN BadCursor
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XUndefineCursor
+function undoes the effect of a previous
+.ZN XDefineCursor
+for this window.
+When the pointer is in the window,
+the parent's cursor will now be used.
+On the root window,
+the default cursor is restored.
+.LP
+.ZN XUndefineCursor
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XCreateFontCursor(3X11),
+XRecolorCursor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDestroyWindow.man b/libX11/man/XDestroyWindow.man
new file mode 100644
index 000000000..ca4413412
--- /dev/null
+++ b/libX11/man/XDestroyWindow.man
@@ -0,0 +1,218 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDesWin.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDestroyWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDestroyWindow, XDestroySubwindows \- destroy windows
+.SH SYNTAX
+.HP
+int XDestroyWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XDestroySubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XDestroyWindow
+function destroys the specified window as well as all of its subwindows and causes
+the X server to generate a
+.ZN DestroyNotify
+event for each window.
+The window should never be referenced again.
+If the window specified by the w argument is mapped,
+it is unmapped automatically.
+The ordering of the
+.ZN DestroyNotify
+events is such that for any given window being destroyed,
+.ZN DestroyNotify
+is generated on any inferiors of the window before being generated on
+the window itself.
+The ordering among siblings and across subhierarchies is not otherwise
+constrained.
+If the window you specified is a root window, no windows are destroyed.
+Destroying a mapped window will generate
+.ZN Expose
+events on other windows that were obscured by the window being destroyed.
+.LP
+.ZN XDestroyWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XDestroySubwindows
+function destroys all inferior windows of the specified window,
+in bottom-to-top stacking order.
+It causes the X server to generate a
+.ZN DestroyNotify
+event for each window.
+If any mapped
+subwindows were actually destroyed,
+.ZN XDestroySubwindows
+causes the X server to generate
+.ZN Expose
+events on the specified window.
+This is much more efficient than deleting many windows
+one at a time because much of the work need be performed only once for all
+of the windows, rather than for each window.
+The subwindows should never be referenced again.
+.LP
+.ZN XDestroySubwindows
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XConfigureWindow(3X11),
+XCreateWindow(3X11),
+XMapWindow(3X11),
+XRaiseWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDestroyWindowEvent.man b/libX11/man/XDestroyWindowEvent.man
new file mode 100644
index 000000000..91c024b60
--- /dev/null
+++ b/libX11/man/XDestroyWindowEvent.man
@@ -0,0 +1,221 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDWEvent.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XDestroyWindowEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDestroyWindowEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDestroyWindowEvent \- DestroyNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN DestroyNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* DestroyNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+} XDestroyWindowEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the destroyed window or to its parent,
+depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+The window member is set to the window that is destroyed.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawArc.man b/libX11/man/XDrawArc.man
new file mode 100644
index 000000000..af2527678
--- /dev/null
+++ b/libX11/man/XDrawArc.man
@@ -0,0 +1,341 @@
+'\" e
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrArc.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XDrawArc.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.de EX
+.sp
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+.sp
+..
+'\" e
+.TH XDrawArc __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawArc, XDrawArcs, XArc \- draw arcs and arc structure
+.SH SYNTAX
+.HP
+int XDrawArc\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int
+\fIheight\fP\^, int \fIangle1\fP\^, int \fIangle2\fP\^);
+.HP
+int XDrawArcs\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+XArc *\fIarcs\fP\^, int \fInarcs\fP\^);
+.SH ARGUMENTS
+.IP \fIangle1\fP 1i
+Specifies the start of the arc relative to the three-o'clock position
+from the center, in units of degrees * 64.
+.IP \fIangle2\fP 1i
+Specifies the path and extent of the arc relative to the start of the
+arc, in units of degrees * 64.
+.IP \fIarcs\fP 1i
+Specifies an array of arcs.
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fInarcs\fP 1i
+Specifies the number of arcs in the array.
+.ds Wh , which are the major and minor axes of the arc
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which are relative to the origin of the drawable \
+and specify the upper-left corner of the bounding rectangle
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+.EQ
+delim %%
+.EN
+.ZN XDrawArc
+draws a single circular or elliptical arc, and
+.ZN XDrawArcs
+draws multiple circular or elliptical arcs.
+Each arc is specified by a rectangle and two angles.
+The center of the circle or ellipse is the center of the
+rectangle, and the major and minor axes are specified by the width and height.
+Positive angles indicate counterclockwise motion,
+and negative angles indicate clockwise motion.
+If the magnitude of angle2 is greater than 360 degrees,
+.ZN XDrawArc
+or
+.ZN XDrawArcs
+truncates it to 360 degrees.
+.LP
+For an arc specified as %[ ~x, ~y, ~width , ~height, ~angle1, ~angle2 ]%,
+the origin of the major and minor axes is at
+% [ x +^ {width over 2} , ~y +^ {height over 2} ]%,
+and the infinitely thin path describing the entire circle or ellipse
+intersects the horizontal axis at % [ x, ~y +^ {height over 2} ]% and
+% [ x +^ width , ~y +^ { height over 2 }] %
+and intersects the vertical axis at % [ x +^ { width over 2 } , ~y ]% and
+% [ x +^ { width over 2 }, ~y +^ height ]%.
+These coordinates can be fractional
+and so are not truncated to discrete coordinates.
+The path should be defined by the ideal mathematical path.
+For a wide line with line-width lw,
+the bounding outlines for filling are given
+by the two infinitely thin paths consisting of all points whose perpendicular
+distance from the path of the circle/ellipse is equal to lw/2
+(which may be a fractional value).
+The cap-style and join-style are applied the same as for a line
+corresponding to the tangent of the circle/ellipse at the endpoint.
+.LP
+For an arc specified as % [ ~x, ~y, ~width, ~height, ~angle1, ~angle2 ]%,
+the angles must be specified
+in the effectively skewed coordinate system of the ellipse (for a
+circle, the angles and coordinate systems are identical). The
+relationship between these angles and angles expressed in the normal
+coordinate system of the screen (as measured with a protractor) is as
+follows:
+.LP
+.Ds
+% roman "skewed-angle" ~ = ~ atan left ( tan ( roman "normal-angle" )
+ * width over height right ) +^ adjust%
+.De
+.LP
+The skewed-angle and normal-angle are expressed in radians (rather
+than in degrees scaled by 64) in the range % [ 0 , ~2 pi ]% and where atan
+returns a value in the range % [ - pi over 2 , ~pi over 2 ] %
+and adjust is:
+.LP
+.TS
+l l.
+%0% for normal-angle in the range % [ 0 , ~pi over 2 ]%
+%pi% for normal-angle in the range % [ pi over 2 , ~{3 pi} over 2 ]%
+%2 pi% for normal-angle in the range % [ {3 pi} over 2 , ~2 pi ]%
+.TE
+.LP
+For any given arc,
+.ZN XDrawArc
+and
+.ZN XDrawArcs
+do not draw a pixel more than once.
+If two arcs join correctly and if the line-width is greater than zero
+and the arcs intersect,
+.ZN XDrawArc
+and
+.ZN XDrawArcs
+do not draw a pixel more than once.
+Otherwise,
+the intersecting pixels of intersecting arcs are drawn multiple times.
+Specifying an arc with one endpoint and a clockwise extent draws the same pixels
+as specifying the other endpoint and an equivalent counterclockwise extent,
+except as it affects joins.
+.LP
+If the last point in one arc coincides with the first point in the following
+arc, the two arcs will join correctly.
+If the first point in the first arc coincides with the last point in the last
+arc, the two arcs will join correctly.
+By specifying one axis to be zero, a horizontal or vertical line can be
+drawn.
+Angles are computed based solely on the coordinate system and ignore the
+aspect ratio.
+.LP
+Both functions use these GC components:
+function, plane-mask, line-width, line-style, cap-style, join-style,
+fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
+They also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+tile-stipple-y-origin, dash-offset, and dash-list.
+.LP
+.ZN XDrawArc
+and
+.ZN XDrawArcs
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.SH STRUCTURES
+The
+.ZN XArc
+structure contains:
+.LP
+.EX
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ short angle1, angle2; /\&* Degrees * 64 */
+} XArc;
+.EE
+.LP
+All x and y members are signed integers.
+The width and height members are 16-bit unsigned integers.
+You should be careful not to generate coordinates and sizes
+out of the 16-bit ranges, because the protocol only has 16-bit fields
+for these values.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.SH "SEE ALSO"
+XDrawLine(3X11),
+XDrawPoint(3X11),
+XDrawRectangle(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawImageString.man b/libX11/man/XDrawImageString.man
new file mode 100644
index 000000000..38a581114
--- /dev/null
+++ b/libX11/man/XDrawImageString.man
@@ -0,0 +1,253 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrIStr.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDrawImageString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawImageString, XDrawImageString16 \- draw image text
+.SH SYNTAX
+.HP
+int XDrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, char *\fIstring\fP\^, int
+\fIlength\fP\^);
+.HP
+int XDrawImageString16\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XChar2b *\fIstring\fP\^, int
+\fIlength\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIlength\fP 1i
+Specifies the number of characters in the string argument.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.ds Xy , which are relative to the origin of the specified drawable \
+and define the origin of the first character
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XDrawImageString16
+function is similar to
+.ZN XDrawImageString
+except that it uses 2-byte or 16-bit characters.
+Both functions also use both the foreground and background pixels
+of the GC in the destination.
+.LP
+The effect is first to fill a
+destination rectangle with the background pixel defined in the GC and then
+to paint the text with the foreground pixel.
+The upper-left corner of the filled rectangle is at:
+.LP
+.Ds
+[x, y \- font-ascent]
+.De
+.LP
+The width is:
+.LP
+.Ds
+overall-width
+.De
+.LP
+The height is:
+.LP
+.Ds
+font-ascent + font-descent
+.De
+.LP
+The overall-width, font-ascent, and font-descent
+are as would be returned by
+.ZN XQueryTextExtents
+using gc and string.
+The function and fill-style defined in the GC are ignored for these functions.
+The effective function is
+.ZN GXcopy ,
+and the effective fill-style is
+.ZN FillSolid .
+.LP
+For fonts defined with 2-byte matrix indexing
+and used with
+.ZN XDrawImageString ,
+each byte is used as a byte2 with a byte1 of zero.
+.LP
+Both functions use these GC components:
+plane-mask, foreground, background, font, subwindow-mode, clip-x-origin,
+clip-y-origin, and clip-mask.
+.LP
+.ZN XDrawImageString
+and
+.ZN XDrawImageString16
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.SH "SEE ALSO"
+XDrawString(3X11),
+XDrawText(3X11),
+XLoadFont(3X11),
+XTextExtents(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawLine.man b/libX11/man/XDrawLine.man
new file mode 100644
index 000000000..03ae3450e
--- /dev/null
+++ b/libX11/man/XDrawLine.man
@@ -0,0 +1,309 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrLine.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDrawLine __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawLine, XDrawLines, XDrawSegments, XSegment \- draw lines, polygons, and line structure
+.SH SYNTAX
+.HP
+int XDrawLine\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+int \fIx1\fP\^, int \fIy1\fP\^, int \fIx2\fP\^, int \fIy2\fP\^);
+.HP
+int XDrawLines\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, XPoint *\fIpoints\fP\^, int \fInpoints\fP\^, int \fImode\fP\^);
+.HP
+int XDrawSegments\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, XSegment *\fIsegments\fP\^, int \fInsegments\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fImode\fP 1i
+Specifies the coordinate mode.
+You can pass
+.ZN CoordModeOrigin
+or
+.ZN CoordModePrevious .
+.IP \fInpoints\fP 1i
+Specifies the number of points in the array.
+.IP \fInsegments\fP 1i
+Specifies the number of segments in the array.
+.IP \fIpoints\fP 1i
+Specifies an array of points.
+.IP \fIsegments\fP 1i
+Specifies an array of segments.
+.IP \fIx1\fP 1i
+.br
+.ns
+.IP \fIy1\fP 1i
+.br
+.ns
+.IP \fIx2\fP 1i
+.br
+.ns
+.IP \fIy2\fP 1i
+Specify the points (x1, y1) and (x2, y2) to be connected.
+.SH DESCRIPTION
+The
+.ZN XDrawLine
+function uses the components of the specified GC to
+draw a line between the specified set of points (x1, y1) and (x2, y2).
+It does not perform joining at coincident endpoints.
+For any given line,
+.ZN XDrawLine
+does not draw a pixel more than once.
+If lines intersect, the intersecting pixels are drawn multiple times.
+.LP
+The
+.ZN XDrawLines
+function uses the components of the specified GC to draw
+npoints\-1 lines between each pair of points (point[i], point[i+1])
+in the array of
+.ZN XPoint
+structures.
+It draws the lines in the order listed in the array.
+The lines join correctly at all intermediate points, and if the first and last
+points coincide, the first and last lines also join correctly.
+For any given line,
+.ZN XDrawLines
+does not draw a pixel more than once.
+If thin (zero line-width) lines intersect,
+the intersecting pixels are drawn multiple times.
+If wide lines intersect, the intersecting pixels are drawn only once, as though
+the entire
+.ZN PolyLine
+protocol request were a single, filled shape.
+.ZN CoordModeOrigin
+treats all coordinates as relative to the origin,
+and
+.ZN CoordModePrevious
+treats all coordinates after the first as relative to the previous point.
+.LP
+The
+.ZN XDrawSegments
+function draws multiple, unconnected lines.
+For each segment,
+.ZN XDrawSegments
+draws a
+line between (x1, y1) and (x2, y2).
+It draws the lines in the order listed in the array of
+.ZN XSegment
+structures and does not perform joining at coincident endpoints.
+For any given line,
+.ZN XDrawSegments
+does not draw a pixel more than once.
+If lines intersect, the intersecting pixels are drawn multiple times.
+.LP
+All three functions use these GC components:
+function, plane-mask, line-width,
+line-style, cap-style, fill-style, subwindow-mode,
+clip-x-origin, clip-y-origin, and clip-mask.
+The
+.ZN XDrawLines
+function also uses the join-style GC component.
+All three functions also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+tile-stipple-y-origin, dash-offset, and dash-list.
+.LP
+.ZN XDrawLine ,
+.ZN XDrawLines ,
+and
+.ZN XDrawSegments
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.ZN XDrawLines
+can also generate a
+.ZN BadValue
+error.
+.SH STRUCTURES
+The
+.ZN XSegment
+structure contains:
+.LP
+.Ds 0
+.TA .5i
+.ta .5i
+typedef struct {
+ short x1, y1, x2, y2;
+} XSegment;
+.De
+.LP
+All x and y members are signed integers.
+The width and height members are 16-bit unsigned integers.
+You should be careful not to generate coordinates and sizes
+out of the 16-bit ranges, because the protocol only has 16-bit fields
+for these values.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XDrawArc(3X11),
+XDrawPoint(3X11),
+XDrawRectangle(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawPoint.man b/libX11/man/XDrawPoint.man
new file mode 100644
index 000000000..37be5f546
--- /dev/null
+++ b/libX11/man/XDrawPoint.man
@@ -0,0 +1,253 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrPoint.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDrawPoint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawPoint, XDrawPoints, XPoint \- draw points and points structure
+.SH SYNTAX
+.HP
+int XDrawPoint\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^);
+.HP
+int XDrawPoints\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, XPoint *\fIpoints\fP\^, int \fInpoints\fP\^, int \fImode\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fImode\fP 1i
+Specifies the coordinate mode.
+You can pass
+.ZN CoordModeOrigin
+or
+.ZN CoordModePrevious .
+.IP \fInpoints\fP 1i
+Specifies the number of points in the array.
+.IP \fIpoints\fP 1i
+Specifies an array of points.
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates where you want the point drawn.
+.SH DESCRIPTION
+The
+.ZN XDrawPoint
+function uses the foreground pixel and function components of the
+GC to draw a single point into the specified drawable;
+.ZN XDrawPoints
+draws multiple points this way.
+.ZN CoordModeOrigin
+treats all coordinates as relative to the origin,
+and
+.ZN CoordModePrevious
+treats all coordinates after the first as relative to the previous point.
+.ZN XDrawPoints
+draws the points in the order listed in the array.
+.LP
+Both functions use these GC components: function, plane-mask,
+foreground, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
+.LP
+.ZN XDrawPoint
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.ZN XDrawPoints
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.SH STRUCTURES
+The
+.ZN XPoint
+structure contains:
+.LP
+.Ds 0
+.TA .5i
+.ta .5i
+typedef struct {
+ short x, y;
+} XPoint;
+.De
+.LP
+All x and y members are signed integers.
+The width and height members are 16-bit unsigned integers.
+You should be careful not to generate coordinates and sizes
+out of the 16-bit ranges, because the protocol only has 16-bit fields
+for these values.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XDrawArc(3X11),
+XDrawLine(3X11),
+XDrawRectangle(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawRectangle.man b/libX11/man/XDrawRectangle.man
new file mode 100644
index 000000000..a210cad1a
--- /dev/null
+++ b/libX11/man/XDrawRectangle.man
@@ -0,0 +1,253 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrRect.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDrawRectangle __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawRectangle, XDrawRectangles, XRectangle \- draw rectangles and rectangles structure
+.SH SYNTAX
+.HP
+int XDrawRectangle\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned
+int \fIheight\fP\^);
+.HP
+int XDrawRectangles\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, XRectangle \fIrectangles\fP\^[\^]\^, int \fInrectangles\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fInrectangles\fP 1i
+Specifies the number of rectangles in the array.
+.IP \fIrectangles\fP 1i
+Specifies an array of rectangles.
+.ds Wh , which specify the dimensions of the rectangle
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which specify the upper-left corner of the rectangle
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XDrawRectangle
+and
+.ZN XDrawRectangles
+functions draw the outlines of the specified rectangle or rectangles as
+if a five-point
+.ZN PolyLine
+protocol request were specified for each rectangle:
+.IP
+[x,y] [x+width,y] [x+width,y+height] [x,y+height] [x,y]
+.LP
+For the specified rectangle or rectangles,
+these functions do not draw a pixel more than once.
+.ZN XDrawRectangles
+draws the rectangles in the order listed in the array.
+If rectangles intersect,
+the intersecting pixels are drawn multiple times.
+.LP
+Both functions use these GC components:
+function, plane-mask, line-width,
+line-style, cap-style, join-style, fill-style,
+subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
+They also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+tile-stipple-y-origin, dash-offset, and dash-list.
+.LP
+.ZN XDrawRectangle
+and
+.ZN XDrawRectangles
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.SH STRUCTURES
+The
+.ZN XRectangle
+structure contains:
+.LP
+.Ds 0
+.TA .5i
+.ta .5i
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+} XRectangle;
+.De
+.LP
+All x and y members are signed integers.
+The width and height members are 16-bit unsigned integers.
+You should be careful not to generate coordinates and sizes
+out of the 16-bit ranges, because the protocol only has 16-bit fields
+for these values.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.SH "SEE ALSO"
+XDrawArc(3X11),
+XDrawLine(3X11),
+XDrawPoint(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawString.man b/libX11/man/XDrawString.man
new file mode 100644
index 000000000..767be9915
--- /dev/null
+++ b/libX11/man/XDrawString.man
@@ -0,0 +1,219 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrString.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDrawString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawString, XDrawString16 \- draw text characters
+.SH SYNTAX
+.HP
+int XDrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, char *\fIstring\fP\^, int
+\fIlength\fP\^);
+.HP
+int XDrawString16\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XChar2b *\fIstring\fP\^, int
+\fIlength\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIlength\fP 1i
+Specifies the number of characters in the string argument.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.ds Xy , which are relative to the origin of the specified drawable \
+and define the origin of the first character
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+Each character image, as defined by the font in the GC, is treated as an
+additional mask for a fill operation on the drawable.
+The drawable is modified only where the font character has a bit set to 1.
+For fonts defined with 2-byte matrix indexing
+and used with
+.ZN XDrawString16 ,
+each byte is used as a byte2 with a byte1 of zero.
+.LP
+Both functions use these GC components:
+function, plane-mask, fill-style, font, subwindow-mode, clip-x-origin,
+clip-y-origin, and clip-mask.
+They also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+and tile-stipple-y-origin.
+.LP
+.ZN XDrawString
+and
+.ZN XDrawString16
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.SH "SEE ALSO"
+XDrawImageString(3X11),
+XDrawText(3X11),
+XLoadFont(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XDrawText.man b/libX11/man/XDrawText.man
new file mode 100644
index 000000000..ae2e44e71
--- /dev/null
+++ b/libX11/man/XDrawText.man
@@ -0,0 +1,291 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XDrText.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XDrawText.man,v 1.3 2005-08-17 01:27:08 alanc Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XDrawText __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XDrawText, XDrawText16, XTextItem, XTextItem16 \- draw polytext text and text drawing structures
+.SH SYNTAX
+.HP
+int XDrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+int \fIx\fP\^, int \fIy\fP\^, XTextItem *\fIitems\fP\^, int \fInitems\fP\^);
+.HP
+int XDrawText16\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XTextItem16 *\fIitems\fP\^, int
+\fInitems\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIitems\fP 1i
+Specifies an array of text items.
+.IP \fInitems\fP 1i
+Specifies the number of text items in the array.
+.ds Xy , which are relative to the origin of the specified drawable \
+and define the origin of the first character
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XDrawText16
+function is similar to
+.ZN XDrawText
+except that it uses 2-byte or 16-bit characters.
+Both functions allow complex spacing and font shifts between counted strings.
+.LP
+Each text item is processed in turn.
+A font member other than
+.ZN None
+in an item causes the font to be stored in the GC
+and used for subsequent text.
+A text element delta specifies an additional change
+in the position along the x axis before the string is drawn.
+The delta is always added to the character origin
+and is not dependent on any characteristics of the font.
+Each character image, as defined by the font in the GC, is treated as an
+additional mask for a fill operation on the drawable.
+The drawable is modified only where the font character has a bit set to 1.
+If a text item generates a
+.ZN BadFont
+error, the previous text items may have been drawn.
+.LP
+For fonts defined with linear indexing rather than 2-byte matrix indexing,
+each
+.ZN XChar2b
+structure is interpreted as a 16-bit number with byte1 as the
+most significant byte.
+.LP
+Both functions use these GC components:
+function, plane-mask, fill-style, font, subwindow-mode,
+clip-x-origin, clip-y-origin, and clip-mask.
+They also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+and tile-stipple-y-origin.
+.LP
+.ZN XDrawText
+and
+.ZN XDrawText16
+can generate
+.ZN BadDrawable ,
+.ZN BadFont ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.SH STRUCTURES
+The
+.ZN XTextItem
+and
+.ZN XTextItem16
+structures contain:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ char *chars; /\&* pointer to string */
+ int nchars; /\&* number of characters */
+ int delta; /\&* delta between strings */
+ Font font; /\&* Font to print it in, None don't change */
+} XTextItem;
+.De
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ XChar2b *chars; /\&* pointer to two-byte characters */
+ int nchars; /\&* number of characters */
+ int delta; /\&* delta between strings */
+ Font font; /\&* font to print it in, None don't change */
+} XTextItem16;
+.De
+.LP
+If the font member is not
+.ZN None ,
+the font is changed before printing and also is stored in the GC.
+If an error was generated during text drawing,
+the previous items may have been drawn.
+The baseline of the characters are drawn starting at the x and y
+coordinates that you pass in the text drawing functions.
+.LP
+For example, consider the background rectangle drawn by
+.ZN XDrawImageString .
+If you want the upper-left corner of the background rectangle
+to be at pixel coordinate (x,y), pass the (x,y + ascent)
+as the baseline origin coordinates to the text functions.
+The ascent is the font ascent, as given in the
+.ZN XFontStruct
+structure.
+If you want the lower-left corner of the background rectangle
+to be at pixel coordinate (x,y), pass the (x,y \- descent + 1)
+as the baseline origin coordinates to the text functions.
+The descent is the font descent, as given in the
+.ZN XFontStruct
+structure.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadFont
+A value for a Font or GContext argument does not name a defined Font.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.SH "SEE ALSO"
+XDrawImageString(3X11),
+XDrawString(3X11),
+XLoadFont(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XEmptyRegion.man b/libX11/man/XEmptyRegion.man
new file mode 100644
index 000000000..372119966
--- /dev/null
+++ b/libX11/man/XEmptyRegion.man
@@ -0,0 +1,210 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XERegion.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XEmptyRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XEmptyRegion, XEqualRegion, XPointInRegion, XRectInRegion \- determine if regions are empty or equal
+.SH SYNTAX
+.HP
+Bool XEmptyRegion\^(\^Region \fIr\fP\^);
+.HP
+Bool XEqualRegion\^(\^Region \fIr1\fP\^, Region \fIr2\fP\^);
+.HP
+Bool XPointInRegion\^(\^Region \fIr\fP\^, int \fIx\fP\^, int \fIy\fP\^);
+.HP
+int XRectInRegion\^(\^Region \fIr\fP\^, int \fIx\fP\^, int \fIy\fP\^, unsigned
+int \fIwidth\fP\^, unsigned int \fIheight\fP\^);
+.SH ARGUMENTS
+.IP \fIr\fP 1i
+Specifies the region.
+.IP \fIr1\fP 1i
+.br
+.ns
+.IP \fIr2\fP 1i
+Specify the two regions.
+.ds Wh , which define the rectangle
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which define the point \
+or the coordinates of the upper-left corner of the rectangle
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XEmptyRegion
+function returns
+.ZN True
+if the region is empty.
+.LP
+The
+.ZN XEqualRegion
+function returns
+.ZN True
+if the two regions have the same offset, size, and shape.
+.LP
+The
+.ZN XPointInRegion
+function returns
+.ZN True
+if the point (x, y) is contained in the region r.
+.LP
+The
+.ZN XRectInRegion
+function returns
+.ZN RectangleIn
+if the rectangle is entirely in the specified region,
+.ZN RectangleOut
+if the rectangle is entirely out of the specified region,
+and
+.ZN RectanglePart
+if the rectangle is partially in the specified region.
+.SH "SEE ALSO"
+XCreateRegion(3X11),
+XIntersectRegion(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XErrorEvent.man b/libX11/man/XErrorEvent.man
new file mode 100644
index 000000000..c74b46b25
--- /dev/null
+++ b/libX11/man/XErrorEvent.man
@@ -0,0 +1,205 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XErrEvent.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XErrorEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XErrorEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XErrorEvent \- X error event structure
+.SH STRUCTURES
+The
+.ZN XErrorEvent
+structure contains:
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ int type;
+ Display *display; /\&* Display the event was read from */
+ unsigned long serial; /\&* serial number of failed request */
+ unsigned char error_code; /\&* error code of failed request */
+ unsigned char request_code; /\&* Major op-code of failed request */
+ unsigned char minor_code; /\&* Minor op-code of failed request */
+ XID resourceid; /\&* resource id */
+} XErrorEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The serial member is the number of requests, starting from one,
+sent over the network connection since it was opened.
+It is the number that was the value of
+.ZN NextRequest
+immediately before the failing call was made.
+The request_code member is a protocol request
+of the procedure that failed, as defined in
+.hN X11/Xproto.h .
+.SH "SEE ALSO"
+AllPlanes(3X11),
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XExposeEvent.man b/libX11/man/XExposeEvent.man
new file mode 100644
index 000000000..84cf71291
--- /dev/null
+++ b/libX11/man/XExposeEvent.man
@@ -0,0 +1,234 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XExpEvent.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XExposeEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XExposeEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XExposeEvent \- Expose event structure
+.SH STRUCTURES
+The structure for
+.ZN Expose
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* Expose */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ int x, y;
+ int width, height;
+ int count; /\&* if nonzero, at least this many more */
+} XExposeEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the exposed (damaged) window.
+The x and y members are set to the coordinates relative to the window's origin
+and indicate the upper-left corner of the rectangle.
+The width and height members are set to the size (extent) of the rectangle.
+The count member is set to the number of
+.ZN Expose
+events that are to follow.
+If count is zero, no more
+.ZN Expose
+events follow for this window.
+However, if count is nonzero, at least that number of
+.ZN Expose
+events (and possibly more) follow for this window.
+Simple applications that do not want to optimize redisplay by distinguishing
+between subareas of its window can just ignore all
+.ZN Expose
+events with nonzero counts and perform full redisplays
+on events with zero counts.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XExtentsOfFontSet.man b/libX11/man/XExtentsOfFontSet.man
new file mode 100644
index 000000000..35d4c7b72
--- /dev/null
+++ b/libX11/man/XExtentsOfFontSet.man
@@ -0,0 +1,174 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XEofFSet.man,v 1.2 2001/01/27 18:19:58 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XExtentsOfFontSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XExtentsOfFontSet \- obtain the maximum extents structure for a font set
+.SH SYNTAX
+.HP
+XFontSetExtents *XExtentsOfFontSet\^(\^XFontSet \fIfont_set\fP\^);
+.SH ARGUMENTS
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.SH DESCRIPTION
+The
+.ZN XExtentsOfFontSet
+function returns an
+.ZN XFontSetExtents
+structure for the fonts used by the Xmb and Xwc layers
+for the given font set.
+.LP
+The
+.ZN XFontSetExtents
+structure is owned by Xlib and should not be modified
+or freed by the client.
+It will be freed by a call to
+.ZN XFreeFontSet
+with the associated
+.ZN XFontSet .
+Until freed, its contents will not be modified by Xlib.
+.SH "SEE ALSO"
+XCreateFontSet(3X11),
+XFontsOfFontSet(3X11),
+XFontSetExtents(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFillRectangle.man b/libX11/man/XFillRectangle.man
new file mode 100644
index 000000000..5061f7226
--- /dev/null
+++ b/libX11/man/XFillRectangle.man
@@ -0,0 +1,395 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFillRect.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFillRectangle __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFillRectangle, XFillRectangles, XFillPolygon, XFillArc, XFillArcs \- fill rectangles, polygons, or arcs
+.SH SYNTAX
+.HP
+int XFillRectangle\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned
+int \fIheight\fP\^);
+.HP
+int XFillRectangles\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, XRectangle *\fIrectangles\fP\^, int \fInrectangles\fP\^);
+.HP
+int XFillPolygon\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, XPoint *\fIpoints\fP\^, int \fInpoints\fP\^, int \fIshape\fP\^,
+int \fImode\fP\^);
+.HP
+int XFillArc\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+int \fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int
+\fIheight\fP\^, int \fIangle1\fP\^, int \fIangle2\fP\^);
+.HP
+int XFillArcs\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+XArc *\fIarcs\fP\^, int \fInarcs\fP\^);
+.SH ARGUMENTS
+.IP \fIangle1\fP 1i
+Specifies the start of the arc relative to the three-o'clock position
+from the center, in units of degrees * 64.
+.IP \fIangle2\fP 1i
+Specifies the path and extent of the arc relative to the start of the
+arc, in units of degrees * 64.
+.IP \fIarcs\fP 1i
+Specifies an array of arcs.
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fImode\fP 1i
+Specifies the coordinate mode.
+You can pass
+.ZN CoordModeOrigin
+or
+.ZN CoordModePrevious .
+.IP \fInarcs\fP 1i
+Specifies the number of arcs in the array.
+.IP \fInpoints\fP 1i
+Specifies the number of points in the array.
+.IP \fInrectangles\fP 1i
+Specifies the number of rectangles in the array.
+.IP \fIpoints\fP 1i
+Specifies an array of points.
+.IP \fIrectangles\fP 1i
+Specifies an array of rectangles.
+.IP \fIshape\fP 1i
+Specifies a shape that helps the server to improve performance.
+You can pass
+.ZN Complex ,
+.ZN Convex ,
+or
+.ZN Nonconvex .
+.ds Wh , which are the dimensions of the rectangle to be filled \
+or the major and minor axes of the arc
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which are relative to the origin of the drawable \
+and specify the upper-left corner of the rectangle
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XFillRectangle
+and
+.ZN XFillRectangles
+functions fill the specified rectangle or rectangles
+as if a four-point
+.ZN FillPolygon
+protocol request were specified for each rectangle:
+.LP
+.Ds
+[x,y] [x+width,y] [x+width,y+height] [x,y+height]
+.De
+.LP
+Each function uses the x and y coordinates,
+width and height dimensions, and GC you specify.
+.LP
+.ZN XFillRectangles
+fills the rectangles in the order listed in the array.
+For any given rectangle,
+.ZN XFillRectangle
+and
+.ZN XFillRectangles
+do not draw a pixel more than once.
+If rectangles intersect, the intersecting pixels are
+drawn multiple times.
+.LP
+Both functions use these GC components:
+function, plane-mask, fill-style, subwindow-mode,
+clip-x-origin, clip-y-origin, and clip-mask.
+They also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+and tile-stipple-y-origin.
+.LP
+.ZN XFillRectangle
+and
+.ZN XFillRectangles
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.LP
+.ZN XFillPolygon
+fills the region closed by the specified path.
+The path is closed
+automatically if the last point in the list does not coincide with the
+first point.
+.ZN XFillPolygon
+does not draw a pixel of the region more than once.
+.ZN CoordModeOrigin
+treats all coordinates as relative to the origin,
+and
+.ZN CoordModePrevious
+treats all coordinates after the first as relative to the previous point.
+.LP
+Depending on the specified shape, the following occurs:
+.IP \(bu 5
+If shape is
+.ZN Complex ,
+the path may self-intersect.
+Note that contiguous coincident points in the path are not treated
+as self-intersection.
+.IP \(bu 5
+If shape is
+.ZN Convex ,
+for every pair of points inside the polygon,
+the line segment connecting them does not intersect the path.
+If known by the client,
+specifying
+.ZN Convex
+can improve performance.
+If you specify
+.ZN Convex
+for a path that is not convex,
+the graphics results are undefined.
+.IP \(bu 5
+If shape is
+.ZN Nonconvex ,
+the path does not self-intersect, but the shape is not
+wholly convex.
+If known by the client,
+specifying
+.ZN Nonconvex
+instead of
+.ZN Complex
+may improve performance.
+If you specify
+.ZN Nonconvex
+for a self-intersecting path, the graphics results are undefined.
+.LP
+The fill-rule of the GC controls the filling behavior of
+self-intersecting polygons.
+.LP
+This function uses these GC components:
+function, plane-mask, fill-style, fill-rule, subwindow-mode, clip-x-origin,
+clip-y-origin, and clip-mask.
+It also uses these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+and tile-stipple-y-origin.
+.LP
+.ZN XFillPolygon
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.LP
+For each arc,
+.ZN XFillArc
+or
+.ZN XFillArcs
+fills the region closed by the infinitely thin path
+described by the specified arc and, depending on the
+arc-mode specified in the GC, one or two line segments.
+For
+.ZN ArcChord ,
+the single line segment joining the endpoints of the arc is used.
+For
+.ZN ArcPieSlice ,
+the two line segments joining the endpoints of the arc with the center
+point are used.
+.ZN XFillArcs
+fills the arcs in the order listed in the array.
+For any given arc,
+.ZN XFillArc
+and
+.ZN XFillArcs
+do not draw a pixel more than once.
+If regions intersect,
+the intersecting pixels are drawn multiple times.
+.LP
+Both functions use these GC components:
+function, plane-mask, fill-style, arc-mode, subwindow-mode, clip-x-origin,
+clip-y-origin, and clip-mask.
+They also use these GC mode-dependent components:
+foreground, background, tile, stipple, tile-stipple-x-origin,
+and tile-stipple-y-origin.
+.LP
+.ZN XFillArc
+and
+.ZN XFillArcs
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+and
+.ZN BadMatch
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XDrawArc(3X11),
+XDrawPoint(3X11),
+XDrawRectangle(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFilterEvent.man b/libX11/man/XFilterEvent.man
new file mode 100644
index 000000000..ea6bdce88
--- /dev/null
+++ b/libX11/man/XFilterEvent.man
@@ -0,0 +1,187 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFEvent.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFilterEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFilterEvent \- filter X events for an input method
+.SH SYNTAX
+.HP
+Bool XFilterEvent\^(\^XEvent *\fIevent\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.ds Ev event to filter
+.IP \fIevent\fP 1i
+Specifies the \*(Ev.
+.ds Wi for which the filter is to be applied
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+If the window argument is
+.ZN None ,
+.ZN XFilterEvent
+applies the filter to the window specified in the
+.ZN XEvent
+structure.
+The window argument is provided so that layers above Xlib
+that do event redirection can indicate to which window an event
+has been redirected.
+.LP
+If
+.ZN XFilterEvent
+returns
+.ZN True ,
+then some input method has filtered the event,
+and the client should discard the event.
+If
+.ZN XFilterEvent
+returns
+.ZN False ,
+then the client should continue processing the event.
+.LP
+If a grab has occurred in the client and
+.ZN XFilterEvent
+returns
+.ZN True ,
+the client should ungrab the keyboard.
+.SH "SEE ALSO"
+XNextEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFlush.man b/libX11/man/XFlush.man
new file mode 100644
index 000000000..fa3fc3637
--- /dev/null
+++ b/libX11/man/XFlush.man
@@ -0,0 +1,265 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFlush.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFlush __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFlush, XSync, XEventsQueued, XPending \- handle output buffer or event queue
+.SH SYNTAX
+.HP
+int XFlush\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XSync\^(\^Display *\fIdisplay\fP\^, Bool \fIdiscard\fP\^);
+.HP
+int XEventsQueued\^(\^Display *\fIdisplay\fP\^, int \fImode\fP\^);
+.HP
+int XPending\^(\^Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdiscard\fP 1i
+Specifies a Boolean value that indicates whether
+.ZN XSync
+discards all events on the event queue.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fImode\fP 1i
+Specifies the mode.
+You can pass
+.ZN QueuedAlready ,
+.ZN QueuedAfterFlush ,
+or
+.ZN QueuedAfterReading .
+.SH DESCRIPTION
+The
+.ZN XFlush
+function
+flushes the output buffer.
+Most client applications need not use this function because the output
+buffer is automatically flushed as needed by calls to
+.ZN XPending ,
+.ZN XNextEvent ,
+and
+.ZN XWindowEvent .
+.IN "XPending"
+.IN "XNextEvent"
+.IN "XWindowEvent"
+Events generated by the server may be enqueued into the library's event queue.
+.LP
+The
+.ZN XSync
+function
+flushes the output buffer and then waits until all requests have been received
+and processed by the X server.
+Any errors generated must be handled by the error handler.
+For each protocol error received by Xlib,
+.ZN XSync
+calls the client application's error handling routine (see section 11.8.2).
+Any events generated by the server are enqueued into the library's
+event queue.
+.LP
+Finally, if you passed
+.ZN False ,
+.ZN XSync
+does not discard the events in the queue.
+If you passed
+.ZN True ,
+.ZN XSync
+discards all events in the queue,
+including those events that were on the queue before
+.ZN XSync
+was called.
+Client applications seldom need to call
+.ZN XSync .
+.LP
+If mode is
+.ZN QueuedAlready ,
+.ZN XEventsQueued
+returns the number of events
+already in the event queue (and never performs a system call).
+If mode is
+.ZN QueuedAfterFlush ,
+.ZN XEventsQueued
+returns the number of events already in the queue if the number is nonzero.
+If there are no events in the queue,
+.ZN XEventsQueued
+flushes the output buffer,
+attempts to read more events out of the application's connection,
+and returns the number read.
+If mode is
+.ZN QueuedAfterReading ,
+.ZN XEventsQueued
+returns the number of events already in the queue if the number is nonzero.
+If there are no events in the queue,
+.ZN XEventsQueued
+attempts to read more events out of the application's connection
+without flushing the output buffer and returns the number read.
+.LP
+.ZN XEventsQueued
+always returns immediately without I/O if there are events already in the
+queue.
+.ZN XEventsQueued
+with mode
+.ZN QueuedAfterFlush
+is identical in behavior to
+.ZN XPending .
+.ZN XEventsQueued
+with mode
+.ZN QueuedAlready
+is identical to the
+.ZN XQLength
+function.
+.LP
+The
+.ZN XPending
+function returns the number of events that have been received from the
+X server but have not been removed from the event queue.
+.ZN XPending
+is identical to
+.ZN XEventsQueued
+with the mode
+.ZN QueuedAfterFlush
+specified.
+.SH "SEE ALSO"
+AllPlanes(3X11),
+XIfEvent(3X11),
+XNextEvent(3X11),
+XPutBackEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFocusChangeEvent.man b/libX11/man/XFocusChangeEvent.man
new file mode 100644
index 000000000..61f38a7d5
--- /dev/null
+++ b/libX11/man/XFocusChangeEvent.man
@@ -0,0 +1,268 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFCEvent.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XFocusChangeEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFocusChangeEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFocusChangeEvent \- FocusIn and FocusOut event structure
+.SH STRUCTURES
+The structure for
+.ZN FocusIn
+and
+.ZN FocusOut
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* FocusIn or FocusOut */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window; /\&* window of event */
+ int mode; /\&* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /\&*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
+ * NotifyPointerRoot, NotifyDetailNone
+ */
+} XFocusChangeEvent;
+typedef XFocusChangeEvent XFocusInEvent;
+typedef XFocusChangeEvent XFocusOutEvent;
+.De
+.LP
+When you receive these events,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the window on which the
+.ZN FocusIn
+or
+.ZN FocusOut
+event was generated.
+This is the window used by the X server to report the event.
+The mode member is set to indicate whether the focus events
+are normal focus events,
+focus events while grabbed,
+focus events
+when a grab activates, or focus events when a grab deactivates.
+The X server can set the mode member to
+.ZN NotifyNormal ,
+.ZN NotifyWhileGrabbed ,
+.ZN NotifyGrab ,
+or
+.ZN NotifyUngrab .
+.LP
+All
+.ZN FocusOut
+events caused by a window unmap are generated after any
+.ZN UnmapNotify
+event; however, the X protocol does not constrain the ordering of
+.ZN FocusOut
+events with respect to
+generated
+.ZN EnterNotify ,
+.ZN LeaveNotify ,
+.ZN VisibilityNotify ,
+and
+.ZN Expose
+events.
+.LP
+Depending on the event mode,
+the detail member is set to indicate the notify detail and can be
+.ZN NotifyAncestor ,
+.ZN NotifyVirtual ,
+.ZN NotifyInferior ,
+.ZN NotifyNonlinear ,
+.ZN NotifyNonlinearVirtual ,
+.ZN NotifyPointer ,
+.ZN NotifyPointerRoot ,
+or
+.ZN NotifyDetailNone .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFontSetExtents.man b/libX11/man/XFontSetExtents.man
new file mode 100644
index 000000000..d70428fb1
--- /dev/null
+++ b/libX11/man/XFontSetExtents.man
@@ -0,0 +1,195 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFSExt.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XFontSetExtents.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFontSetExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFontSetExtents \- XFontSetExtents structure
+.SH STRUCTURES
+The
+.ZN XFontSetExtents
+structure contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ XRectangle max_ink_extent; /\&* over all drawable characters */
+ XRectangle max_logical_extent; /\&* over all drawable characters */
+} XFontSetExtents;
+.De
+.LP
+The
+.ZN XRectangle
+structures used to return font set metrics are the usual Xlib screen-oriented
+rectangles
+with x, y giving the upper left corner, and width and height always positive.
+.LP
+The max_ink_extent member gives the maximum extent, over all drawable characters, of
+the rectangles that bound the character glyph image drawn in the
+foreground color, relative to a constant origin.
+See
+.ZN XmbTextExtents
+and
+.ZN XwcTextExtents
+for detailed semantics.
+.LP
+The max_logical_extent member gives the maximum extent,
+over all drawable characters, of the rectangles
+that specify minimum spacing to other graphical features,
+relative to a constant origin.
+Other graphical features drawn by the client, for example,
+a border surrounding the text, should not intersect this rectangle.
+The max_logical_extent member should be used to compute minimum
+interline spacing and the minimum area that must be allowed
+in a text field to draw a given number of arbitrary characters.
+.LP
+Due to context-dependent rendering,
+appending a given character to a string may change
+the string's extent by an amount other than that character's
+individual extent.
+.SH "SEE ALSO"
+XCreateFontSet(3X11),
+XExtentsOfFontSet(3X11),
+XFontsOfFontSet(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFontsOfFontSet.man b/libX11/man/XFontsOfFontSet.man
new file mode 100644
index 000000000..7e2dc4781
--- /dev/null
+++ b/libX11/man/XFontsOfFontSet.man
@@ -0,0 +1,289 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFofFSet.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFontsOfFontSet __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFontsOfFontSet, XBaseFontNameListOfFontSet, XLocaleOfFontSet, XContextDependentDrawing, XContextualDrawing, XDirectionalDependentDrawing \- obtain fontset information
+.SH SYNTAX
+.HP
+int XFontsOfFontSet\^(\^XFontSet \fIfont_set\fP\^, XFontStruct
+***\fIfont_struct_list_return\fP\^, char ***\fIfont_name_list_return\fP\^);
+.HP
+char *XBaseFontNameListOfFontSet\^(\^XFontSet \fIfont_set\fP\^);
+.HP
+char *XLocaleOfFontSet\^(\^XFontSet \fIfont_set\fP\^);
+.HP
+Bool XContextDependentDrawing\^(\^XFontSet \fIfont_set\fP\^);
+.HP
+Bool XContextualDrawing\^(\^XFontSet \fIfont_set\fP\^);
+.HP
+Bool XDirectionalDependentDrawing\^(\^XFontSet \fIfont_set\fP\^);
+.SH ARGUMENTS
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fIfont_name_list_return\fP 1i
+Returns the list of font names.
+.IP \fIfont_struct_list_return\fP 1i
+Returns the list of font structs.
+.SH DESCRIPTION
+The
+.ZN XFontsOfFontSet
+function returns a list of one or more
+.ZN XFontStructs
+and font names for the fonts used by the Xmb and Xwc layers
+for the given font set.
+A list of pointers to the
+.ZN XFontStruct
+structures is returned to font_struct_list_return.
+A list of pointers to null-terminated, fully specified font name strings
+in the locale of the font set is returned to font_name_list_return.
+The font_name_list order corresponds to the font_struct_list order.
+The number of
+.ZN XFontStruct
+structures and font names is returned as the value of the function.
+.LP
+Because it is not guaranteed that a given character will be imaged using a
+single font glyph,
+there is no provision for mapping a character or default string
+to the font properties, font ID, or direction hint for the font
+for the character.
+The client may access the
+.ZN XFontStruct
+list to obtain these values for all the fonts currently in use.
+.LP
+Xlib does not guarantee that fonts are loaded from the server
+at the creation of an
+.ZN XFontSet .
+Xlib may choose to cache font data, loading it only as needed to draw text
+or compute text dimensions.
+Therefore, existence of the per_char metrics in the
+.ZN XFontStruct
+structures in the
+.ZN XFontStructSet
+is undefined.
+Also, note that all properties in the
+.ZN XFontStruct
+structures are in the STRING encoding.
+.LP
+The
+.ZN XFontStruct
+and font name lists are owned by Xlib
+and should not be modified or freed by the client.
+They will be freed by a call to
+.ZN XFreeFontSet
+with the associated
+.ZN XFontSet .
+Until freed, their contents will not be modified by Xlib.
+.LP
+The
+.ZN XBaseFontNameListOfFontSet
+function returns the original base font name list supplied
+by the client when the
+.ZN XFontSet
+was created.
+A null-terminated string containing a list of
+comma-separated font names is returned
+as the value of the function.
+White space may appear immediately on either side of separating commas.
+.LP
+If
+.ZN XCreateFontSet
+obtained an XLFD name from the font properties for the font specified
+by a non-XLFD base name, the
+.ZN XBaseFontNameListOfFontSet
+function will return the XLFD name instead of the non-XLFD base name.
+.LP
+The base font name list is owned by Xlib and should not be modified or
+freed by the client.
+It will be freed by a call to
+.ZN XFreeFontSet
+with the associated
+.ZN XFontSet .
+Until freed, its contents will not be modified by Xlib.
+.LP
+The
+.ZN XLocaleOfFontSet
+function
+returns the name of the locale bound to the specified
+.ZN XFontSet ,
+as a null-terminated string.
+.LP
+The returned locale name string is owned by Xlib
+and should not be modified or freed by the client.
+It may be freed by a call to
+.ZN XFreeFontSet
+with the associated
+.ZN XFontSet .
+Until freed, it will not be modified by Xlib.
+.LP
+The
+.ZN XContextDependentDrawing
+function returns
+.ZN True
+if the drawing functions implement implicit text directionality or
+if text drawn with the font_set might include context-dependent drawing;
+otherwise, it returns
+.ZN False .
+.LP
+The
+.ZN XContextualDrawing
+function returns
+.ZN True
+if text drawn with the font set might include context-dependent drawing;
+otherwise, it returns
+.ZN False .
+.LP
+The
+.ZN XDirectionalDependentDrawing
+function returns
+.ZN True
+if the drawing functions implement implicit text directionality;
+otherwise, it returns
+.ZN False .
+.SH "SEE ALSO"
+XCreateFontSet(3X11),
+XCreateOM(3X11),
+XCreateOC(3X11),
+XExtentsOfFontSet(3X11),
+XFontSetExtents(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XFree.man b/libX11/man/XFree.man
new file mode 100644
index 000000000..5952998ea
--- /dev/null
+++ b/libX11/man/XFree.man
@@ -0,0 +1,159 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XFree.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XFree __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XFree \- free client data
+.SH SYNTAX
+int XFree\^(\^void *\fIdata\fP\^);
+.SH ARGUMENTS
+.IP \fIdata\fP 1i
+Specifies the data that are to be freed.
+.SH DESCRIPTION
+The
+.ZN XFree
+function is a general-purpose Xlib routine that frees the specified data.
+You must use it to free any objects that were allocated by Xlib,
+unless an alternate function is explicitly specified for the object.
+A NULL pointer cannot be passed to this function.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XGetVisualInfo.man b/libX11/man/XGetVisualInfo.man
new file mode 100644
index 000000000..e4f793793
--- /dev/null
+++ b/libX11/man/XGetVisualInfo.man
@@ -0,0 +1,315 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGetVInfo.man,v 1.4 2003/04/28 22:17:55 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XGetVisualInfo.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XGetVisualInfo __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGetVisualInfo, XMatchVisualInfo, XVisualIDFromVisual, XVisualInfo \- obtain visual information and visual structure
+.SH SYNTAX
+.HP
+XVisualInfo *XGetVisualInfo\^(\^Display *\fIdisplay\fP\^, long
+\fIvinfo_mask\fP\^, XVisualInfo *\fIvinfo_template\fP\^, int
+*\fInitems_return\fP\^);
+.HP
+Status XMatchVisualInfo\^(\^Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int
+\fIdepth\fP\^, int \fIclass\fP\^, XVisualInfo *\fIvinfo_return\fP\^);
+.HP
+VisualID XVisualIDFromVisual\^(\^Visual *\^\fIvisual\fP\^);
+.SH ARGUMENTS
+.IP \fIclass\fP 1i
+Specifies the class of the screen.
+.IP \fIdepth\fP 1i
+Specifies the depth of the screen.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fInitems_return\fP 1i
+Returns the number of matching visual structures.
+.IP \fIscreen\fP 1i
+Specifies the screen.
+.IP \fIvisual\fP 1i
+Specifies the visual type.
+.IP \fIvinfo_mask\fP 1i
+Specifies the visual mask value.
+.IP \fIvinfo_return\fP 1i
+Returns the matched visual information.
+.IP \fIvinfo_template\fP 1i
+Specifies the visual attributes that are to be used in matching the visual
+structures.
+.SH DESCRIPTION
+The
+.ZN XGetVisualInfo
+function returns a list of visual structures that have attributes
+equal to the attributes specified by vinfo_template.
+If no visual structures match the template using the specified vinfo_mask,
+.ZN XGetVisualInfo
+returns a NULL.
+To free the data returned by this function, use
+.ZN XFree .
+.LP
+The
+.ZN XMatchVisualInfo
+function returns the visual information for a visual that matches the specified
+depth and class for a screen.
+Because multiple visuals that match the specified depth and class can exist,
+the exact visual chosen is undefined.
+If a visual is found,
+.ZN XMatchVisualInfo
+returns nonzero and the information on the visual to vinfo_return.
+Otherwise, when a visual is not found,
+.ZN XMatchVisualInfo
+returns zero.
+.LP
+The
+.ZN XVisualIDFromVisual
+function returns the visual ID for the specified visual type.
+.SH STRUCTURES
+The
+.ZN XVisualInfo
+structure contains:
+.LP
+.LP
+/\&* Visual information mask bits */
+.TS
+lw(.5i) lw(2.5i) lw(.8i).
+T{
+\&#define
+T} T{
+.ZN VisualNoMask
+T} T{
+0x0
+T}
+T{
+\&#define
+T} T{
+.ZN VisualIDMask
+T} T{
+0x1
+T}
+T{
+\&#define
+T} T{
+.ZN VisualScreenMask
+T} T{
+0x2
+T}
+T{
+\&#define
+T} T{
+.ZN VisualDepthMask
+T} T{
+0x4
+T}
+T{
+\&#define
+T} T{
+.ZN VisualClassMask
+T} T{
+0x8
+T}
+T{
+\&#define
+T} T{
+.ZN VisualRedMaskMask
+T} T{
+0x10
+T}
+T{
+\&#define
+T} T{
+.ZN VisualGreenMaskMask
+T} T{
+0x20
+T}
+T{
+\&#define
+T} T{
+.ZN VisualBlueMaskMask
+T} T{
+0x40
+T}
+T{
+\&#define
+T} T{
+.ZN VisualColormapSizeMask
+T} T{
+0x80
+T}
+T{
+\&#define
+T} T{
+.ZN VisualBitsPerRGBMask
+T} T{
+0x100
+T}
+T{
+\&#define
+T} T{
+.ZN VisualAllMask
+T} T{
+0x1FF
+T}
+.TE
+.IN "XVisualInfo" "" "@DEF@"
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+/\&* Values */
+
+typedef struct {
+ Visual *visual;
+ VisualID visualid;
+ int screen;
+ int depth;
+ int class;
+ unsigned long red_mask;
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ int colormap_size;
+ int bits_per_rgb;
+} XVisualInfo;
+.De
+.SH "SEE ALSO"
+XFree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGetWindowAttributes.man b/libX11/man/XGetWindowAttributes.man
new file mode 100644
index 000000000..2aa86e41e
--- /dev/null
+++ b/libX11/man/XGetWindowAttributes.man
@@ -0,0 +1,397 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGetWAttr.man,v 1.3 2003/04/28 22:17:55 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XGetWindowAttributes.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XGetWindowAttributes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGetWindowAttributes, XGetGeometry, XWindowAttributes \- get current window attribute or geometry and current window attributes structure
+.SH SYNTAX
+.HP
+Status XGetWindowAttributes\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XWindowAttributes *\fIwindow_attributes_return\fP\^);
+.HP
+Status XGetGeometry\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, Window
+*\fIroot_return\fP\^, int *\fIx_return\fP\^, int *\fIy_return\fP\^, unsigned
+int *\fIwidth_return\fP\^, unsigned int *\fIheight_return\fP\^, unsigned int
+*\fIborder_width_return\fP\^, unsigned int *\fIdepth_return\fP\^);
+.SH ARGUMENTS
+.IP \fIborder_width_return\fP 1i
+Returns the border width in pixels.
+.ds Dr , which can be a window or a pixmap
+.IP \fId\fP 1i
+Specifies the drawable\*(Dr.
+.IP \fIdepth_return\fP 1i
+Returns the depth of the drawable (bits per pixel for the object).
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIroot_return\fP 1i
+Returns the root window.
+.ds Wi whose current attributes you want to obtain
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.IP \fIwidth_return\fP 1i
+.br
+.ns
+.IP \fIheight_return\fP 1i
+Return the drawable's dimensions (width and height).
+.IP \fIwindow_attributes_return\fP 1i
+Returns the specified window's attributes in the
+.ZN XWindowAttributes
+structure.
+.IP \fIx_return\fP 1i
+.br
+.ns
+.IP \fIy_return\fP 1i
+Return the x and y coordinates that define the location of the drawable.
+For a window,
+these coordinates specify the upper-left outer corner relative to
+its parent's origin.
+For pixmaps, these coordinates are always zero.
+.SH DESCRIPTION
+The
+.ZN XGetWindowAttributes
+function returns the current attributes for the specified window to an
+.ZN XWindowAttributes
+structure. It returns a nonzero status on success; otherwise, it returns a
+zero status.
+.LP
+.ZN XGetWindowAttributes
+can generate
+.ZN BadDrawable
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetGeometry
+function returns the root window and the current geometry of the drawable.
+The geometry of the drawable includes the x and y coordinates, width and height,
+border width, and depth.
+These are described in the argument list.
+It is legal to pass to this function a window whose class is
+.ZN InputOnly .
+It returns a nonzero status on success; otherwise, it returns a
+zero status.
+.SH STRUCTURES
+The
+.ZN XWindowAttributes
+structure contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int x, y; /\&* location of window */
+ int width, height; /\&* width and height of window */
+ int border_width; /\&* border width of window */
+ int depth; /\&* depth of window */
+ Visual *visual; /\&* the associated visual structure */
+ Window root; /\&* root of screen containing window */
+ int class; /\&* InputOutput, InputOnly*/
+ int bit_gravity; /\&* one of the bit gravity values */
+ int win_gravity; /\&* one of the window gravity values */
+ int backing_store; /\&* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes; /\&* planes to be preserved if possible */
+ unsigned long backing_pixel; /\&* value to be used when restoring planes */
+ Bool save_under; /\&* boolean, should bits under be saved? */
+ Colormap colormap; /\&* color map to be associated with window */
+ Bool map_installed; /\&* boolean, is color map currently installed*/
+ int map_state; /\&* IsUnmapped, IsUnviewable, IsViewable */
+ long all_event_masks; /\&* set of events all people have interest in*/
+ long your_event_mask; /\&* my event mask */
+ long do_not_propagate_mask; /\&* set of events that should not propagate */
+ Bool override_redirect; /\&* boolean value for override-redirect */
+ Screen *screen; /\&* back pointer to correct screen */
+} XWindowAttributes;
+.De
+.LP
+The x and y members are set to the upper-left outer
+corner relative to the parent window's origin.
+The width and height members are set to the inside size of the window,
+not including the border.
+The border_width member is set to the window's border width in pixels.
+The depth member is set to the depth of the window
+(that is, bits per pixel for the object).
+The visual member is a pointer to the screen's associated
+.ZN Visual
+structure.
+The root member is set to the root window of the screen containing the window.
+The class member is set to the window's class and can be either
+.ZN InputOutput
+or
+.ZN InputOnly .
+.LP
+The bit_gravity member is set to the window's bit gravity
+and can be one of the following:
+.LP
+.TS
+lw(1.5i) lw(1.5i).
+T{
+.ZN ForgetGravity
+T} T{
+.ZN EastGravity
+T}
+T{
+.ZN NorthWestGravity
+T} T{
+.ZN SouthWestGravity
+T}
+T{
+.ZN NorthGravity
+T} T{
+.ZN SouthGravity
+T}
+T{
+.ZN NorthEastGravity
+T} T{
+.ZN SouthEastGravity
+T}
+T{
+.ZN WestGravity
+T} T{
+.ZN StaticGravity
+T}
+.ZN CenterGravity
+.TE
+.LP
+The win_gravity member is set to the window's window gravity
+and can be one of the following:
+.LP
+.TS
+lw(1.5i) lw(1.5i).
+T{
+.ZN UnmapGravity
+T} T{
+.ZN EastGravity
+T}
+T{
+.ZN NorthWestGravity
+T} T{
+.ZN SouthWestGravity
+T}
+T{
+.ZN NorthGravity
+T} T{
+.ZN SouthGravity
+T}
+T{
+.ZN NorthEastGravity
+T} T{
+.ZN SouthEastGravity
+T}
+T{
+.ZN WestGravity
+T} T{
+.ZN StaticGravity
+T}
+.ZN CenterGravity
+.TE
+.LP
+For additional information on gravity,
+see section 3.3.
+.LP
+The backing_store member is set to indicate how the X server should maintain
+the contents of a window
+and can be
+.ZN WhenMapped ,
+.ZN Always ,
+or
+.ZN NotUseful .
+The backing_planes member is set to indicate (with bits set to 1) which bit
+planes of the window hold dynamic data that must be preserved in backing_stores
+and during save_unders.
+The backing_pixel member is set to indicate what values to use
+for planes not set in backing_planes.
+.LP
+The save_under member is set to
+.ZN True
+or
+.ZN False .
+The colormap member is set to the colormap for the specified window and can be
+a colormap ID or
+.ZN None .
+The map_installed member is set to indicate whether the colormap is
+currently installed and can be
+.ZN True
+or
+.ZN False .
+The map_state member is set to indicate the state of the window and can be
+.ZN IsUnmapped ,
+.ZN IsUnviewable ,
+or
+.ZN IsViewable .
+.ZN IsUnviewable
+is used if the window is mapped but some ancestor is unmapped.
+.LP
+The all_event_masks member is set to the bitwise inclusive OR of all event
+masks selected on the window by all clients.
+The your_event_mask member is set to the bitwise inclusive OR of all event
+masks selected by the querying client.
+The do_not_propagate_mask member is set to the bitwise inclusive OR of the
+set of events that should not propagate.
+.LP
+The override_redirect member is set to indicate whether this window overrides
+structure control facilities and can be
+.ZN True
+or
+.ZN False .
+Window manager clients should ignore the window if this member is
+.ZN True .
+.LP
+The screen member is set to a screen pointer that gives you a back pointer
+to the correct screen.
+This makes it easier to obtain the screen information without
+having to loop over the root window fields to see which field matches.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XQueryPointer(3X11),
+XQueryTree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGetWindowProperty.man b/libX11/man/XGetWindowProperty.man
new file mode 100644
index 000000000..a1d19ff84
--- /dev/null
+++ b/libX11/man/XGetWindowProperty.man
@@ -0,0 +1,477 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGetWProp.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGetWindowProperty __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGetWindowProperty, XListProperties, XChangeProperty, XRotateWindowProperties, XDeleteProperty \- obtain and change window properties
+.SH SYNTAX
+.HP
+int XGetWindowProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
+\fIproperty\fP\^, long \fIlong_offset\fP\^, long \fIlong_length\fP\^, Bool
+\fIdelete\fP\^, Atom \fIreq_type\fP\^, Atom *\fIactual_type_return\fP\^, int
+*\fIactual_format_return\fP\^, unsigned long *\fInitems_return\fP\^, unsigned
+long *\fIbytes_after_return\fP\^, unsigned char **\fIprop_return\fP\^);
+.HP
+Atom *XListProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
+*\fInum_prop_return\fP\^);
+.HP
+int XChangeProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
+\fIproperty\fP\^, Atom \fItype\fP\^, int \fIformat\fP\^, int \fImode\fP\^,
+unsigned char *\fIdata\fP\^, int \fInelements\fP\^);
+.HP
+int XRotateWindowProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Atom \fIproperties\fP\^[]\^, int \fInum_prop\fP\^, int \fInpositions\fP\^);
+.HP
+int XDeleteProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
+\fIproperty\fP\^);
+.SH ARGUMENTS
+.IP \fIactual_format_return\fP 1i
+Returns the actual format of the property.
+.IP \fIactual_type_return\fP 1i
+Returns the atom identifier that defines the actual type of the property.
+.IP \fIbytes_after_return\fP 1i
+Returns the number of bytes remaining to be read in the property if
+a partial read was performed.
+.IP \fIdata\fP 1i
+Specifies the property data.
+.IP \fIdelete\fP 1i
+Specifies a Boolean value that determines whether the property is deleted.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIformat\fP 1i
+Specifies whether the data should be viewed as a list
+of 8-bit, 16-bit, or 32-bit quantities.
+Possible values are 8, 16, and 32.
+This information allows the X server to correctly perform
+byte-swap operations as necessary.
+If the format is 16-bit or 32-bit,
+you must explicitly cast your data pointer to an (unsigned char *) in the call
+to
+.ZN XChangeProperty .
+.IP \fIlong_length\fP 1i
+Specifies the length in 32-bit multiples of the data to be retrieved.
+.IP \fIlong_offset\fP 1i
+Specifies the offset in the specified property (in 32-bit quantities)
+where the data is to be retrieved.
+.\" Changed name of this file to prop_mode.a on 1/13/87
+.IP \fImode\fP 1i
+Specifies the mode of the operation.
+You can pass
+.ZN PropModeReplace ,
+.ZN PropModePrepend ,
+or
+.ZN PropModeAppend .
+.IP \fInelements\fP 1i
+Specifies the number of elements of the specified data format.
+.IP \fInitems_return\fP 1i
+Returns the actual number of 8-bit, 16-bit, or 32-bit items
+stored in the prop_return data.
+.IP \fInum_prop\fP 1i
+Specifies the length of the properties array.
+.IP \fInum_prop_return\fP 1i
+Returns the length of the properties array.
+.IP \fInpositions\fP 1i
+Specifies the rotation amount.
+.IP \fIprop_return\fP 1i
+Returns the data in the specified format.
+If the returned format is 8, the returned data is represented as a
+char array. If the returned format is 16, the returned data is
+represented as a array of short int type and should be cast to that
+type to obtain the elements. If the returned format is 32, the
+property data will be stored as an array of longs (which in a 64-bit
+application will be 64-bit values that are padded in the upper 4 bytes).
+.IP \fIproperty\fP 1i
+Specifies the property name.
+.IP \fIproperties\fP 1i
+Specifies the array of properties that are to be rotated.
+.IP \fIreq_type\fP 1i
+Specifies the atom identifier associated with the property type or
+.ZN AnyPropertyType .
+.IP \fItype\fP 1i
+Specifies the type of the property.
+The X server does not interpret the type but simply
+passes it back to an application that later calls
+.ZN XGetWindowProperty .
+.ds Wi whose property you want to obtain, change, rotate or delete
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XGetWindowProperty
+function returns the actual type of the property; the actual format of the property;
+the number of 8-bit, 16-bit, or 32-bit items transferred; the number of bytes remaining
+to be read in the property; and a pointer to the data actually returned.
+.ZN XGetWindowProperty
+sets the return arguments as follows:
+.IP \(bu 5
+If the specified property does not exist for the specified window,
+.ZN XGetWindowProperty
+returns
+.ZN None
+to actual_type_return and the value zero to
+actual_format_return and bytes_after_return.
+The nitems_return argument is empty.
+In this case, the delete argument is ignored.
+.IP \(bu 5
+If the specified property exists
+but its type does not match the specified type,
+.ZN XGetWindowProperty
+returns the actual property type to actual_type_return,
+the actual property format (never zero) to actual_format_return,
+and the property length in bytes
+(even if the actual_format_return is 16 or 32)
+to bytes_after_return.
+It also ignores the delete argument.
+The nitems_return argument is empty.
+.IP \(bu 5
+If the specified property exists and either you assign
+.ZN AnyPropertyType
+to the req_type argument or the specified type matches the actual property type,
+.ZN XGetWindowProperty
+returns the actual property type to actual_type_return and the actual
+property format (never zero) to actual_format_return.
+It also returns a value to bytes_after_return and nitems_return, by
+defining the following
+values:
+.IP
+.nf
+ N = actual length of the stored property in bytes
+ (even if the format is 16 or 32)
+ I = 4 * long_offset
+ T = N - I
+ L = MINIMUM(T, 4 * long_length)
+ A = N - (I + L)
+.fi
+.IP
+The returned value starts at byte index I in the property (indexing
+from zero), and its length in bytes is L.
+If the value for long_offset causes L to be negative,
+a
+.ZN BadValue
+error results.
+The value of bytes_after_return is A,
+giving the number of trailing unread bytes in the stored property.
+.LP
+If the returned format is 8, the returned data is represented as a
+.ZN char
+array.
+If the returned format is 16, the returned data is represented as a
+.ZN short
+array and should be cast to that type to obtain the elements.
+If the returned format is 32, the returned data is represented as a
+.ZN long
+array and should be cast to that type to obtain the elements.
+.LP
+.ZN XGetWindowProperty
+always allocates one extra byte in prop_return
+(even if the property is zero length)
+and sets it to zero so that simple properties consisting of characters
+do not have to be copied into yet another string before use.
+.LP
+If delete is
+.ZN True
+and bytes_after_return is zero,
+.ZN XGetWindowProperty
+deletes the property
+from the window and generates a
+.ZN PropertyNotify
+event on the window.
+.LP
+The function returns
+.ZN Success
+if it executes successfully.
+To free the resulting data,
+use
+.ZN XFree .
+.LP
+.ZN XGetWindowProperty
+can generate
+.ZN BadAtom ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XListProperties
+function returns a pointer to an array of atom properties that are defined for
+the specified window or returns NULL if no properties were found.
+To free the memory allocated by this function, use
+.ZN XFree .
+.LP
+.ZN XListProperties
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XChangeProperty
+function alters the property for the specified window and
+causes the X server to generate a
+.ZN PropertyNotify
+event on that window.
+.ZN XChangeProperty
+performs the following:
+.IP \(bu 5
+If mode is
+.ZN PropModeReplace ,
+.ZN XChangeProperty
+discards the previous property value and stores the new data.
+.IP \(bu 5
+If mode is
+.ZN PropModePrepend
+or
+.ZN PropModeAppend ,
+.ZN XChangeProperty
+inserts the specified data before the beginning of the existing data
+or onto the end of the existing data, respectively.
+The type and format must match the existing property value,
+or a
+.ZN BadMatch
+error results.
+If the property is undefined,
+it is treated as defined with the correct type and
+format with zero-length data.
+.LP
+If the specified format is 8, the property data must be a
+.ZN char
+array.
+If the specified format is 16, the property data must be a
+.ZN short
+array.
+If the specified format is 32, the property data must be a
+.ZN long
+array.
+.LP
+The lifetime of a property is not tied to the storing client.
+Properties remain until explicitly deleted, until the window is destroyed,
+or until the server resets.
+For a discussion of what happens when the connection to the X server is closed,
+see section 2.6.
+The maximum size of a property is server dependent and can vary dynamically
+depending on the amount of memory the server has available.
+(If there is insufficient space, a
+.ZN BadAlloc
+error results.)
+.LP
+.ZN XChangeProperty
+can generate
+.ZN BadAlloc ,
+.ZN BadAtom ,
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XRotateWindowProperties
+function allows you to rotate properties on a window and causes
+the X server to generate
+.ZN PropertyNotify
+events.
+If the property names in the properties array are viewed as being numbered
+starting from zero and if there are num_prop property names in the list,
+then the value associated with property name I becomes the value associated
+with property name (I + npositions) mod N for all I from zero to N \- 1.
+The effect is to rotate the states by npositions places around the virtual ring
+of property names (right for positive npositions,
+left for negative npositions).
+If npositions mod N is nonzero,
+the X server generates a
+.ZN PropertyNotify
+event for each property in the order that they are listed in the array.
+If an atom occurs more than once in the list or no property with that
+name is defined for the window,
+a
+.ZN BadMatch
+error results.
+If a
+.ZN BadAtom
+or
+.ZN BadMatch
+error results,
+no properties are changed.
+.LP
+.ZN XRotateWindowProperties
+can generate
+.ZN BadAtom ,
+.ZN BadMatch ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XDeleteProperty
+function deletes the specified property only if the
+property was defined on the specified window
+and causes the X server to generate a
+.ZN PropertyNotify
+event on the window unless the property does not exist.
+.LP
+.ZN XDeleteProperty
+can generate
+.ZN BadAtom
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XFree(3X11),
+XInternAtom(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGetXCBConnection.man b/libX11/man/XGetXCBConnection.man
new file mode 100644
index 000000000..eaf71b40d
--- /dev/null
+++ b/libX11/man/XGetXCBConnection.man
@@ -0,0 +1,44 @@
+.\" Copyright \(co 2006 Josh Triplett
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.TH XGetXCBConnection __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGetXCBConnection \- get the XCB connection for an Xlib Display
+.SH SYNTAX
+.HP
+ #include <X11/Xlib-xcb.h>
+.HP
+xcb_connection_t *XGetXCBConnection(Display *\fIdpy\fP);
+.SH ARGUMENTS
+.IP \fIdpy\fP 1i
+Specifies the connection to the X server.
+.IN "Environment" "DISPLAY"
+.SH DESCRIPTION
+The \fIXGetXCBConnection\fP function returns the XCB connection associated with
+an Xlib Display. Clients can use this XCB connection with functions from the
+XCB library, just as they would with an XCB connection created with XCB.
+Callers of this function must link to libX11-xcb and a version of Xlib built
+with XCB support.
+.SH "SEE ALSO"
+XOpenDisplay(3X11),
+XSetEventQueueOwner(3X11),
+.br
+\fIXlib \- C Language X Interface\fP
diff --git a/libX11/man/XGrabButton.man b/libX11/man/XGrabButton.man
new file mode 100644
index 000000000..a6c20fed1
--- /dev/null
+++ b/libX11/man/XGrabButton.man
@@ -0,0 +1,313 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGrButton.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGrabButton __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGrabButton, XUngrabButton \- grab pointer buttons
+.SH SYNTAX
+.HP
+int XGrabButton\^(\^Display *\fIdisplay\fP\^, unsigned int \fIbutton\fP\^,
+unsigned int \fImodifiers\fP\^, Window \fIgrab_window\fP\^, Bool
+\fIowner_events\fP\^, unsigned int \fIevent_mask\fP\^, int
+\fIpointer_mode\fP\^, \fIkeyboard_mode\fP\^, Window \fIconfine_to\fP\^, Cursor
+\fIcursor\fP\^);
+.HP
+int XUngrabButton\^(\^Display *\fIdisplay\fP\^, unsigned int \fIbutton\fP\^,
+unsigned int \fImodifiers\fP\^, Window \fIgrab_window\fP\^);
+.SH ARGUMENTS
+.ds Bu grabbed or released
+.IP \fIbutton\fP 1i
+Specifies the pointer button that is to be \*(Bu or
+.ZN AnyButton .
+.IP \fIconfine_to\fP 1i
+Specifies the window to confine the pointer in or
+.ZN None .
+.IP \fIcursor\fP 1i
+Specifies the cursor that is to be displayed or
+.ZN None .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_mask\fP 1i
+Specifies which pointer events are reported to the client.
+The mask is the bitwise inclusive OR of the valid pointer event mask bits.
+.IP \fIgrab_window\fP 1i
+Specifies the grab window.
+.IP \fIkeyboard_mode\fP 1i
+Specifies further processing of keyboard events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.IP \fImodifiers\fP 1i
+Specifies the set of keymasks or
+.ZN AnyModifier .
+The mask is the bitwise inclusive OR of the valid keymask bits.
+.IP \fIowner_events\fP 1i
+Specifies a Boolean value that indicates whether the pointer
+events are to be reported as usual or reported with respect to the grab window
+if selected by the event mask.
+.IP \fIpointer_mode\fP 1i
+Specifies further processing of pointer events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.SH DESCRIPTION
+The
+.ZN XGrabButton
+function establishes a passive grab.
+In the future,
+the pointer is actively grabbed (as for
+.ZN XGrabPointer ),
+the last-pointer-grab time is set to the time at which the button was pressed
+(as transmitted in the
+.ZN ButtonPress
+event), and the
+.ZN ButtonPress
+event is reported if all of the following conditions are true:
+.IP \(bu 5
+The pointer is not grabbed, and the specified button is logically pressed
+when the specified modifier keys are logically down,
+and no other buttons or modifier keys are logically down.
+.IP \(bu 5
+The grab_window contains the pointer.
+.IP \(bu 5
+The confine_to window (if any) is viewable.
+.IP \(bu 5
+A passive grab on the same button/key combination does not exist
+on any ancestor of grab_window.
+.LP
+The interpretation of the remaining arguments is as for
+.ZN XGrabPointer .
+The active grab is terminated automatically when the logical state of the
+pointer has all buttons released
+(independent of the state of the logical modifier keys),
+at which point a
+.ZN ButtonRelease
+event is reported to the grabbing window.
+.LP
+Note that the logical state of a device (as seen by client applications)
+may lag the physical state if device event processing is frozen.
+.LP
+This request overrides all previous grabs by the same client on the same
+button/key combinations on the same window.
+A modifiers of
+.ZN AnyModifier
+is equivalent to issuing the grab request for all
+possible modifier combinations (including the combination of no modifiers).
+It is not required that all modifiers specified have currently assigned
+KeyCodes.
+A button of
+.ZN AnyButton
+is equivalent to
+issuing the request for all possible buttons.
+Otherwise, it is not required that the specified button currently be assigned
+to a physical button.
+.LP
+If some other client has already issued a
+.ZN XGrabButton
+with the same button/key combination on the same window, a
+.ZN BadAccess
+error results.
+When using
+.ZN AnyModifier
+or
+.ZN AnyButton ,
+the request fails completely,
+and a
+.ZN BadAccess
+error results (no grabs are
+established) if there is a conflicting grab for any combination.
+.ZN XGrabButton
+has no effect on an active grab.
+.LP
+.ZN XGrabButton
+can generate
+.ZN BadCursor ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XUngrabButton
+function releases the passive button/key combination on the specified window if
+it was grabbed by this client.
+A modifiers of
+.ZN AnyModifier
+is
+equivalent to issuing
+the ungrab request for all possible modifier combinations, including
+the combination of no modifiers.
+A button of
+.ZN AnyButton
+is equivalent to issuing the
+request for all possible buttons.
+.ZN XUngrabButton
+has no effect on an active grab.
+.LP
+.ZN XUngrabButton
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllowEvents(3X11),
+XGrabPointer(3X11),
+XGrabKey(3X11),
+XGrabKeyboard(3X11),
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGrabKey.man b/libX11/man/XGrabKey.man
new file mode 100644
index 000000000..b0cfd8bc3
--- /dev/null
+++ b/libX11/man/XGrabKey.man
@@ -0,0 +1,299 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGrKey.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGrabKey __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGrabKey, XUngrabKey \- grab keyboard keys
+.SH SYNTAX
+.HP
+int XGrabKey\^(\^Display *\fIdisplay\fP\^, int \fIkeycode\fP\^, unsigned int
+\fImodifiers\fP\^, Window \fIgrab_window\fP\^, Bool \fIowner_events\fP\^, int
+\fIpointer_mode\fP\^, int \fIkeyboard_mode\fP\^);
+.HP
+int XUngrabKey\^(\^Display *\fIdisplay\fP\^, int \fIkeycode\fP\^, unsigned int
+\fImodifiers\fP\^, Window \fIgrab_window\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgrab_window\fP 1i
+Specifies the grab window.
+.IP \fIkeyboard_mode\fP 1i
+Specifies further processing of keyboard events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.IP \fIkeycode\fP 1i
+Specifies the KeyCode or
+.ZN AnyKey .
+.IP \fImodifiers\fP 1i
+Specifies the set of keymasks or
+.ZN AnyModifier .
+The mask is the bitwise inclusive OR of the valid keymask bits.
+.IP \fIowner_events\fP 1i
+Specifies a Boolean value that indicates whether the keyboard events
+are to be reported as usual.
+.IP \fIpointer_mode\fP 1i
+Specifies further processing of pointer events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.SH DESCRIPTION
+The
+.ZN XGrabKey
+function establishes a passive grab on the keyboard.
+In the future,
+the keyboard is actively grabbed (as for
+.ZN XGrabKeyboard ),
+the last-keyboard-grab time is set to the time at which the key was pressed
+(as transmitted in the
+.ZN KeyPress
+event), and the
+.ZN KeyPress
+event is reported if all of the following conditions are true:
+.IP \(bu 5
+The keyboard is not grabbed and the specified key
+(which can itself be a modifier key) is logically pressed
+when the specified modifier keys are logically down,
+and no other modifier keys are logically down.
+.IP \(bu 5
+Either the grab_window is an ancestor of (or is) the focus window,
+or the grab_window is a descendant of the focus window and contains the pointer.
+.IP \(bu 5
+A passive grab on the same key combination does not exist
+on any ancestor of grab_window.
+.LP
+The interpretation of the remaining arguments is as for
+.ZN XGrabKeyboard .
+The active grab is terminated automatically when the logical state of the
+keyboard has the specified key released
+(independent of the logical state of the modifier keys),
+at which point a
+.ZN KeyRelease
+event is reported to the grabbing window.
+.LP
+Note that the logical state of a device (as seen by client applications)
+may lag the physical state if device event processing is frozen.
+.LP
+A modifiers argument of
+.ZN AnyModifier
+is equivalent to issuing the request for all
+possible modifier combinations (including the combination of no
+modifiers).
+It is not required that all modifiers specified have
+currently assigned KeyCodes.
+A keycode argument of
+.ZN AnyKey
+is equivalent to issuing
+the request for all possible KeyCodes.
+Otherwise, the specified keycode must be in
+the range specified by min_keycode and max_keycode in the connection
+setup,
+or a
+.ZN BadValue
+error results.
+.LP
+If some other client has issued a
+.ZN XGrabKey
+with the same key combination on the same window, a
+.ZN BadAccess
+error results.
+When using
+.ZN AnyModifier
+or
+.ZN AnyKey ,
+the request fails completely,
+and a
+.ZN BadAccess
+error results (no grabs are established)
+if there is a conflicting grab for any combination.
+.LP
+.ZN XGrabKey
+can generate
+.ZN BadAccess ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XUngrabKey
+function releases the key combination on the specified window if it was grabbed
+by this client.
+It has no effect on an active grab.
+A modifiers of
+.ZN AnyModifier
+is equivalent to issuing
+the request for all possible modifier combinations
+(including the combination of no modifiers).
+A keycode argument of
+.ZN AnyKey
+is equivalent to issuing the request for all possible key codes.
+.LP
+.ZN XUngrabKey
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to grab a key/button combination already grabbed by another client.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllowAccess(3X11),
+XGrabButton(3X11),
+XGrabKeyboard(3X11),
+XGrabPointer(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGrabKeyboard.man b/libX11/man/XGrabKeyboard.man
new file mode 100644
index 000000000..db1255fd0
--- /dev/null
+++ b/libX11/man/XGrabKeyboard.man
@@ -0,0 +1,298 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGrKeybrd.man,v 1.2 2001/01/27 18:20:00 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGrabKeyboard __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGrabKeyboard, XUngrabKeyboard \- grab the keyboard
+.SH SYNTAX
+.HP
+int XGrabKeyboard\^(\^Display *\fIdisplay\fP\^, Window \fIgrab_window\fP\^,
+Bool \fIowner_events\fP\^, int \fIpointer_mode\fP\^, int
+\fIkeyboard_mode\fP\^, Time \fItime\fP\^);
+.HP
+int XUngrabKeyboard\^(\^Display *\fIdisplay\fP\^, Time \fItime\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgrab_window\fP 1i
+Specifies the grab window.
+.IP \fIkeyboard_mode\fP 1i
+Specifies further processing of keyboard events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.IP \fIowner_events\fP 1i
+Specifies a Boolean value that indicates whether the keyboard events
+are to be reported as usual.
+.IP \fIpointer_mode\fP 1i
+Specifies further processing of pointer events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.IP \fItime\fP 1i
+Specifies the time.
+You can pass either a timestamp or
+.ZN CurrentTime .
+.SH DESCRIPTION
+The
+.ZN XGrabKeyboard
+function actively grabs control of the keyboard and generates
+.ZN FocusIn
+and
+.ZN FocusOut
+events.
+Further key events are reported only to the
+grabbing client.
+.ZN XGrabKeyboard
+overrides any active keyboard grab by this client.
+If owner_events is
+.ZN False ,
+all generated key events are reported with
+respect to grab_window.
+If owner_events is
+.ZN True
+and if a generated
+key event would normally be reported to this client, it is reported
+normally; otherwise, the event is reported with respect to the
+grab_window.
+Both
+.ZN KeyPress
+and
+.ZN KeyRelease
+events are always reported,
+independent of any event selection made by the client.
+.LP
+If the keyboard_mode argument is
+.ZN GrabModeAsync ,
+keyboard event processing continues
+as usual.
+If the keyboard is currently frozen by this client,
+then processing of keyboard events is resumed.
+If the keyboard_mode argument is
+.ZN GrabModeSync ,
+the state of the keyboard (as seen by client applications) appears to freeze,
+and the X server generates no further keyboard events until the
+grabbing client issues a releasing
+.ZN XAllowEvents
+call or until the keyboard grab is released.
+Actual keyboard changes are not lost while the keyboard is frozen;
+they are simply queued in the server for later processing.
+.LP
+If pointer_mode is
+.ZN GrabModeAsync ,
+pointer event processing is unaffected
+by activation of the grab.
+If pointer_mode is
+.ZN GrabModeSync ,
+the state of the pointer (as seen by client applications) appears to freeze,
+and the X server generates no further pointer events
+until the grabbing client issues a releasing
+.ZN XAllowEvents
+call or until the keyboard grab is released.
+Actual pointer changes are not lost while the pointer is frozen;
+they are simply queued in the server for later processing.
+.LP
+If the keyboard is actively grabbed by some other client,
+.ZN XGrabKeyboard
+fails and returns
+.ZN AlreadyGrabbed .
+If grab_window is not viewable,
+it fails and returns
+.ZN GrabNotViewable .
+If the keyboard is frozen by an active grab of another client,
+it fails and returns
+.ZN GrabFrozen .
+If the specified time is earlier than the last-keyboard-grab time
+or later than the current X server time,
+it fails and returns
+.ZN GrabInvalidTime .
+Otherwise, the last-keyboard-grab time is set to the specified time
+.Pn ( CurrentTime
+is replaced by the current X server time).
+.LP
+.ZN XGrabKeyboard
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XUngrabKeyboard
+function
+releases the keyboard and any queued events if this client has it actively grabbed from
+either
+.ZN XGrabKeyboard
+or
+.ZN XGrabKey .
+.ZN XUngrabKeyboard
+does not release the keyboard and any queued events
+if the specified time is earlier than
+the last-keyboard-grab time or is later than the current X server time.
+It also generates
+.ZN FocusIn
+and
+.ZN FocusOut
+events.
+The X server automatically performs an
+.ZN UngrabKeyboard
+request if the event window for an
+active keyboard grab becomes not viewable.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllowEvents(3X11),
+XGrabButton(3X11),
+XGrabKey(3X11),
+XGrabPointer(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGrabPointer.man b/libX11/man/XGrabPointer.man
new file mode 100644
index 000000000..46a998697
--- /dev/null
+++ b/libX11/man/XGrabPointer.man
@@ -0,0 +1,366 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGrPntr.man,v 1.2 2001/01/27 18:20:00 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGrabPointer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGrabPointer, XUngrabPointer, XChangeActivePointerGrab \- grab the pointer
+.SH SYNTAX
+.HP
+int XGrabPointer\^(\^Display *\fIdisplay\fP\^, Window \fIgrab_window\fP\^,
+Bool \fIowner_events\fP\^, unsigned int \fIevent_mask\fP\^, int
+\fIpointer_mode\fP\^, int \fIkeyboard_mode\fP\^, Window \fIconfine_to\fP\^,
+Cursor \fIcursor\fP\^, Time \fItime\fP\^);
+.HP
+int XUngrabPointer\^(\^Display *\fIdisplay\fP\^, Time \fItime\fP\^);
+.HP
+int XChangeActivePointerGrab\^(\^Display *\fIdisplay\fP\^, unsigned int
+\fIevent_mask\fP\^, Cursor \fIcursor\fP\^, Time \fItime\fP\^);
+.SH ARGUMENTS
+.IP \fIconfine_to\fP 1i
+Specifies the window to confine the pointer in or
+.ZN None .
+.IP \fIcursor\fP 1i
+Specifies the cursor that is to be displayed during the grab or
+.ZN None .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_mask\fP 1i
+Specifies which pointer events are reported to the client.
+The mask is the bitwise inclusive OR of the valid pointer event mask bits.
+.IP \fIgrab_window\fP 1i
+Specifies the grab window.
+.IP \fIkeyboard_mode\fP 1i
+Specifies further processing of keyboard events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.IP \fIowner_events\fP 1i
+Specifies a Boolean value that indicates whether the pointer
+events are to be reported as usual or reported with respect to the grab window
+if selected by the event mask.
+.IP \fIpointer_mode\fP 1i
+Specifies further processing of pointer events.
+You can pass
+.ZN GrabModeSync
+or
+.ZN GrabModeAsync .
+.IP \fItime\fP 1i
+Specifies the time.
+You can pass either a timestamp or
+.ZN CurrentTime .
+.SH DESCRIPTION
+The
+.ZN XGrabPointer
+function actively grabs control of the pointer and returns
+.ZN GrabSuccess
+if the grab was successful.
+Further pointer events are reported only to the grabbing client.
+.ZN XGrabPointer
+overrides any active pointer grab by this client.
+If owner_events is
+.ZN False ,
+all generated pointer events
+are reported with respect to grab_window and are reported only if
+selected by event_mask.
+If owner_events is
+.ZN True
+and if a generated
+pointer event would normally be reported to this client,
+it is reported as usual.
+Otherwise, the event is reported with respect to the
+grab_window and is reported only if selected by event_mask.
+For either value of owner_events, unreported events are discarded.
+.LP
+If the pointer_mode is
+.ZN GrabModeAsync ,
+pointer event processing continues as usual.
+If the pointer is currently frozen by this client,
+the processing of events for the pointer is resumed.
+If the pointer_mode is
+.ZN GrabModeSync ,
+the state of the pointer, as seen by
+client applications,
+appears to freeze, and the X server generates no further pointer events
+until the grabbing client calls
+.ZN XAllowEvents
+or until the pointer grab is released.
+Actual pointer changes are not lost while the pointer is frozen;
+they are simply queued in the server for later processing.
+.LP
+If the keyboard_mode is
+.ZN GrabModeAsync ,
+keyboard event processing is unaffected by activation of the grab.
+If the keyboard_mode is
+.ZN GrabModeSync ,
+the state of the keyboard, as seen by
+client applications,
+appears to freeze, and the X server generates no further keyboard events
+until the grabbing client calls
+.ZN XAllowEvents
+or until the pointer grab is released.
+Actual keyboard changes are not lost while the pointer is frozen;
+they are simply queued in the server for later processing.
+.LP
+If a cursor is specified, it is displayed regardless of what
+window the pointer is in.
+If
+.ZN None
+is specified,
+the normal cursor for that window is displayed
+when the pointer is in grab_window or one of its subwindows;
+otherwise, the cursor for grab_window is displayed.
+.LP
+If a confine_to window is specified,
+the pointer is restricted to stay contained in that window.
+The confine_to window need have no relationship to the grab_window.
+If the pointer is not initially in the confine_to window,
+it is warped automatically to the closest edge
+just before the grab activates and enter/leave events are generated as usual.
+If the confine_to window is subsequently reconfigured,
+the pointer is warped automatically, as necessary,
+to keep it contained in the window.
+.LP
+The time argument allows you to avoid certain circumstances that come up
+if applications take a long time to respond or if there are long network
+delays.
+Consider a situation where you have two applications, both
+of which normally grab the pointer when clicked on.
+If both applications specify the timestamp from the event,
+the second application may wake up faster and successfully grab the pointer
+before the first application.
+The first application then will get an indication that the other application
+grabbed the pointer before its request was processed.
+.LP
+.ZN XGrabPointer
+generates
+.ZN EnterNotify
+and
+.ZN LeaveNotify
+events.
+.LP
+Either if grab_window or confine_to window is not viewable
+or if the confine_to window lies completely outside the boundaries of the root
+window,
+.ZN XGrabPointer
+fails and returns
+.ZN GrabNotViewable .
+If the pointer is actively grabbed by some other client,
+it fails and returns
+.ZN AlreadyGrabbed .
+If the pointer is frozen by an active grab of another client,
+it fails and returns
+.ZN GrabFrozen .
+If the specified time is earlier than the last-pointer-grab time or later
+than the current X server time, it fails and returns
+.ZN GrabInvalidTime .
+Otherwise, the last-pointer-grab time is set to the specified time
+.Pn ( CurrentTime
+is replaced by the current X server time).
+.LP
+.ZN XGrabPointer
+can generate
+.ZN BadCursor ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XUngrabPointer
+function releases the pointer and any queued events
+if this client has actively grabbed the pointer from
+.ZN XGrabPointer ,
+.ZN XGrabButton ,
+or from a normal button press.
+.ZN XUngrabPointer
+does not release the pointer if the specified
+time is earlier than the last-pointer-grab time or is later than the
+current X server time.
+It also generates
+.ZN EnterNotify
+and
+.ZN LeaveNotify
+events.
+The X server performs an
+.ZN UngrabPointer
+request automatically if the event window or confine_to window
+for an active pointer grab becomes not viewable
+or if window reconfiguration causes the confine_to window to lie completely
+outside the boundaries of the root window.
+.LP
+The
+.ZN XChangeActivePointerGrab
+function changes the specified dynamic parameters if the pointer is actively
+grabbed by the client and if the specified time is no earlier than the
+last-pointer-grab time and no later than the current X server time.
+This function has no effect on the passive parameters of a
+.ZN XGrabButton .
+The interpretation of event_mask and cursor is the same as described in
+.ZN XGrabPointer .
+.LP
+.ZN XChangeActivePointerGrab
+can generate a
+.ZN BadCursor
+and
+.ZN BadValue
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllowEvents(3X11),
+XGrabButton(3X11),
+XGrabKey(3X11),
+XGrabKeyboard(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGrabServer.man b/libX11/man/XGrabServer.man
new file mode 100644
index 000000000..e3701c701
--- /dev/null
+++ b/libX11/man/XGrabServer.man
@@ -0,0 +1,171 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGrServer.man,v 1.2 2001/01/27 18:20:00 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGrabServer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGrabServer, XUngrabServer \- grab the server
+.SH SYNTAX
+.HP
+int XGrabServer\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XUngrabServer\^(\^Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.SH DESCRIPTION
+The
+.ZN XGrabServer
+function disables processing of requests and close downs on all other
+connections than the one this request arrived on.
+You should not grab the X server any more than is absolutely necessary.
+.LP
+The
+.ZN XUngrabServer
+function restarts processing of requests and close downs on other connections.
+You should avoid grabbing the X server as much as possible.
+.SH "SEE ALSO"
+XGrabButton(3X11),
+XGrabKey(3X11),
+XGrabKeyboard(3X11),
+XGrabPointer(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGraphicsExposeEvent.man b/libX11/man/XGraphicsExposeEvent.man
new file mode 100644
index 000000000..a5637c84c
--- /dev/null
+++ b/libX11/man/XGraphicsExposeEvent.man
@@ -0,0 +1,278 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGEEvent.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XGraphicsExposeEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGraphicsExposeEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGraphicsExposeEvent, XNoExposeEvent \- GraphicsExpose and NoExpose event structures
+.SH STRUCTURES
+The structures for
+.ZN GraphicsExpose
+and
+.ZN NoExpose
+events contain:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* GraphicsExpose */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Drawable drawable;
+ int x, y;
+ int width, height;
+ int count; /\&* if nonzero, at least this many more */
+ int major_code; /\&* core is CopyArea or CopyPlane */
+ int minor_code; /\&* not defined in the core */
+} XGraphicsExposeEvent;
+.De
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* NoExpose */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Drawable drawable;
+ int major_code; /\&* core is CopyArea or CopyPlane */
+ int minor_code; /\&* not defined in the core */
+} XNoExposeEvent;
+.De
+.LP
+When you receive these events,
+their structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+Both structures have these common members: drawable, major_code, and minor_code.
+The drawable member is set to the drawable of the destination region on
+which the graphics request was to be performed.
+The major_code member is set to the graphics request initiated by the client
+and can be either
+.ZN X_CopyArea
+or
+.ZN X_CopyPlane .
+If it is
+.ZN X_CopyArea ,
+a call to
+.ZN XCopyArea
+initiated the request.
+If it is
+.ZN X_CopyPlane ,
+a call to
+.ZN XCopyPlane
+initiated the request.
+These constants are defined in
+.hN X11/Xproto.h .
+The minor_code member,
+like the major_code member,
+indicates which graphics request was initiated by
+the client.
+However, the minor_code member is not defined by the core
+X protocol and will be zero in these cases,
+although it may be used by an extension.
+.LP
+The
+.ZN XGraphicsExposeEvent
+structure has these additional members: x, y, width, height, and count.
+The x and y members are set to the coordinates relative to the drawable's origin
+and indicate the upper-left corner of the rectangle.
+The width and height members are set to the size (extent) of the rectangle.
+The count member is set to the number of
+.ZN GraphicsExpose
+events to follow.
+If count is zero, no more
+.ZN GraphicsExpose
+events follow for this window.
+However, if count is nonzero, at least that number of
+.ZN GraphicsExpose
+events (and possibly more) are to follow for this window.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCopyArea(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XGravityEvent.man b/libX11/man/XGravityEvent.man
new file mode 100644
index 000000000..c49719e1f
--- /dev/null
+++ b/libX11/man/XGravityEvent.man
@@ -0,0 +1,226 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGEvent.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XGravityEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XGravityEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XGravityEvent \- GravityNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN GravityNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* GravityNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+} XGravityEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the window that was moved or to its parent,
+depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+The window member is set to the child window that was moved.
+The x and y members are set to the coordinates relative to the
+new parent window's origin
+and indicate the position of the upper-left outside corner of the
+window.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XIconifyWindow.man b/libX11/man/XIconifyWindow.man
new file mode 100644
index 000000000..edb1101a4
--- /dev/null
+++ b/libX11/man/XIconifyWindow.man
@@ -0,0 +1,257 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XIcWin.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XIconifyWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XIconifyWindow, XWithdrawWindow, XReconfigureWMWindow \- manipulate top-level windows
+.SH SYNTAX
+.HP
+Status XIconifyWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP, int
+\fIscreen_number\fP\^);
+.HP
+Status XWithdrawWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
+\fIscreen_number\fP\^);
+.HP
+Status XReconfigureWMWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+int \fIscreen_number\fP\^, unsigned int \fIvalue_mask\fP\^, XWindowChanges
+*\fIvalues\fP);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIscreen_number\fP 1i
+Specifies the appropriate screen number on the host server.
+.IP \fIvalue_mask\fP 1i
+Specifies which values are to be set using information in
+the values structure.
+This mask is the bitwise inclusive OR of the valid configure window values bits.
+.IP \fIvalues\fP 1i
+Specifies the
+.ZN XWindowChanges
+structure.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XIconifyWindow
+function sends a WM_CHANGE_STATE
+.ZN ClientMessage
+event with a format of 32 and a first data element of
+.ZN IconicState
+(as described in section 4.1.4 of the
+\fIInter-Client Communication Conventions Manual\fP)
+and a window of w
+to the root window of the specified screen
+with an event mask set to
+.ZN SubstructureNotifyMask |
+.ZN SubstructureRedirectMask .
+Window managers may elect to receive this message and
+if the window is in its normal state,
+may treat it as a request to change the window's state from normal to iconic.
+If the WM_CHANGE_STATE property cannot be interned,
+.ZN XIconifyWindow
+does not send a message and returns a zero status.
+It returns a nonzero status if the client message is sent successfully;
+otherwise, it returns a zero status.
+.LP
+The
+.ZN XWithdrawWindow
+function unmaps the specified window
+and sends a synthetic
+.ZN UnmapNotify
+event to the root window of the specified screen.
+Window managers may elect to receive this message
+and may treat it as a request to change the window's state to withdrawn.
+When a window is in the withdrawn state,
+neither its normal nor its iconic representations is visible.
+It returns a nonzero status if the
+.ZN UnmapNotify
+event is successfully sent;
+otherwise, it returns a zero status.
+.LP
+.ZN XWithdrawWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XReconfigureWMWindow
+function issues a
+.ZN ConfigureWindow
+request on the specified top-level window.
+If the stacking mode is changed and the request fails with a
+.ZN BadMatch
+error,
+the error is trapped by Xlib and a synthetic
+.ZN ConfigureRequestEvent
+containing the same configuration parameters is sent to the root
+of the specified window.
+Window managers may elect to receive this event
+and treat it as a request to reconfigure the indicated window.
+It returns a nonzero status if the request or event is successfully sent;
+otherwise, it returns a zero status.
+.LP
+.ZN XReconfigureWMWindow
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XConfigureWindow(3X11),
+XCreateWindow(3X11),
+XDestroyWindow(3X11),
+XRaiseWindow(3X11),
+XMapWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XIfEvent.man b/libX11/man/XIfEvent.man
new file mode 100644
index 000000000..17c483b45
--- /dev/null
+++ b/libX11/man/XIfEvent.man
@@ -0,0 +1,252 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XIfEvent.man,v 1.3 2003/04/28 22:17:55 herrb Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XIfEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XIfEvent, XCheckIfEvent, XPeekIfEvent \- check the event queue with a predicate procedure
+.SH SYNTAX
+.HP
+int XIfEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^, Bool
+(\^*\fIpredicate\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
+.HP
+Bool XCheckIfEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^,
+Bool (\^*\fIpredicate\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
+.HP
+int XPeekIfEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^,
+Bool (\^*\fIpredicate\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
+.SH ARGUMENTS
+.IP \fIarg\fP 1i
+Specifies the user-supplied argument that will be passed to the predicate procedure.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Ev \ either a copy of or
+.IP \fIevent_return\fP 1i
+Returns\*(Ev the matched event's associated structure.
+.IP \fIpredicate\fP 1i
+Specifies the procedure that is to be called to determine
+if the next event in the queue matches what you want.
+.SH DESCRIPTION
+The
+.ZN XIfEvent
+function completes only when the specified predicate
+procedure returns
+.ZN True
+for an event,
+which indicates an event in the queue matches.
+.ZN XIfEvent
+flushes the output buffer if it blocks waiting for additional events.
+.ZN XIfEvent
+removes the matching event from the queue
+and copies the structure into the client-supplied
+.ZN XEvent
+structure.
+.LP
+When the predicate procedure finds a match,
+.ZN XCheckIfEvent
+copies the matched event into the client-supplied
+.ZN XEvent
+structure and returns
+.ZN True .
+(This event is removed from the queue.)
+If the predicate procedure finds no match,
+.ZN XCheckIfEvent
+returns
+.ZN False ,
+and the output buffer will have been flushed.
+All earlier events stored in the queue are not discarded.
+.LP
+The
+.ZN XPeekIfEvent
+function returns only when the specified predicate
+procedure returns
+.ZN True
+for an event.
+After the predicate procedure finds a match,
+.ZN XPeekIfEvent
+copies the matched event into the client-supplied
+.ZN XEvent
+structure without removing the event from the queue.
+.ZN XPeekIfEvent
+flushes the output buffer if it blocks waiting for additional events.
+.LP
+Each of these functions requires you to pass a predicate procedure that
+determines if an event matches what you want.
+Your predicate procedure must decide if the event is useful
+without calling any Xlib functions.
+If the predicate directly or indirectly causes the state of the event queue
+to change, the result is not defined.
+If Xlib has been initialized for threads, the predicate is called with
+the display locked and the result of a call by the predicate to any
+Xlib function that locks the display is not defined unless the caller
+has first called
+.ZN XLockDisplay .
+.LP
+The predicate procedure and its associated arguments are:
+.HP
+Bool (\^*\fIpredicate\fP\^)\^(\^Display *\fIdisplay\fP, XEvent *\fIevent\fP, XPointer \fIarg\fP\^)
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent\fP 1i
+Specifies the
+.ZN XEvent
+structure.
+.IP \fIarg\fP 1i
+Specifies the argument passed in from the
+.ZN XIfEvent ,
+.ZN XCheckIfEvent ,
+or
+.ZN XPeekIfEvent
+function.
+.LP
+The predicate procedure is called once for each
+event in the queue until it finds a match.
+After finding a match, the predicate procedure must return
+.ZN True .
+If it did not find a match, it must return
+.ZN False .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XNextEvent(3X11),
+XPutBackEvent(3X11)
+XSendEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XInitImage.man b/libX11/man/XInitImage.man
new file mode 100644
index 000000000..e2c82a6f7
--- /dev/null
+++ b/libX11/man/XInitImage.man
@@ -0,0 +1,315 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XCreImage.man,v 1.2 2001/01/27 18:19:57 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XCreateImage __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XInitImage, XCreateImage, XGetPixel, XPutPixel, XSubImage, XAddPixel, XDestroyImage \- image utilities
+.SH SYNTAX
+.HP
+Status XInitImage\^(\^XImage *\fIimage\fP\^);
+.HP
+XImage *XCreateImage\^(\^Display *\fIdisplay\fP\^, Visual *\fIvisual\fP\^,
+unsigned int \fIdepth\fP\^, int \fIformat\fP\^, int \fIoffset\fP\^, char
+*\fIdata\fP\^, unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, int
+\fIbitmap_pad\fP\^, int \fIbytes_per_line\fP\^);
+.HP
+unsigned long XGetPixel\^(\^XImage *\fIximage\fP\^, int \fIx\fP\^, int
+\fIy\fP\^);
+.HP
+int XPutPixel\^(\^XImage *\fIximage\fP\^, int \fIx\fP\^, int \fIy\fP\^,
+unsigned long \fIpixel\fP\^);
+.HP
+XImage *XSubImage\^(\^XImage *\fIximage\fP\^, int \fIx\fP\^, int \fIy\fP\^,
+unsigned int \fIsubimage_width\fP\^, unsigned int \fIsubimage_height\fP\^);
+.HP
+int XAddPixel\^(\^XImage *\fIximage\fP\^, long \fIvalue\fP\^);
+.HP
+int XDestroyImage\^(\^XImage *\^\fIximage\fP\^);
+.SH ARGUMENTS
+.IP \fIbitmap_pad\fP 1i
+Specifies the quantum of a scanline (8, 16, or 32).
+In other words, the start of one scanline is separated in client memory from
+the start of the next scanline by an integer multiple of this many bits.
+.IP \fIbytes_per_line\fP 1i
+Specifies the number of bytes in the client image between
+the start of one scanline and the start of the next.
+.IP \fIdata\fP 1i
+Specifies the image data.
+.IP \fIdepth\fP 1i
+Specifies the depth of the image.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIformat\fP 1i
+Specifies the format for the image.
+You can pass
+.ZN XYBitmap ,
+.ZN XYPixmap ,
+or
+.ZN ZPixmap .
+.IP \fIheight\fP 1i
+Specifies the height of the image, in pixels.
+.IP \fIoffset\fP 1i
+Specifies the number of pixels to ignore at the beginning of the scanline.
+.IP \fIpixel\fP 1i
+Specifies the new pixel value.
+.IP \fIsubimage_height\fP 1i
+Specifies the height of the new subimage, in pixels.
+.IP \fIsubimage_width\fP 1i
+Specifies the width of the new subimage, in pixels.
+.IP \fIvalue\fP 1i
+Specifies the constant value that is to be added.
+.IP \fIvisual\fP 1i
+Specifies the
+.ZN Visual
+structure.
+.IP \fIwidth\fP 1i
+Specifies the width of the image, in pixels.
+.IP \fIximage\fP 1i
+Specifies the image.
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates.
+.SH DESCRIPTION
+The
+.ZN XInitImage
+function initializes the internal image manipulation routines of an
+image structure, based on the values of the various structure members.
+All fields other than the manipulation routines must already be initialized.
+If the bytes_per_line member is zero,
+.ZN XInitImage
+will assume the image data is contiguous in memory and set the
+bytes_per_line member to an appropriate value based on the other
+members; otherwise, the value of bytes_per_line is not changed.
+All of the manipulation routines are initialized to functions
+that other Xlib image manipulation functions need to operate on the
+type of image specified by the rest of the structure.
+.LP
+This function must be called for any image constructed by the client
+before passing it to any other Xlib function.
+Image structures created or returned by Xlib do not need to be
+initialized in this fashion.
+.LP
+This function returns a nonzero status if initialization of the
+structure is successful. It returns zero if it detected some error
+or inconsistency in the structure, in which case the image is not changed.
+.LP
+The
+.ZN XCreateImage
+function allocates the memory needed for an
+.ZN XImage
+structure for the
+specified display but does not allocate space for the image itself.
+Rather, it initializes the structure byte-order, bit-order, and bitmap-unit
+values from the display and returns a pointer to the
+.ZN XImage
+structure.
+The red, green, and blue mask values are defined for Z format images only
+and are derived from the
+.ZN Visual
+structure passed in.
+Other values also are passed in.
+The offset permits the rapid displaying of the image without requiring each
+scanline to be shifted into position.
+If you pass a zero value in bytes_per_line,
+Xlib assumes that the scanlines are contiguous
+in memory and calculates the value of bytes_per_line itself.
+.LP
+Note that when the image is created using
+.ZN XCreateImage ,
+.ZN XGetImage ,
+or
+.ZN XSubImage ,
+the destroy procedure that the
+.ZN XDestroyImage
+function calls frees both the image structure
+and the data pointed to by the image structure.
+.LP
+The basic functions used to get a pixel, set a pixel, create a subimage,
+and add a constant value to an image are defined in the image object.
+The functions in this section are really macro invocations of the functions
+in the image object and are defined in
+.hN X11/Xutil.h .
+.LP
+The
+.ZN XGetPixel
+function returns the specified pixel from the named image.
+The pixel value is returned in normalized format (that is,
+the least significant byte of the long is the least significant byte
+of the pixel).
+The image must contain the x and y coordinates.
+.LP
+The
+.ZN XPutPixel
+function overwrites the pixel in the named image with the specified pixel value.
+The input pixel value must be in normalized format
+(that is, the least significant byte of the long is the least significant
+byte of the pixel).
+The image must contain the x and y coordinates.
+.LP
+The
+.ZN XSubImage
+function creates a new image that is a subsection of an existing one.
+It allocates the memory necessary for the new
+.ZN XImage
+structure
+and returns a pointer to the new image.
+The data is copied from the source image,
+and the image must contain the rectangle defined by x, y, subimage_width,
+and subimage_height.
+.LP
+The
+.ZN XAddPixel
+function adds a constant value to every pixel in an image.
+It is useful when you have a base pixel value from allocating
+color resources and need to manipulate the image to that form.
+.LP
+The
+.ZN XDestroyImage
+function deallocates the memory associated with the
+.ZN XImage
+structure.
+.SH "SEE ALSO"
+XPutImage(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XInitThreads.man b/libX11/man/XInitThreads.man
new file mode 100644
index 000000000..64b138475
--- /dev/null
+++ b/libX11/man/XInitThreads.man
@@ -0,0 +1,204 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XThreads.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XInitThreads __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XInitThreads, XLockDisplay, XUnlockDisplay \- multi-threading support
+.SH SYNTAX
+.HP
+Status XInitThreads\^(void);
+.HP
+void XLockDisplay\^(\^Display *\fIdisplay\fP\^);
+.HP
+void XUnlockDisplay\^(\^Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.SH DESCRIPTION
+The
+.ZN XInitThreads
+function initializes Xlib support for concurrent threads.
+This function must be the first Xlib function a
+multi-threaded program calls, and it must complete
+before any other Xlib call is made.
+This function returns a nonzero status if initialization was
+successful; otherwise, it returns zero.
+On systems that do not support threads, this function always returns zero.
+.LP
+It is only necessary to call this function if multiple threads
+might use Xlib concurrently. If all calls to Xlib functions
+are protected by some other access mechanism (for example,
+a mutual exclusion lock in a toolkit or through explicit client
+programming), Xlib thread initialization is not required.
+It is recommended that single-threaded programs not call this function.
+
+.LP
+The
+.ZN XLockDisplay
+function locks out all other threads from using the specified display.
+Other threads attempting to use the display will block until
+the display is unlocked by this thread.
+Nested calls to
+.ZN XLockDisplay
+work correctly; the display will not actually be unlocked until
+.ZN XUnlockDisplay
+has been called the same number of times as
+.ZN XLockDisplay .
+This function has no effect unless Xlib was successfully initialized
+for threads using
+.ZN XInitThreads .
+.LP
+The
+.ZN XUnlockDisplay
+function allows other threads to use the specified display again.
+Any threads that have blocked on the display are allowed to continue.
+Nested locking works correctly; if
+.ZN XLockDisplay
+has been called multiple times by a thread, then
+.ZN XUnlockDisplay
+must be called an equal number of times before the display is
+actually unlocked.
+This function has no effect unless Xlib was successfully initialized
+for threads using
+.ZN XInitThreads .
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XInstallColormap.man b/libX11/man/XInstallColormap.man
new file mode 100644
index 000000000..249ba4954
--- /dev/null
+++ b/libX11/man/XInstallColormap.man
@@ -0,0 +1,247 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XInstCmap.man,v 1.3 2001/07/23 20:47:17 paulo Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XInstallColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XInstallColormap, XUninstallColormap, XListInstalledColormaps \- control colormaps
+.SH SYNTAX
+.HP
+int XInstallColormap\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^);
+.HP
+int XUninstallColormap\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^);
+.HP
+Colormap *XListInstalledColormaps\^(\^Display *\fIdisplay\fP\^, Window
+\fIw\fP\^, int *\fInum_return\fP\^);
+.SH ARGUMENTS
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fInum_return\fP 1i
+Returns the number of currently installed colormaps.
+.ds Wi that determines the screen
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XInstallColormap
+function installs the specified colormap for its associated screen.
+All windows associated with this colormap immediately display with
+true colors.
+You associated the windows with this colormap when you created them by calling
+.ZN XCreateWindow ,
+.ZN XCreateSimpleWindow ,
+.ZN XChangeWindowAttributes ,
+or
+.ZN XSetWindowColormap .
+.LP
+If the specified colormap is not already an installed colormap,
+the X server generates a
+.ZN ColormapNotify
+event on each window that has that colormap.
+In addition, for every other colormap that is installed as
+a result of a call to
+.ZN XInstallColormap ,
+the X server generates a
+.ZN ColormapNotify
+event on each window that has that colormap.
+.LP
+.ZN XInstallColormap
+can generate a
+.ZN BadColor
+error.
+.LP
+The
+.ZN XUninstallColormap
+function removes the specified colormap from the required
+list for its screen.
+As a result,
+the specified colormap might be uninstalled,
+and the X server might implicitly install or uninstall additional colormaps.
+Which colormaps get installed or uninstalled is server dependent
+except that the required list must remain installed.
+.LP
+If the specified colormap becomes uninstalled,
+the X server generates a
+.ZN ColormapNotify
+event on each window that has that colormap.
+In addition, for every other colormap that is installed or uninstalled as a
+result of a call to
+.ZN XUninstallColormap ,
+the X server generates a
+.ZN ColormapNotify
+event on each window that has that colormap.
+.LP
+.ZN XUninstallColormap
+can generate a
+.ZN BadColor
+error.
+.LP
+The
+.ZN XListInstalledColormaps
+function returns a list of the currently installed colormaps for the screen
+of the specified window.
+The order of the colormaps in the list is not significant
+and is no explicit indication of the required list.
+When the allocated list is no longer needed,
+free it by using
+.ZN XFree .
+.LP
+.ZN XListInstalledColormaps
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XCreateColormap(3X11),
+XCreateWindow(3X11),
+XFree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XInternAtom.man b/libX11/man/XInternAtom.man
new file mode 100644
index 000000000..4c7b56f42
--- /dev/null
+++ b/libX11/man/XInternAtom.man
@@ -0,0 +1,280 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XInternA.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XInternAtom __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XInternAtom, XInternAtoms, XGetAtomName, XGetAtomNames \- create or return atom names
+.SH SYNTAX
+.HP
+Atom XInternAtom\^(\^Display *\fIdisplay\fP\^, char *\fIatom_name\fP\^, Bool
+\fIonly_if_exists\fP\^);
+.HP
+Status XInternAtoms\^(\^Display *\fIdisplay\fP\^, char **\fInames\fP\^, int
+\fIcount\fP\^, Bool \fIonly_if_exists\fP\^, Atom *\fIatoms_return\fP\^);
+.HP
+char *XGetAtomName\^(\^Display *\fIdisplay\fP\^, Atom \fIatom\fP\^);
+.HP
+Status XGetAtomNames\^(\^Display *\fIdisplay\fP\^, Atom *\fIatoms\fP\^, int
+\fIcount\fP\^, char **\fInames_return\fP\^);
+.SH ARGUMENTS
+.IP \fIatom\fP 1i
+Specifies the atom for the property name you want returned.
+.IP \fIatoms\fP 1i
+Specifies the array of atoms.
+.IP \fIatom_name\fP 1i
+Specifies the name associated with the atom you want returned.
+.IP \fIatoms_return\fP 1i
+Returns the atoms.
+.ds Cn atom names in the array
+.IP \fIcount\fP 1i
+Specifies the number of \*(Cn.
+.ds Cn atoms in the array
+.IP \fIcount\fP 1i
+Specifies the number of \*(Cn.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fInames\fP 1i
+Specifies the array of atom names.
+.IP \fInames_return\fP 1i
+Returns the atom names.
+.IP \fIonly_if_exists\fP 1i
+Specifies a Boolean value that indicates whether the atom must be created.
+.SH DESCRIPTION
+The
+.ZN XInternAtom
+function returns the atom identifier associated with the specified atom_name
+string.
+If only_if_exists is
+.ZN False ,
+the atom is created if it does not exist.
+Therefore,
+.ZN XInternAtom
+can return
+.ZN None .
+If the atom name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Uppercase and lowercase matter;
+the strings ``thing'', ``Thing'', and ``thinG''
+all designate different atoms.
+The atom will remain defined even after the client's connection closes.
+It will become undefined only when the last connection to
+the X server closes.
+.LP
+.ZN XInternAtom
+can generate
+.ZN BadAlloc
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XInternAtoms
+function returns the atom identifiers associated with the specified names.
+The atoms are stored in the atoms_return array supplied by the caller.
+Calling this function is equivalent to calling
+.ZN XInternAtom
+for each of the names in turn with the specified value of only_if_exists,
+but this function minimizes the number of round-trip protocol exchanges
+between the client and the X server.
+.LP
+This function returns a nonzero status if atoms are returned for
+all of the names;
+otherwise, it returns zero.
+.LP
+.ZN XInternAtoms
+can generate
+.ZN BadAlloc
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetAtomName
+function returns the name associated with the specified atom.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned string is in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+To free the resulting string,
+call
+.ZN XFree .
+.LP
+.ZN XGetAtomName
+can generate a
+.ZN BadAtom
+error.
+.LP
+The
+.ZN XGetAtomNames
+function returns the names associated with the specified atoms.
+The names are stored in the names_return array supplied by the caller.
+Calling this function is equivalent to calling
+.ZN XGetAtomName
+for each of the atoms in turn,
+but this function minimizes the number of round-trip protocol exchanges
+between the client and the X server.
+.LP
+This function returns a nonzero status if names are returned for
+all of the atoms;
+otherwise, it returns zero.
+.LP
+.ZN XGetAtomNames
+can generate a
+.ZN BadAtom
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XFree(3X11),
+XGetWindowProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XIntersectRegion.man b/libX11/man/XIntersectRegion.man
new file mode 100644
index 000000000..c4482f533
--- /dev/null
+++ b/libX11/man/XIntersectRegion.man
@@ -0,0 +1,226 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XInterReg.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XIntersectRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XIntersectRegion, XUnionRegion, XUnionRectWithRegion, XSubtractRegion, XXorRegion, XOffsetRegion, XShrinkRegion \- region arithmetic
+.SH SYNTAX
+.HP
+int XIntersectRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
+\fIdr_return\fP\^);
+.HP
+int XUnionRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
+\fIdr_return\fP\^);
+.HP
+int XUnionRectWithRegion\^(\^XRectangle *\fIrectangle\fP\^, Region
+\fIsrc_region\fP\^, Region \fIdest_region_return\fP\^);
+.HP
+int XSubtractRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
+\fIdr_return\fP\^);
+.HP
+int XXorRegion\^(\^Region \fIsra\fP\^, Region \fIsrb\fP\^, Region
+\fIdr_return\fP\^);
+.HP
+int XOffsetRegion\^(\^Region \fIr\fP\^, int \fIdx\fP\^, int \fIdy\fP\^);
+.HP
+int XShrinkRegion\^(\^Region \fIr\fP\^, int \fIdx\fP\^, int \fIdy\fP\^);
+.SH ARGUMENTS
+.IP \fIdest_region_return\fP 1i
+Returns the destination region.
+.IP \fIdr_return\fP 1i
+Returns the result of the computation.
+ds Dy move or shrink
+.IP \fIdx\fP 1i
+.br
+.ns
+.IP \fIdy\fP 1i
+Specify the x and y coordinates,
+which define the amount you want to \*(Dy the specified region.
+.IP \fIr\fP 1i
+Specifies the region.
+.IP \fIrectangle\fP 1i
+Specifies the rectangle.
+.IP \fIsra\fP 1i
+.br
+.ns
+.IP \fIsrb\fP 1i
+Specify the two regions with which you want to perform the computation.
+.IP \fIsrc_region\fP 1i
+Specifies the source region to be used.
+.SH DESCRIPTION
+The
+.ZN XIntersectRegion
+function computes the intersection of two regions.
+.LP
+The
+.ZN XUnionRegion
+function computes the union of two regions.
+.LP
+The
+.ZN XUnionRectWithRegion
+function updates the destination region from a union of the specified rectangle
+and the specified source region.
+.LP
+The
+.ZN XSubtractRegion
+function subtracts srb from sra and stores the results in dr_return.
+.LP
+The
+.ZN XXorRegion
+function calculates the difference between the union and intersection
+of two regions.
+.LP
+The
+.ZN XOffsetRegion
+function moves the specified region by a specified amount.
+.LP
+The
+.ZN XShrinkRegion
+function reduces the specified region by a specified amount.
+Positive values shrink the size of the region,
+and negative values expand the region.
+.SH "SEE ALSO"
+XCreateRegion(3X11),
+XDrawRectangle(3X11),
+XEmptyRegion(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XKeymapEvent.man b/libX11/man/XKeymapEvent.man
new file mode 100644
index 000000000..356865d7e
--- /dev/null
+++ b/libX11/man/XKeymapEvent.man
@@ -0,0 +1,222 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XKMapEven.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XKeymapEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XKeymapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XKeymapEvent \- KeymapNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN KeymapNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+/\&* generated on EnterWindow and FocusIn when KeymapState selected */
+typedef struct {
+ int type; /\&* KeymapNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ char key_vector[32];
+} XKeymapEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is not used but is present to aid some toolkits.
+The key_vector member is set to the bit vector of the keyboard.
+Each bit set to 1 indicates that the corresponding key
+is currently pressed.
+The vector is represented as 32 bytes.
+Byte N (from 0) contains the bits for keys 8N to 8N + 7
+with the least significant bit in the byte representing key 8N.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XListFonts.man b/libX11/man/XListFonts.man
new file mode 100644
index 000000000..880ff0c4f
--- /dev/null
+++ b/libX11/man/XListFonts.man
@@ -0,0 +1,266 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XListFont.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XListFonts __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XListFonts, XFreeFontNames, XListFontsWithInfo, XFreeFontInfo \- obtain or free font names and information
+.SH SYNTAX
+.HP
+char **XListFonts\^(\^Display *\^\fIdisplay\fP\^, char *\^\fIpattern\fP\^, int
+\fImaxnames\fP\^, int *\^\fIactual_count_return\fP\^);
+.HP
+int XFreeFontNames\^(\^char *\fIlist\fP\^[\^]\^);
+.HP
+char **XListFontsWithInfo\^(\^Display *\fIdisplay\fP\^, char *\fIpattern\fP\^,
+int \fImaxnames\fP\^, int *\fIcount_return\fP\^, XFontStruct
+**\fIinfo_return\fP\^);
+.HP
+int XFreeFontInfo(\^char **\fInames\fP\^, XFontStruct *\fIfree_info\fP, int
+\fIactual_count\fP\^);
+.SH ARGUMENTS
+.IP \fIactual_count\fP 1i
+Specifies the actual number of font names.
+
+.IP \fIactual_count_return\fP 1i
+Returns the actual number of font names.
+.IP \fIcount_return\fP 1i
+Returns the actual number of matched font names.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIinfo_return\fP 1i
+Returns the font information.
+.IP \fIfree_info\fP 1i
+Specifies the font information.
+
+.IP \fIlist\fP 1i
+Specifies the array of strings you want to free.
+.IP \fImaxnames\fP 1i
+Specifies the maximum number of names to be returned.
+.IP \fInames\fP 1i
+Specifies the list of font names.
+
+.IP \fIpattern\fP 1i
+Specifies the null-terminated pattern string that can contain wildcard
+characters.
+.SH DESCRIPTION
+The
+.ZN XListFonts
+function returns an array of available font names
+(as controlled by the font search path; see
+.ZN XSetFontPath )
+that match the string you passed to the pattern argument.
+The pattern string can contain any characters,
+but each asterisk (*) is a wildcard for any number of characters,
+and each question mark (?) is a wildcard for a single character.
+If the pattern string is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+Each returned string is null-terminated.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned strings are in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+If there are no matching font names,
+.ZN XListFonts
+returns NULL.
+The client should call
+.ZN XFreeFontNames
+when finished with the result to free the memory.
+.LP
+The
+.ZN XFreeFontNames
+function frees the array and strings returned by
+.ZN XListFonts
+or
+.ZN XListFontsWithInfo .
+.LP
+The
+.ZN XListFontsWithInfo
+function returns a list of font names that match the specified pattern and their
+associated font information.
+The list of names is limited to size specified by maxnames.
+The information returned for each font is identical to what
+.ZN XLoadQueryFont
+would return except that the per-character metrics are not returned.
+The pattern string can contain any characters,
+but each asterisk (*) is a wildcard for any number of characters,
+and each question mark (?) is a wildcard for a single character.
+If the pattern string is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+Each returned string is null-terminated.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned strings are in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+If there are no matching font names,
+.ZN XListFontsWithInfo
+returns NULL.
+.LP
+To free only the allocated name array,
+the client should call
+.ZN XFreeFontNames .
+To free both the name array and the font information array
+or to free just the font information array,
+the client should call
+.ZN XFreeFontInfo .
+.LP
+The
+.ZN XFreeFontInfo
+function frees a font structure or an array of font structures
+and optionally an array of font names.
+If NULL is passed for names, no font names are freed.
+If a font structure for an open font (returned by
+.ZN XLoadQueryFont )
+is passed, the structure is freed,
+but the font is not closed; use
+.ZN XUnloadFont
+to close the font.
+.LP
+Note that
+.ZN XListFontsWithInfo
+is not thread-safe. If other threads make X requests on the same
+.ZN Display ,
+then this function's behavior is undefined.
+.SH "SEE ALSO"
+XLoadFont(3X11),
+XSetFontPath(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XLoadFont.man b/libX11/man/XLoadFont.man
new file mode 100644
index 000000000..a13ed844a
--- /dev/null
+++ b/libX11/man/XLoadFont.man
@@ -0,0 +1,541 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XLoadFont.man,v 1.3 2003/04/28 22:17:55 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XLoadFont.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.de EX
+.sp
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+.sp
+..
+.TH XLoadFont __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XLoadFont, XQueryFont, XLoadQueryFont, XFreeFont, XGetFontProperty, XUnloadFont, XCharStruct, XFontProp, XChar2b, XFontStruct \- load or unload fonts and font metric structures
+.SH SYNTAX
+.HP
+Font XLoadFont\^(\^Display *\fIdisplay\fP\^, char *\fIname\fP\^);
+.HP
+XFontStruct *XQueryFont\^(\^Display *\fIdisplay\fP\^, XID \fIfont_ID\fP\^);
+.HP
+XFontStruct *XLoadQueryFont\^(\^Display *\fIdisplay\fP\^, char
+*\fIname\fP\^);
+.HP
+int XFreeFont\^(\^Display *\fIdisplay\fP\^, XFontStruct *\fIfont_struct\fP\^);
+.HP
+Bool XGetFontProperty\^(\^XFontStruct *\fIfont_struct\fP\^, Atom \fIatom\fP\^,
+unsigned long *\fIvalue_return\fP\^);
+.HP
+int XUnloadFont\^(\^Display *\fIdisplay\fP\^, Font \fIfont\fP\^);
+.SH ARGUMENTS
+.IP \fIatom\fP 1i
+Specifies the atom for the property name you want returned.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfont\fP 1i
+Specifies the font.
+.IP \fIfont_ID\fP 1i
+Specifies the font ID or the
+.ZN GContext
+ID.
+.IP \fIfont_struct\fP 1i
+Specifies the storage associated with the font.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIname\fP 1i
+Specifies the name of the font,
+which is a null-terminated string.
+.IP \fIvalue_return\fP 1i
+Returns the value of the font property.
+.SH DESCRIPTION
+The
+.ZN XLoadFont
+function loads the specified font and returns its associated font ID.
+If the font name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+When the characters ``?'' and ``*'' are used in a font name, a
+pattern match is performed and any matching font is used.
+In the pattern,
+the ``?'' character will match any single character,
+and the ``*'' character will match any number of characters.
+A structured format for font names is specified in the X Consortium standard
+\fIX Logical Font Description Conventions\fP.
+If
+.ZN XLoadFont
+was unsuccessful at loading the specified font,
+a
+.ZN BadName
+error results.
+Fonts are not associated with a particular screen
+and can be stored as a component
+of any GC.
+When the font is no longer needed, call
+.ZN XUnloadFont .
+.LP
+.ZN XLoadFont
+can generate
+.ZN BadAlloc
+and
+.ZN BadName
+errors.
+.LP
+The
+.ZN XQueryFont
+function returns a pointer to the
+.ZN XFontStruct
+structure, which contains information associated with the font.
+You can query a font or the font stored in a GC.
+The font ID stored in the
+.ZN XFontStruct
+structure will be the
+.ZN GContext
+ID, and you need to be careful when using this ID in other functions
+(see
+.ZN XGContextFromGC ).
+If the font does not exist,
+.ZN XQueryFont
+returns NULL.
+To free this data, use
+.ZN XFreeFontInfo .
+.LP
+.ZN XLoadQueryFont
+can generate a
+.ZN BadAlloc
+error.
+.LP
+The
+.ZN XLoadQueryFont
+function provides the most common way for accessing a font.
+.ZN XLoadQueryFont
+both opens (loads) the specified font and returns a pointer to the
+appropriate
+.ZN XFontStruct
+structure.
+If the font name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+If the font does not exist,
+.ZN XLoadQueryFont
+returns NULL.
+.LP
+The
+.ZN XFreeFont
+function deletes the association between the font resource ID and the specified
+font and frees the
+.ZN XFontStruct
+structure.
+The font itself will be freed when no other resource references it.
+The data and the font should not be referenced again.
+.LP
+.ZN XFreeFont
+can generate a
+.ZN BadFont
+error.
+.LP
+Given the atom for that property,
+the
+.ZN XGetFontProperty
+function returns the value of the specified font property.
+.ZN XGetFontProperty
+also returns
+.ZN False
+if the property was not defined or
+.ZN True
+if it was defined.
+A set of predefined atoms exists for font properties,
+which can be found in
+.hN X11/Xatom.h .
+This set contains the standard properties associated with
+a font.
+Although it is not guaranteed,
+it is likely that the predefined font properties will be present.
+.LP
+The
+.ZN XUnloadFont
+function deletes the association between the font resource ID and the specified font.
+The font itself will be freed when no other resource references it.
+The font should not be referenced again.
+.LP
+.ZN XUnloadFont
+can generate a
+.ZN BadFont
+error.
+.SH STRUCTURES
+The
+.ZN XFontStruct
+structure contains all of the information for the font
+and consists of the font-specific information as well as
+a pointer to an array of
+.ZN XCharStruct
+structures for the
+characters contained in the font.
+The
+.ZN XFontStruct ,
+.ZN XFontProp ,
+and
+.ZN XCharStruct
+structures contain:
+.LP
+.IN "XCharStruct" "" "@DEF@"
+.EX
+typedef struct {
+ short lbearing; /\&* origin to left edge of raster */
+ short rbearing; /\&* origin to right edge of raster */
+ short width; /\&* advance to next char's origin */
+ short ascent; /\&* baseline to top edge of raster */
+ short descent; /\&* baseline to bottom edge of raster */
+ unsigned short attributes; /\&* per char flags (not predefined) */
+} XCharStruct;
+.EE
+.LP
+.IN "XFontProp" "" "@DEF@"
+.EX
+typedef struct {
+ Atom name;
+ unsigned long card32;
+} XFontProp;
+.EE
+.LP
+.IN "XChar2b" "" "@DEF@"
+.EX
+typedef struct { /\&* normal 16 bit characters are two bytes */
+ unsigned char byte1;
+ unsigned char byte2;
+} XChar2b;
+.EE
+.LP
+.IN "XFontStruct" "" "@DEF@"
+.EX
+typedef struct {
+ XExtData *ext_data; /\&* hook for extension to hang data */
+ Font fid; /\&* Font id for this font */
+ unsigned direction; /\&* hint about the direction font is painted */
+ unsigned min_char_or_byte2; /\&* first character */
+ unsigned max_char_or_byte2; /\&* last character */
+ unsigned min_byte1; /\&* first row that exists */
+ unsigned max_byte1; /\&* last row that exists */
+ Bool all_chars_exist; /\&* flag if all characters have nonzero size */
+ unsigned default_char; /\&* char to print for undefined character */
+ int n_properties; /\&* how many properties there are */
+ XFontProp *properties; /\&* pointer to array of additional properties */
+ XCharStruct min_bounds; /\&* minimum bounds over all existing char */
+ XCharStruct max_bounds; /\&* maximum bounds over all existing char */
+ XCharStruct *per_char; /\&* first_char to last_char information */
+ int ascent; /\&* logical extent above baseline for spacing */
+ int descent; /\&* logical decent below baseline for spacing */
+} XFontStruct;
+.EE
+.LP
+X supports single byte/character, two bytes/character matrix,
+and 16-bit character text operations.
+Note that any of these forms can be used with a font, but a
+single byte/character text request can only specify a single byte
+(that is, the first row of a 2-byte font).
+You should view 2-byte fonts as a two-dimensional matrix of defined
+characters: byte1 specifies the range of defined rows and
+byte2 defines the range of defined columns of the font.
+Single byte/character fonts have one row defined, and the byte2 range
+specified in the structure defines a range of characters.
+.LP
+The bounding box of a character is defined by the
+.ZN XCharStruct
+of that character.
+When characters are absent from a font,
+the default_char is used.
+When fonts have all characters of the same size,
+only the information in the
+.ZN XFontStruct
+min and max bounds are used.
+.LP
+The members of the
+.ZN XFontStruct
+have the following semantics:
+.IP \(bu 5
+The direction member can be either
+.ZN FontLeftToRight
+or
+.ZN FontRightToLeft .
+It is just a hint as to whether most
+.ZN XCharStruct
+elements
+have a positive
+.Pn ( FontLeftToRight )
+or a negative
+.Pn ( FontRightToLeft )
+character width
+metric.
+The core protocol defines no support for vertical text.
+.IP \(bu 5
+If the min_byte1 and max_byte1 members are both zero, min_char_or_byte2
+specifies the linear character index corresponding to the first element
+of the per_char array, and max_char_or_byte2 specifies the linear character
+index of the last element.
+.IP
+If either min_byte1 or max_byte1 are nonzero, both
+min_char_or_byte2 and max_char_or_byte2 are less than 256,
+and the 2-byte character index values corresponding to the
+per_char array element N (counting from 0) are:
+.IP
+.EX
+ byte1 = N/D + min_byte1
+ byte2 = N\\D + min_char_or_byte2
+.EE
+where:
+.EX
+ D = max_char_or_byte2 \- min_char_or_byte2 + 1
+ / = integer division
+ \e\e = integer modulus
+.EE
+.IP \(bu 5
+If the per_char pointer is NULL,
+all glyphs between the first and last character indexes
+inclusive have the same information,
+as given by both min_bounds and max_bounds.
+.IP \(bu 5
+If all_chars_exist is
+.ZN True ,
+all characters in the per_char array have nonzero bounding boxes.
+.IP \(bu 5
+The default_char member specifies the character that will be used when an
+undefined or nonexistent character is printed.
+The default_char is a 16-bit character (not a 2-byte character).
+For a font using 2-byte matrix format,
+the default_char has byte1 in the most-significant byte
+and byte2 in the least significant byte.
+If the default_char itself specifies an undefined or nonexistent character,
+no printing is performed for an undefined or nonexistent character.
+.IP \(bu 5
+The min_bounds and max_bounds members contain the most extreme values of
+each individual
+.ZN XCharStruct
+component over all elements of this array
+(and ignore nonexistent characters).
+The bounding box of the font (the smallest
+rectangle enclosing the shape obtained by superimposing all of the
+characters at the same origin [x,y]) has its upper-left coordinate at:
+.Ds
+ [x + min_bounds.lbearing, y \- max_bounds.ascent]
+.De
+.IP
+Its width is:
+.Ds
+ max_bounds.rbearing \- min_bounds.lbearing
+.De
+.IP
+Its height is:
+.Ds
+ max_bounds.ascent + max_bounds.descent
+.De
+.IP \(bu 5
+The ascent member is the logical extent of the font above the baseline that is
+used for determining line spacing.
+Specific characters may extend beyond
+this.
+.IP \(bu 5
+The descent member is the logical extent of the font at or below the
+baseline that is used for determining line spacing.
+Specific characters may extend beyond this.
+.IP \(bu 5
+If the baseline is at Y-coordinate y,
+the logical extent of the font is inclusive between the Y-coordinate
+values (y \- font.ascent) and (y + font.descent \- 1).
+Typically,
+the minimum interline spacing between rows of text is given
+by ascent + descent.
+.LP
+For a character origin at [x,y],
+the bounding box of a character (that is,
+the smallest rectangle that encloses the character's shape)
+described in terms of
+.ZN XCharStruct
+components is a rectangle with its upper-left corner at:
+.LP
+.Ds
+[x + lbearing, y \- ascent]
+.De
+.LP
+Its width is:
+.LP
+.Ds
+rbearing \- lbearing
+.De
+.LP
+Its height is:
+.LP
+.Ds
+ascent + descent
+.De
+.LP
+The origin for the next character is defined to be:
+.LP
+.Ds
+[x + width, y]
+.De
+.LP
+The lbearing member defines the extent of the left edge of the character ink
+from the origin.
+The rbearing member defines the extent of the right edge of the character ink
+from the origin.
+The ascent member defines the extent of the top edge of the character ink
+from the origin.
+The descent member defines the extent of the bottom edge of the character ink
+from the origin.
+The width member defines the logical width of the character.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadFont
+A value for a Font or GContext argument does not name a defined Font.
+.TP 1i
+.ZN BadName
+A font or color of the specified name does not exist.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XListFonts(3X11),
+XSetFontPath(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XLookupKeysym.man b/libX11/man/XLookupKeysym.man
new file mode 100644
index 000000000..7e1ac4aef
--- /dev/null
+++ b/libX11/man/XLookupKeysym.man
@@ -0,0 +1,272 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XLookKsym.man,v 1.4 2003/02/15 17:48:39 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XLookupKeysym __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XLookupKeysym, XRefreshKeyboardMapping, XLookupString, XRebindKeysym \- handle keyboard input events in Latin-1
+.SH SYNTAX
+.HP
+KeySym XLookupKeysym(\^XKeyEvent *\fIkey_event\fP\^, int \fIindex\fP\^);
+.HP
+int XRefreshKeyboardMapping(\^XMappingEvent *\fIevent_map\fP\^);
+.HP
+int XLookupString(\^XKeyEvent *\fIevent_struct\fP\^, char
+*\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
+*\fIkeysym_return\fP\^, XComposeStatus *\fIstatus_in_out\fP\^);
+.HP
+int XRebindKeysym(\^Display *\fIdisplay\fP\^, KeySym \fIkeysym\fP\^, KeySym
+\fIlist\fP\^[\^]\^, int \fImod_count\fP\^, unsigned char *\fIstring\fP\^, int
+\fInum_bytes\fP\^);
+.SH ARGUMENTS
+.IP \fIbuffer_return\fP 1i
+Returns the translated characters.
+.IP \fIbytes_buffer\fP 1i
+Specifies the length of the buffer.
+No more than bytes_buffer of translation are returned.
+.IP \fInum_bytes\fP 1i
+Specifies the number of bytes in the string argument.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_map\fP 1i
+Specifies the mapping event that is to be used.
+.IP \fIevent_struct\fP 1i
+Specifies the key event structure to be used.
+You can pass
+.ZN XKeyPressedEvent
+or
+.ZN XKeyReleasedEvent .
+.IP \fIindex\fP 1i
+Specifies the index into the KeySyms list for the event's KeyCode.
+.IP \fIkey_event\fP 1i
+Specifies the
+.ZN KeyPress
+or
+.ZN KeyRelease
+event.
+.IP \fIkeysym\fP 1i
+Specifies the KeySym that is to be \*(Fn.
+.IP \fIkeysym_return\fP 1i
+Returns the KeySym computed from the event if this argument is not NULL.
+.IP \fIlist\fP 1i
+Specifies the KeySyms to be used as modifiers.
+.IP \fImod_count\fP 1i
+Specifies the number of modifiers in the modifier list.
+.IP \fIstatus_in_out\fP 1i
+Specifies or returns the
+.ZN XComposeStatus
+structure or NULL.
+.IP \fIstring\fP 1i
+Specifies the string that is copied and will be returned by
+.ZN XLookupString .
+.SH DESCRIPTION
+The
+.ZN XLookupKeysym
+function uses a given keyboard event and the index you specified to return
+the KeySym from the list that corresponds to the KeyCode member in the
+.ZN XKeyPressedEvent
+or
+.ZN XKeyReleasedEvent
+structure.
+If no KeySym is defined for the KeyCode of the event,
+.ZN XLookupKeysym
+returns
+.ZN NoSymbol .
+.LP
+The
+.ZN XRefreshKeyboardMapping
+function refreshes the stored modifier and keymap information.
+You usually call this function when a
+.ZN MappingNotify
+event with a request member of
+.ZN MappingKeyboard
+or
+.ZN MappingModifier
+occurs.
+The result is to update Xlib's knowledge of the keyboard.
+.LP
+The
+.ZN XLookupString
+function translates a key event to a KeySym and a string.
+The KeySym is obtained by using the standard interpretation of the
+.ZN Shift ,
+.ZN Lock ,
+group, and numlock modifiers as defined in the X Protocol specification.
+If the KeySym has been rebound (see
+.ZN XRebindKeysym ),
+the bound string will be stored in the buffer.
+Otherwise, the KeySym is mapped, if possible, to an ISO Latin-1 character
+or (if the Control modifier is on) to an ASCII control character,
+and that character is stored in the buffer.
+.ZN XLookupString
+returns the number of characters that are stored in the buffer.
+.LP
+If present (non-NULL),
+the
+.ZN XComposeStatus
+structure records the state,
+which is private to Xlib,
+that needs preservation across calls to
+.ZN XLookupString
+to implement compose processing.
+The creation of
+.ZN XComposeStatus
+structures is implementation-dependent;
+a portable program must pass NULL for this argument.
+.LP
+The
+.ZN XRebindKeysym
+function can be used to rebind the meaning of a KeySym for the client.
+It does not redefine any key in the X server but merely
+provides an easy way for long strings to be attached to keys.
+.ZN XLookupString
+returns this string when the appropriate set of
+modifier keys are pressed and when the KeySym would have been used for
+the translation.
+No text conversions are performed;
+the client is responsible for supplying appropriately encoded strings.
+Note that you can rebind a KeySym that may not exist.
+.SH "SEE ALSO"
+XButtonEvent(3X11),
+XMapEvent(3X11),
+XStringToKeysym(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XMapEvent.man b/libX11/man/XMapEvent.man
new file mode 100644
index 000000000..7f2747c63
--- /dev/null
+++ b/libX11/man/XMapEvent.man
@@ -0,0 +1,292 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XMEvent.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XMapEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XMapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XMapEvent, XMappingEvent \- MapNotify and MappingNotify event structures
+.SH STRUCTURES
+The structure for
+.ZN MapNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* MapNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+ Bool override_redirect; /\&* boolean, is override set... */
+} XMapEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the window that was mapped or to its parent,
+depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+The window member is set to the window that was mapped.
+The override_redirect member is set to the override-redirect attribute
+of the window.
+Window manager clients normally should ignore this window
+if the override-redirect attribute is
+.ZN True ,
+because these events usually are generated from pop-ups,
+which override structure control.
+.LP
+The structure for
+.ZN MappingNotify
+events is:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* MappingNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window; /\&* unused */
+ int request; /\&* one of MappingModifier, MappingKeyboard,
+ MappingPointer */
+ int first_keycode; /\&* first keycode */
+ int count; /\&* defines range of change w. first_keycode*/
+} XMappingEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The request member is set to indicate the kind of mapping change that occurred
+and can be
+.ZN MappingModifier ,
+.ZN MappingKeyboard ,
+.ZN MappingPointer .
+If it is
+.ZN MappingModifier ,
+the modifier mapping was changed.
+If it is
+.ZN MappingKeyboard ,
+the keyboard mapping was changed.
+If it is
+.ZN MappingPointer ,
+the pointer button mapping was changed.
+The first_keycode and count members are set only
+if the request member was set to
+.ZN MappingKeyboard .
+The number in first_keycode represents the first number in the range
+of the altered mapping,
+and count represents the number of keycodes altered.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XMapRequestEvent.man b/libX11/man/XMapRequestEvent.man
new file mode 100644
index 000000000..a8ece726c
--- /dev/null
+++ b/libX11/man/XMapRequestEvent.man
@@ -0,0 +1,216 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XMREvent.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XMapRequestEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XMapRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XMapRequestEvent \- MapRequest event structure
+.SH STRUCTURES
+The structure for
+.ZN MapRequest
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* MapRequest */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window parent;
+ Window window;
+} XMapRequestEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The parent member is set to the parent window.
+The window member is set to the window to be mapped.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XMapWindow.man b/libX11/man/XMapWindow.man
new file mode 100644
index 000000000..b56fa82b8
--- /dev/null
+++ b/libX11/man/XMapWindow.man
@@ -0,0 +1,278 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XMapWin.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XMapWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XMapWindow, XMapRaised, XMapSubwindows \- map windows
+.SH SYNTAX
+.HP
+int XMapWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XMapRaised\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XMapSubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XMapWindow
+function
+maps the window and all of its
+subwindows that have had map requests.
+Mapping a window that has an unmapped ancestor does not display the
+window but marks it as eligible for display when the ancestor becomes
+mapped.
+Such a window is called unviewable.
+When all its ancestors are mapped,
+the window becomes viewable
+and will be visible on the screen if it is not obscured by another window.
+This function has no effect if the window is already mapped.
+.LP
+If the override-redirect of the window is
+.ZN False
+and if some other client has selected
+.ZN SubstructureRedirectMask
+on the parent window, then the X server generates a
+.ZN MapRequest
+event, and the
+.ZN XMapWindow
+function does not map the window.
+Otherwise, the window is mapped, and the X server generates a
+.ZN MapNotify
+event.
+.LP
+If the window becomes viewable and no earlier contents for it are remembered,
+the X server tiles the window with its background.
+If the window's background is undefined,
+the existing screen contents are not
+altered, and the X server generates zero or more
+.ZN Expose
+events.
+If backing-store was maintained while the window was unmapped, no
+.ZN Expose
+events
+are generated.
+If backing-store will now be maintained,
+a full-window exposure is always generated.
+Otherwise, only visible regions may be reported.
+Similar tiling and exposure take place for any newly viewable inferiors.
+.LP
+.IN "XMapWindow"
+If the window is an
+.ZN InputOutput
+window,
+.ZN XMapWindow
+generates
+.ZN Expose
+events on each
+.ZN InputOutput
+window that it causes to be displayed.
+If the client maps and paints the window
+and if the client begins processing events,
+the window is painted twice.
+To avoid this,
+first ask for
+.ZN Expose
+events and then map the window,
+so the client processes input events as usual.
+The event list will include
+.ZN Expose
+for each
+window that has appeared on the screen.
+The client's normal response to
+an
+.ZN Expose
+event should be to repaint the window.
+This method usually leads to simpler programs and to proper interaction
+with window managers.
+.LP
+.ZN XMapWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XMapRaised
+function
+essentially is similar to
+.ZN XMapWindow
+in that it maps the window and all of its
+subwindows that have had map requests.
+However, it also raises the specified window to the top of the stack.
+.LP
+.ZN XMapRaised
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XMapSubwindows
+.IN "XMapSubwindows"
+function maps all subwindows for a specified window in top-to-bottom stacking
+order.
+The X server generates
+.ZN Expose
+events on each newly displayed window.
+This may be much more efficient than mapping many windows
+one at a time because the server needs to perform much of the work
+only once, for all of the windows, rather than for each window.
+.LP
+.ZN XMapSubwindows
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XConfigureWindow(3X11),
+XCreateWindow(3X11),
+XDestroyWindow(3X11),
+XRaiseWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XNextEvent.man b/libX11/man/XNextEvent.man
new file mode 100644
index 000000000..cef74855a
--- /dev/null
+++ b/libX11/man/XNextEvent.man
@@ -0,0 +1,310 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XNEvent.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XNextEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XNextEvent, XPeekEvent, XWindowEvent, XCheckWindowEvent, XMaskEvent, XCheckMaskEvent, XCheckTypedEvent, XCheckTypedWindowEvent \- select events by type
+.SH SYNTAX
+.HP
+int XNextEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^);
+.HP
+int XPeekEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent_return\fP\^);
+.HP
+int XWindowEvent\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, long
+\fIevent_mask\fP\^, XEvent *\fIevent_return\fP\^);
+.HP
+Bool XCheckWindowEvent\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, long
+\fIevent_mask\fP\^, XEvent *\fIevent_return\fP\^);
+.HP
+int XMaskEvent\^(\^Display *\fIdisplay\fP\^, long \fIevent_mask\fP\^, XEvent
+*\fIevent_return\fP\^);
+.HP
+Bool XCheckMaskEvent\^(\^Display *\fIdisplay\fP\^, long \fIevent_mask\fP\^,
+XEvent *\fIevent_return\fP\^);
+.HP
+Bool XCheckTypedEvent\^(\^Display *\fIdisplay\fP\^, int \fIevent_type\fP\^,
+XEvent *\fIevent_return\fP\^);
+.HP
+Bool XCheckTypedWindowEvent\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+int \fIevent_type\fP\^, XEvent *\fIevent_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_mask\fP 1i
+Specifies the event mask.
+.IP \fIevent_return\fP 1i
+Returns the matched event's associated structure.
+.IP \fIevent_return\fP 1i
+Returns the next event in the queue.
+.IP \fIevent_return\fP 1i
+Returns a copy of the matched event's associated structure.
+.IP \fIevent_type\fP 1i
+Specifies the event type to be compared.
+
+.ds Wi \ whose event uou are interested in
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XNextEvent
+function copies the first event from the event queue into the specified
+.ZN XEvent
+structure and then removes it from the queue.
+If the event queue is empty,
+.ZN XNextEvent
+flushes the output buffer and blocks until an event is received.
+.LP
+The
+.ZN XPeekEvent
+function returns the first event from the event queue,
+but it does not remove the event from the queue.
+If the queue is empty,
+.ZN XPeekEvent
+flushes the output buffer and blocks until an event is received.
+It then copies the event into the client-supplied
+.ZN XEvent
+structure without removing it from the event queue.
+.LP
+The
+.ZN XWindowEvent
+function searches the event queue for an event that matches both the specified
+window and event mask.
+When it finds a match,
+.ZN XWindowEvent
+removes that event from the queue and copies it into the specified
+.ZN XEvent
+structure.
+The other events stored in the queue are not discarded.
+If a matching event is not in the queue,
+.ZN XWindowEvent
+flushes the output buffer and blocks until one is received.
+.LP
+The
+.ZN XCheckWindowEvent
+function searches the event queue and then the events available
+on the server connection for the first event that matches the specified window
+and event mask.
+If it finds a match,
+.ZN XCheckWindowEvent
+removes that event, copies it into the specified
+.ZN XEvent
+structure, and returns
+.ZN True .
+The other events stored in the queue are not discarded.
+If the event you requested is not available,
+.ZN XCheckWindowEvent
+returns
+.ZN False ,
+and the output buffer will have been flushed.
+.LP
+The
+.ZN XMaskEvent
+function searches the event queue for the events associated with the
+specified mask.
+When it finds a match,
+.ZN XMaskEvent
+removes that event and copies it into the specified
+.ZN XEvent
+structure.
+The other events stored in the queue are not discarded.
+If the event you requested is not in the queue,
+.ZN XMaskEvent
+flushes the output buffer and blocks until one is received.
+.LP
+The
+.ZN XCheckMaskEvent
+function searches the event queue and then any events available on the
+server connection for the first event that matches the specified mask.
+If it finds a match,
+.ZN XCheckMaskEvent
+removes that event, copies it into the specified
+.ZN XEvent
+structure, and returns
+.ZN True .
+The other events stored in the queue are not discarded.
+If the event you requested is not available,
+.ZN XCheckMaskEvent
+returns
+.ZN False ,
+and the output buffer will have been flushed.
+.LP
+The
+.ZN XCheckTypedEvent
+function searches the event queue and then any events available
+on the server connection for the first event that matches the specified type.
+If it finds a match,
+.ZN XCheckTypedEvent
+removes that event, copies it into the specified
+.ZN XEvent
+structure, and returns
+.ZN True .
+The other events in the queue are not discarded.
+If the event is not available,
+.ZN XCheckTypedEvent
+returns
+.ZN False ,
+and the output buffer will have been flushed.
+.LP
+The
+.ZN XCheckTypedWindowEvent
+function searches the event queue and then any events available
+on the server connection for the first event that matches the specified
+type and window.
+If it finds a match,
+.ZN XCheckTypedWindowEvent
+removes the event from the queue, copies it into the specified
+.ZN XEvent
+structure, and returns
+.ZN True .
+The other events in the queue are not discarded.
+If the event is not available,
+.ZN XCheckTypedWindowEvent
+returns
+.ZN False ,
+and the output buffer will have been flushed.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XIfEvent(3X11),
+XPutBackEvent(3X11),
+XSendEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XNoOp.man b/libX11/man/XNoOp.man
new file mode 100644
index 000000000..9fd9890f4
--- /dev/null
+++ b/libX11/man/XNoOp.man
@@ -0,0 +1,159 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XNoOp.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XNoOp __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XNoOp \- No Operation
+.SH SYNTAX
+int XNoOp\^(\^Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.SH DESCRIPTION
+The
+.ZN XNoOp
+function sends a
+.ZN NoOperation
+protocol request to the X server,
+thereby exercising the connection.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XOpenDisplay.man b/libX11/man/XOpenDisplay.man
new file mode 100644
index 000000000..04ae85195
--- /dev/null
+++ b/libX11/man/XOpenDisplay.man
@@ -0,0 +1,257 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XOpDsply.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XOpenDisplay __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XOpenDisplay, XCloseDisplay \- connect or disconnect to X server
+.SH SYNTAX
+.HP
+Display *XOpenDisplay\^(\^char *\fIdisplay_name\fP\^);
+.HP
+int XCloseDisplay\^(Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIdisplay_name\fP 1i
+Specifies the hardware display name, which determines the display
+and communications domain to be used.
+On a POSIX-conformant system, if the display_name is NULL,
+it defaults to the value of the DISPLAY environment variable.
+.IN "Environment" "DISPLAY"
+.SH DESCRIPTION
+The
+.ZN XOpenDisplay
+function returns a
+.ZN Display
+structure that serves as the
+connection to the X server and that contains all the information
+about that X server.
+.ZN XOpenDisplay
+connects your application to the X server through TCP
+or DECnet communications protocols,
+or through some local inter-process communication protocol.
+.IN "Protocol" "TCP"
+.IN "Protocol" "DECnet"
+If the hostname is a host machine name and a single colon (:)
+separates the hostname and display number,
+.ZN XOpenDisplay
+connects using TCP streams.
+If the hostname is not specified,
+Xlib uses whatever it believes is the fastest transport.
+If the hostname is a host machine name and a double colon (::)
+separates the hostname and display number,
+.ZN XOpenDisplay
+connects using DECnet.
+A single X server can support any or all of these transport mechanisms
+simultaneously.
+A particular Xlib implementation can support many more of these transport
+mechanisms.
+.LP
+.IN "Display"
+If successful,
+.ZN XOpenDisplay
+returns a pointer to a
+.ZN Display
+structure,
+which is defined in
+.hN X11/Xlib.h .
+If
+.ZN XOpenDisplay
+does not succeed, it returns NULL.
+After a successful call to
+.ZN XOpenDisplay ,
+all of the screens in the display can be used by the client.
+The screen number specified in the display_name argument is returned
+by the
+.ZN DefaultScreen
+macro (or the
+.ZN XDefaultScreen
+function).
+You can access elements of the
+.ZN Display
+and
+.ZN Screen
+structures only by using the information macros or functions.
+For information about using macros and functions to obtain information from
+the
+.ZN Display
+structure,
+see section 2.2.1.
+.LP
+The
+.ZN XCloseDisplay
+function closes the connection to the X server for the display specified in the
+.ZN Display
+structure and destroys all windows, resource IDs
+.Pn ( Window ,
+.ZN Font ,
+.ZN Pixmap ,
+.ZN Colormap ,
+.ZN Cursor ,
+and
+.ZN GContext ),
+or other resources that the client has created
+on this display, unless the close-down mode of the resource has been changed
+(see
+.ZN XSetCloseDownMode ).
+Therefore, these windows, resource IDs, and other resources should never be
+referenced again or an error will be generated.
+Before exiting, you should call
+.ZN XCloseDisplay
+explicitly so that any pending errors are reported as
+.ZN XCloseDisplay
+performs a final
+.ZN XSync
+operation.
+.IN "Resource IDs"
+.IN "XCloseDisplay"
+.LP
+.ZN XCloseDisplay
+can generate a
+.ZN BadGC
+error.
+.SH "SEE ALSO"
+AllPlanes(3X11),
+XFlush(3X11),
+XSetCloseDownMode(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XOpenIM.man b/libX11/man/XOpenIM.man
new file mode 100644
index 000000000..56171bbae
--- /dev/null
+++ b/libX11/man/XOpenIM.man
@@ -0,0 +1,305 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XOpenIM.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XOpenIM __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XOpenIM, XCloseIM, XSetIMValues, XGetIMValues, XDisplayOfIM, XLocaleOfIM, XRegisterIMInstantiateCallback, XUnregisterIMInstantiateCallback \- open, close, and obtain input method information
+.SH SYNTAX
+.HP
+XIM XOpenIM\^(\^Display *\fIdisplay\fP\^, XrmDatabase \fIdb\fP\^, char
+*\fIres_name\fP\^, char *\fIres_class\fP\^);
+.HP
+Status XCloseIM\^(\^XIM \fIim\fP\^);
+.HP
+char *XSetIMValues\^(\^XIM \fIim\fP\^, ...);
+.HP
+char *XGetIMValues\^(\^XIM \fIim\fP\^, ...);
+.HP
+Display *XDisplayOfIM\^(\^XIM \fIim\fP\^);
+.HP
+char *XLocaleOfIM\^(\^XIM \fIim\fP\^);
+.HP
+Bool XRegisterIMInstantiateCallback\^(\^Display *\fIdisplay\fP\^, XrmDatabase
+\fIdb\fP\^, char *\fIres_name\fP\^, char *\fIres_class\fP\^, XIDProc
+\fIcallback\fP\^, XPointer \fIclient_data\fP\^);
+.HP
+Bool XUnregisterIMInstantiateCallback\^(\^Display *\fIdisplay\fP\^,
+XrmDatabase \fIdb\fP\^, char *\fIres_name\fP\^, char *\fIres_class\fP\^,
+XIDProc \fIcallback\fP\^, XPointer \fIclient_data\fP\^);
+.LP
+.SH ARGUMENTS
+.IP \fIcallback\fP 1i
+Specifies a pointer to the input method instantiate callback.
+.IP \fIclient_data\fP 1i
+Specifies the additional client data.
+.IP \fIdb\fP 1i
+Specifies a pointer to the resource database.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIim\fP 1i
+Specifies the input method.
+.IP \fIres_class\fP 1i
+Specifies the full class name of the application.
+.IP \fIres_name\fP 1i
+Specifies the full resource name of the application.
+.ds Al \ to set or get XIM values
+.IP ... 1i
+Specifies the variable length argument list\*(Al.
+.SH DESCRIPTION
+The
+.ZN XOpenIM
+function opens an input method,
+matching the current locale and modifiers specification.
+Current locale and modifiers are bound to the input method at opening time.
+The locale associated with an input method cannot be changed dynamically.
+This implies that the strings returned by
+.ZN XmbLookupString
+or
+.ZN XwcLookupString ,
+for any input context affiliated with a given input method
+will be encoded in the locale current at the time the input method is opened.
+.LP
+The specific input method to which this call will be routed
+is identified on the basis of the current locale.
+.ZN XOpenIM
+will identify a default input method corresponding to the
+current locale.
+That default can be modified using
+.ZN XSetLocaleModifiers
+for the input method modifier.
+.LP
+The db argument is the resource database to be used by the input method
+for looking up resources that are private to the input method.
+It is not intended that this database be used to look
+up values that can be set as IC values in an input context.
+If db is NULL,
+no database is passed to the input method.
+.LP
+The res_name and res_class arguments specify the resource name
+and class of the application.
+They are intended to be used as prefixes by the input method
+when looking up resources that are common to all input contexts
+that may be created for this input method.
+The characters used for resource names and classes must be in the
+X Portable Character Set.
+The resources looked up are not fully specified
+if res_name or res_class is NULL.
+.LP
+The res_name and res_class arguments are not assumed to exist beyond
+the call to
+.ZN XOpenIM .
+The specified resource database is assumed to exist for the lifetime
+of the input method.
+.LP
+.ZN XOpenIM
+returns NULL if no input method could be opened.
+.LP
+The
+.ZN XCloseIM
+function closes the specified input method.
+.LP
+The
+.ZN XSetIMValues
+function presents a variable argument list programming interface
+for setting attributes of the specified input method.
+It returns NULL if it succeeds;
+otherwise,
+it returns the name of the first argument that could not be set.
+Xlib does not attempt to set arguments from the supplied list that
+follow the failed argument;
+all arguments in the list preceding the failed argument have been set
+correctly.
+.LP
+The
+.ZN XGetIMValues
+function presents a variable argument list programming interface
+for querying properties or features of the specified input method.
+This function returns NULL if it succeeds;
+otherwise,
+it returns the name of the first argument that could not be obtained.
+.LP
+Each XIM value argument (following a name) must point to
+a location where the XIM value is to be stored.
+That is, if the XIM value is of type T,
+the argument must be of type T*.
+If T itself is a pointer type,
+then
+.ZN XGetIMValues
+allocates memory to store the actual data,
+and the client is responsible for freeing this data by calling
+.ZN XFree
+with the returned pointer.
+.LP
+The
+.ZN XDisplayOfIM
+function returns the display associated with the specified input method.
+.LP
+The
+.ZN XLocaleOfIM
+function returns the locale associated with the specified input method.
+.LP
+The
+.ZN XRegisterIMInstantiateCallback
+function registers a callback to be invoked whenever a new input method
+becomes available for the specified display that matches the current
+locale and modifiers.
+.LP
+The function returns
+.ZN True
+if it succeeds; otherwise, it returns
+.ZN False .
+.LP
+The
+.ZN XUnregisterIMInstantiateCallback
+function removes an input method instantiation callback previously
+registered.
+The function returns
+.ZN True
+if it succeeds; otherwise, it returns
+.ZN False .
+.SH "SEE ALSO"
+XCreateIC(3X11),
+XSetICFocus(3X11),
+XSetICValues(3X11),
+XmbResetIC(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XOpenOM.man b/libX11/man/XOpenOM.man
new file mode 100644
index 000000000..498c01637
--- /dev/null
+++ b/libX11/man/XOpenOM.man
@@ -0,0 +1,258 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XOpenOM.man,v 1.4 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XOpenOM __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XOpenOM, XCloseOM, XSetOMValues, XGetOMValues, XDisplayOfOM, XLocaleOfOM \- open output methods
+.SH SYNTAX
+.HP
+XOM XOpenOM\^(\^Display *\fIdisplay\fP\^, XrmDatabase \fIdb\fP\^, char
+*\fIres_name\fP\^, char *\fIres_class\fP\^);
+.HP
+Status XCloseOM\^(\^XOM \fIom\fP\^);
+.HP
+char *XSetOMValues\^(\^XOM \fIom\fP\^);
+.HP
+char *XGetOMValues\^(\^XOM \fIom\fP\^);
+.HP
+Display *XDisplayOfOM\^(\^XOM \fIom\fP\^);
+.HP
+char *XLocaleOfOM\^(\^XOM \fIom\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIdb\fP 1i
+Specifies a pointer to the resource database.
+.IP \fIres_name\fP 1i
+Specifies the full resource name of the application.
+.IP \fIres_class\fP 1i
+Specifies the full class name of the application.
+.IP \fIom\fP 1i
+Specifies the output method.
+.ds Al \ to set or get XOM values
+.IP ... 1i
+Specifies the variable length argument list\*(Al.
+.SH DESCRIPTION
+The
+.ZN XOpenOM
+function opens an output method
+matching the current locale and modifiers specification.
+The current locale and modifiers are bound to the output method
+when
+.ZN XOpenOM
+is called.
+The locale associated with an output method cannot be changed.
+.LP
+The specific output method to which this call will be routed
+is identified on the basis of the current locale and modifiers.
+.ZN XOpenOM
+will identify a default output method corresponding to the
+current locale.
+That default can be modified using
+.ZN XSetLocaleModifiers
+to set the output method modifier.
+.LP
+The db argument is the resource database to be used by the output method
+for looking up resources that are private to the output method.
+It is not intended that this database be used to look
+up values that can be set as OC values in an output context.
+If db is NULL,
+no database is passed to the output method.
+.LP
+The res_name and res_class arguments specify the resource name
+and class of the application.
+They are intended to be used as prefixes by the output method
+when looking up resources that are common to all output contexts
+that may be created for this output method.
+The characters used for resource names and classes must be in the
+X Portable Character Set.
+The resources looked up are not fully specified
+if res_name or res_class is NULL.
+.LP
+The res_name and res_class arguments are not assumed to exist beyond
+the call to
+.ZN XOpenOM .
+The specified resource database is assumed to exist for the lifetime
+of the output method.
+.LP
+.ZN XOpenOM
+returns NULL if no output method could be opened.
+.LP
+The
+.ZN XCloseOM
+function closes the specified output method.
+.LP
+The
+.ZN XSetOMValues
+function presents a variable argument list programming interface
+for setting properties or features of the specified output method.
+This function returns NULL if it succeeds;
+otherwise,
+it returns the name of the first argument that could not be set.
+Xlib does not attempt to set arguments from the supplied list that
+follow the failed argument;
+all arguments in the list preceding the failed argument have been set
+correctly.
+.LP
+No standard arguments are currently defined by Xlib.
+.LP
+The
+.ZN XGetOMValues
+function presents a variable argument list programming interface
+for querying properties or features of the specified output method.
+This function returns NULL if it succeeds;
+otherwise,
+it returns the name of the first argument that could not be obtained.
+.LP
+The
+.ZN XDisplayOfOM
+function returns the display associated with the specified output method.
+.LP
+The
+.ZN XLocaleOfOM
+returns the locale associated with the specified output method.
+.SH "SEE ALSO"
+XCreateOC(3X11),
+XCreateFontSet(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XParseGeometry.man b/libX11/man/XParseGeometry.man
new file mode 100644
index 000000000..1f5068c09
--- /dev/null
+++ b/libX11/man/XParseGeometry.man
@@ -0,0 +1,284 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XParGeom.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XParseGeometry __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XParseGeometry, XWMGeometry \- parse window geometry
+.SH SYNTAX
+.HP
+int XParseGeometry\^(\^char *\fIparsestring\fP\^, int *\fIx_return\fP\^, int
+*\fIy_return\fP\^, unsigned int *\fIwidth_return\fP\^, unsigned int
+*\fIheight_return\fP\^);
+.HP
+int XWMGeometry\^(\^Display *\fIdisplay\fP\^, int \fIscreen\fP\^, char
+*\fIuser_geom\fP\^, char *\fIdef_geom\fP\^, unsigned int \fIbwidth\fP\^,
+XSizeHints *\fIhints\fP\^, int *\fIx_return\fP, int *\fIy_return\fP\^, int
+*\fIwidth_return\fP\^, int *\fIheight_return\fP\^, int
+*\fIgravity_return\fP\^);
+.SH ARGUMENTS
+.IP \fIposition\fP 1i
+.br
+.ns
+.IP \fIdefault_position\fP 1i
+Specify the geometry specifications.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfheight\fP 1i
+.br
+.ns
+.IP \fIfwidth\fP 1i
+Specify the font height and width in pixels (increment size).
+.IP \fIparsestring\fP 1i
+Specifies the string you want to parse.
+.IP \fIscreen\fP 1i
+Specifies the screen.
+.IP \fIwidth_return\fP 1i
+.br
+.ns
+.IP \fIheight_return\fP 1i
+Return the width and height determined.
+.IP \fIxadder\fP 1i
+.br
+.ns
+.IP \fIyadder\fP 1i
+Specify additional interior padding needed in the window.
+.IP \fIx_return\fP 1i
+.br
+.ns
+.IP \fIy_return\fP 1i
+Return the x and y offsets.
+.IP \fIbwidth\fP 1i
+Specifies the border width.
+.IP \fIhints\fP 1i
+Specifies the size hints for the window in its normal state.
+.IP \fIdef_geom\fP 1i
+Specifies the application's default geometry or NULL.
+.IP \fIgravity_return\fP 1i
+Returns the window gravity.
+.IP \fIuser_geom\fP 1i
+Specifies the user-specified geometry or NULL.
+.SH DESCRIPTION
+By convention,
+X applications use a standard string to indicate window size and placement.
+.ZN XParseGeometry
+makes it easier to conform to this standard because it allows you
+to parse the standard window geometry.
+Specifically, this function lets you parse strings of the form:
+.LP
+.\" Start marker code here
+.Ds
+[=][<\fIwidth\fP>{xX}<\fIheight\fP>][{+-}<\fIxoffset\fP>{+-}<\fIyoffset\fP>]
+.De
+.\" End marker code here
+.LP
+The fields map into the arguments associated with this function.
+(Items enclosed in <\^> are integers, items in [\^] are optional, and
+items enclosed in {\^} indicate ``choose one of.''
+Note that the brackets should not appear in the actual string.)
+If the string is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+.LP
+The
+.ZN XParseGeometry
+function returns a bitmask that indicates which of the four values (width,
+height, xoffset, and yoffset) were actually found in the string
+and whether the x and y values are negative.
+By convention, \-0 is not equal to +0, because the user needs to
+be able to say ``position the window relative to the right or bottom edge.''
+For each value found, the corresponding argument is updated.
+For each value not found, the argument is left unchanged.
+The bits are represented by
+.ZN XValue ,
+.ZN YValue ,
+.ZN WidthValue ,
+.ZN HeightValue ,
+.ZN XNegative ,
+or
+.ZN YNegative
+and are defined in
+.hN X11/Xutil.h .
+They will be set whenever one of the values is defined
+or one of the signs is set.
+.LP
+If the function returns either the
+.ZN XValue
+or
+.ZN YValue
+flag,
+you should place the window at the requested position.
+.LP
+The
+.ZN XWMGeometry
+function combines any geometry information (given in the format used by
+.ZN XParseGeometry )
+specified by the user and by the calling program with size hints
+(usually the ones to be stored in WM_NORMAL_HINTS) and returns the position,
+size, and gravity
+.Pn ( NorthWestGravity ,
+.ZN NorthEastGravity ,
+.ZN SouthEastGravity ,
+or
+.ZN SouthWestGravity )
+that describe the window.
+If the base size is not set in the
+.ZN XSizeHints
+structure,
+the minimum size is used if set.
+Otherwise, a base size of zero is assumed.
+If no minimum size is set in the hints structure,
+the base size is used.
+A mask (in the form returned by
+.ZN XParseGeometry )
+that describes which values came from the user specification
+and whether or not the position coordinates are relative
+to the right and bottom edges is returned.
+Note that these coordinates will have already been accounted for
+in the x_return and y_return values.
+.LP
+Note that invalid geometry specifications can cause a width or height
+of zero to be returned.
+The caller may pass the address of the hints win_gravity field
+as gravity_return to update the hints directly.
+.SH "SEE ALSO"
+XSetWMProperties(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XPolygonRegion.man b/libX11/man/XPolygonRegion.man
new file mode 100644
index 000000000..8be420ccb
--- /dev/null
+++ b/libX11/man/XPolygonRegion.man
@@ -0,0 +1,183 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XPolyReg.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XPolygonRegion __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XPolygonRegion, XClipBox \- generate regions
+.SH SYNTAX
+.HP
+Region XPolygonRegion\^(\^XPoint \fIpoints\fP[]\^, int \fIn\fP\^, int
+\fIfill_rule\fP\^);
+.HP
+int XClipBox\^(\^Region \fIr\fP\^, XRectangle *\fIrect_return\fP\^);
+.SH ARGUMENTS
+.IP \fIfill_rule\fP 1i
+Specifies the fill-rule you want to set for the specified GC.
+You can pass
+.ZN EvenOddRule
+or
+.ZN WindingRule .
+.IP \fIn\fP 1i
+Specifies the number of points in the polygon.
+.IP \fIpoints\fP 1i
+Specifies an array of points.
+.IP \fIr\fP 1i
+Specifies the region.
+.IP \fIrect_return\fP 1i
+Returns the smallest enclosing rectangle.
+.SH DESCRIPTION
+The
+.ZN XPolygonRegion
+function returns a region for the polygon defined by the points array.
+For an explanation of fill_rule,
+see
+.ZN XCreateGC .
+.LP
+The
+.ZN XClipBox
+function returns the smallest rectangle enclosing the specified region.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XDrawPoint(3X11),
+XDrawRectangle(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XPropertyEvent.man b/libX11/man/XPropertyEvent.man
new file mode 100644
index 000000000..30ac75a2d
--- /dev/null
+++ b/libX11/man/XPropertyEvent.man
@@ -0,0 +1,246 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XPEvent.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XPropertyEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XPropertyEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XPropertyEvent \- PropertyNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN PropertyNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* PropertyNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ Atom atom;
+ Time time;
+ int state; /\&* PropertyNewValue or PropertyDelete */
+} XPropertyEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the window whose associated
+property was changed.
+The atom member is set to the property's atom and indicates which
+property was changed or desired.
+The time member is set to the server time when the property was changed.
+The state member is set to indicate whether the property was changed
+to a new value or deleted and can be
+.ZN PropertyNewValue
+or
+.ZN PropertyDelete .
+The state member is set to
+.ZN PropertyNewValue
+when a property of the window is changed using
+.ZN XChangeProperty
+or
+.ZN XRotateWindowProperties
+(even when adding zero-length data using
+.ZN XChangeProperty )
+and when replacing all or part of a property with identical data using
+.ZN XChangeProperty
+or
+.ZN XRotateWindowProperties .
+The state member is set to
+.ZN PropertyDelete
+when a property of the window is deleted using
+.ZN XDeleteProperty
+or, if the delete argument is
+.ZN True ,
+.ZN XGetWindowProperty .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGetWindowProperty(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XPutBackEvent.man b/libX11/man/XPutBackEvent.man
new file mode 100644
index 000000000..0fc4bca25
--- /dev/null
+++ b/libX11/man/XPutBackEvent.man
@@ -0,0 +1,169 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XPutBEvnt.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XPutBackEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XPutBackEvent \- put events back on the queue
+.SH SYNTAX
+.HP
+XPutBackEvent\^(\^Display *\fIdisplay\fP\^, XEvent *\fIevent\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent\fP 1i
+Specifies the event.
+.SH DESCRIPTION
+The
+.ZN XPutBackEvent
+function pushes an event back onto the head of the display's event queue
+by copying the event into the queue.
+This can be useful if you read an event and then decide that you
+would rather deal with it later.
+There is no limit to the number of times in succession that you can call
+.ZN XPutBackEvent .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XIfEvent(3X11),
+XNextEvent(3X11),
+XSendEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XPutImage.man b/libX11/man/XPutImage.man
new file mode 100644
index 000000000..8880d8d2f
--- /dev/null
+++ b/libX11/man/XPutImage.man
@@ -0,0 +1,405 @@
+.\" $XdotOrg: lib/X11/man/XPutImage.man,v 1.3 2005-08-16 19:23:15 alanc Exp $
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XPutImage.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XPutImage __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XPutImage, XGetImage, XGetSubImage \- transfer images
+.SH SYNTAX
+.HP
+int XPutImage\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC \fIgc\fP\^,
+XImage *\fIimage\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, int
+\fIdest_x\fP\^, int \fIdest_y\fP\^, unsigned int \fIwidth\fP\^, unsigned int
+\fIheight\fP\^);
+.HP
+XImage *XGetImage\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, int
+\fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int
+\fIheight\fP\^, unsigned long \fIplane_mask\fP\^, int \fIformat\fP\^);
+.HP
+XImage *XGetSubImage\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, int
+\fIx\fP\^, int \fIy\fP\^, unsigned int \fIwidth\fP\^, unsigned int
+\fIheight\fP\^, unsigned long \fIplane_mask\fP\^, int \fIformat\fP\^, XImage
+*\fIdest_image\fP\^, int \fIdest_x\fP\^, \fIdest_y\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdest_image\fP 1i
+Specifies the destination image.
+.ds Dx , which are relative to the origin of the drawable \
+and are the coordinates of the subimage \
+or which are relative to the origin of the destination rectangle, \
+specify its upper-left corner, and determine where the subimage \
+is placed in the destination image
+.IP \fIdest_x\fP 1i
+.br
+.ns
+.IP \fIdest_y\fP 1i
+Specify the x and y coordinates\*(Dx.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIformat\fP 1i
+Specifies the format for the image.
+You can pass
+.ZN XYPixmap
+or
+.ZN ZPixmap .
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIimage\fP 1i
+Specifies the image you want combined with the rectangle.
+.IP \fIplane_mask\fP 1i
+Specifies the plane mask.
+.\" *** JIM: NEED MORE INFO FOR THIS. ***
+.IP \fIsrc_x\fP 1i
+Specifies the offset in X from the left edge of the image defined
+by the
+.ZN XImage
+structure.
+.IP \fIsrc_y\fP 1i
+Specifies the offset in Y from the top edge of the image defined
+by the
+.ZN XImage
+structure.
+.ds Wh \ of the subimage, which define the dimensions of the rectangle
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.ds Xy , which are relative to the origin of the drawable \
+and define the upper-left corner of the rectangle
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XPutImage
+function
+combines an image with a rectangle of the specified drawable.
+The section of the image defined by the src_x, src_y, width, and height
+arguments is drawn on the specified part of the drawable.
+If
+.ZN XYBitmap
+format is used, the depth of the image must be one,
+or a
+.ZN BadMatch
+error results.
+The foreground pixel in the GC defines the source for the one bits in the image,
+and the background pixel defines the source for the zero bits.
+For
+.ZN XYPixmap
+and
+.ZN ZPixmap ,
+the depth of the image must match the depth of the drawable,
+or a
+.ZN BadMatch
+error results.
+.LP
+If the characteristics of the image (for example, byte_order and bitmap_unit)
+differ from what the server requires,
+.ZN XPutImage
+automatically makes the appropriate
+conversions.
+.LP
+This function uses these GC components:
+function, plane-mask, subwindow-mode, clip-x-origin, clip-y-origin,
+and clip-mask.
+It also uses these GC mode-dependent components:
+foreground and background.
+.LP
+.ZN XPutImage
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetImage
+function returns a pointer to an
+.ZN XImage
+structure.
+This structure provides you with the contents of the specified rectangle of
+the drawable in the format you specify.
+If the format argument is
+.ZN XYPixmap ,
+the image contains only the bit planes you passed to the plane_mask argument.
+If the plane_mask argument only requests a subset of the planes of the
+display, the depth of the returned image will be the number of planes
+requested.
+If the format argument is
+.ZN ZPixmap ,
+.ZN XGetImage
+returns as zero the bits in all planes not
+specified in the plane_mask argument.
+The function performs no range checking on the values in plane_mask and ignores
+extraneous bits.
+.LP
+.ZN XGetImage
+returns the depth of the image to the depth member of the
+.ZN XImage
+structure.
+The depth of the image is as specified when the drawable was created,
+except when getting a subset of the planes in
+.ZN XYPixmap
+format, when the depth is given by the number of bits set to 1 in plane_mask.
+.LP
+If the drawable is a pixmap,
+the given rectangle must be wholly contained within the pixmap,
+or a
+.ZN BadMatch
+error results.
+If the drawable is a window,
+the window must be viewable,
+and it must be the case that if there were no inferiors or overlapping windows,
+the specified rectangle of the window would be fully visible on the screen
+and wholly contained within the outside edges of the window,
+or a
+.ZN BadMatch
+error results.
+Note that the borders of the window can be included and read with
+this request.
+If the window has backing-store, the backing-store contents are
+returned for regions of the window that are obscured by noninferior
+windows.
+If the window does not have backing-store,
+the returned contents of such obscured regions are undefined.
+The returned contents of visible regions of inferiors
+of a different depth than the specified window's depth are also undefined.
+The pointer cursor image is not included in the returned contents.
+If a problem occurs,
+.ZN XGetImage
+returns NULL.
+.LP
+.ZN XGetImage
+can generate
+.ZN BadDrawable ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XGetSubImage
+function updates dest_image with the specified subimage in the same manner as
+.ZN XGetImage .
+If the format argument is
+.ZN XYPixmap ,
+the image contains only the bit planes you passed to the plane_mask argument.
+If the format argument is
+.ZN ZPixmap ,
+.ZN XGetSubImage
+returns as zero the bits in all planes not
+specified in the plane_mask argument.
+The function performs no range checking on the values in plane_mask and ignores
+extraneous bits.
+As a convenience,
+.ZN XGetSubImage
+returns a pointer to the same
+.ZN XImage
+structure specified by dest_image.
+.LP
+The depth of the destination
+.ZN XImage
+structure must be the same as that of the drawable.
+If the specified subimage does not fit at the specified location
+on the destination image, the right and bottom edges are clipped.
+If the drawable is a pixmap,
+the given rectangle must be wholly contained within the pixmap,
+or a
+.ZN BadMatch
+error results.
+If the drawable is a window,
+the window must be viewable,
+and it must be the case that if there were no inferiors or overlapping windows,
+the specified rectangle of the window would be fully visible on the screen
+and wholly contained within the outside edges of the window,
+or a
+.ZN BadMatch
+error results.
+If the window has backing-store,
+then the backing-store contents are returned for regions of the window
+that are obscured by noninferior windows.
+If the window does not have backing-store,
+the returned contents of such obscured regions are undefined.
+The returned contents of visible regions of inferiors
+of a different depth than the specified window's depth are also undefined.
+If a problem occurs,
+.ZN XGetSubImage
+returns NULL.
+.LP
+.ZN XGetSubImage
+can generate
+.ZN BadDrawable ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XQueryBestSize.man b/libX11/man/XQueryBestSize.man
new file mode 100644
index 000000000..667d15b41
--- /dev/null
+++ b/libX11/man/XQueryBestSize.man
@@ -0,0 +1,288 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XQBSize.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XQueryBestSize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XQueryBestSize, XQueryBestTile, XQueryBestStipple \- determine efficient sizes
+.SH SYNTAX
+.HP
+Status XQueryBestSize\^(\^Display *\fIdisplay\fP\^, int \fIclass\fP\^,
+Drawable \fIwhich_screen\fP\^, unsigned int \fIwidth\fP, unsigned int
+\fIheight\fP\^, unsigned int *\fIwidth_return\fP, unsigned int
+*\fIheight_return\fP\^);
+.HP
+Status XQueryBestTile\^(\^Display *\fIdisplay\fP\^, Drawable
+\fIwhich_screen\fP\^, unsigned int \fIwidth\fP, unsigned int \fIheight\fP\^,
+unsigned int *\fIwidth_return\fP, unsigned int *\fIheight_return\fP\^);
+.HP
+Status XQueryBestStipple\^(\^Display *\fIdisplay\fP\^, Drawable
+\fIwhich_screen\fP\^, unsigned int \fIwidth\fP, unsigned int \fIheight\fP\^,
+unsigned int *\fIwidth_return\fP, unsigned int *\fIheight_return\fP\^);
+.SH ARGUMENTS
+.IP \fIclass\fP 1i
+Specifies the class that you are interested in.
+You can pass
+.ZN TileShape ,
+.ZN CursorShape ,
+or
+.ZN StippleShape .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height.
+.IP \fIwhich_screen\fP 1i
+Specifies any drawable on the screen.
+.IP \fIwidth_return\fP 1i
+.br
+.ns
+.IP \fIheight_return\fP 1i
+Return the width and height of the object best supported
+by the display hardware.
+.SH DESCRIPTION
+The
+.ZN XQueryBestSize
+function returns the best or closest size to the specified size.
+For
+.ZN CursorShape ,
+this is the largest size that can be fully displayed on the screen specified by
+which_screen.
+For
+.ZN TileShape ,
+this is the size that can be tiled fastest.
+For
+.ZN StippleShape ,
+this is the size that can be stippled fastest.
+For
+.ZN CursorShape ,
+the drawable indicates the desired screen.
+For
+.ZN TileShape
+and
+.ZN StippleShape ,
+the drawable indicates the screen and possibly the window class and depth.
+An
+.ZN InputOnly
+window cannot be used as the drawable for
+.ZN TileShape
+or
+.ZN StippleShape ,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XQueryBestSize
+can generate
+.ZN BadDrawable ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XQueryBestTile
+function returns the best or closest size, that is, the size that can be
+tiled fastest on the screen specified by which_screen.
+The drawable indicates the screen and possibly the window class and depth.
+If an
+.ZN InputOnly
+window is used as the drawable, a
+.ZN BadMatch
+error results.
+.LP
+.ZN XQueryBestTile
+can generate
+.ZN BadDrawable
+and
+.ZN BadMatch
+errors.
+.LP
+The
+.ZN XQueryBestStipple
+function returns the best or closest size, that is, the size that can be
+stippled fastest on the screen specified by which_screen.
+The drawable indicates the screen and possibly the window class and depth.
+If an
+.ZN InputOnly
+window is used as the drawable, a
+.ZN BadMatch
+error results.
+.LP
+.ZN XQueryBestStipple
+can generate
+.ZN BadDrawable
+and
+.ZN BadMatch
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadMatch
+The values do not exist for an
+.ZN InputOnly
+window.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XQueryColor.man b/libX11/man/XQueryColor.man
new file mode 100644
index 000000000..e2e884b7e
--- /dev/null
+++ b/libX11/man/XQueryColor.man
@@ -0,0 +1,345 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XQColor.man,v 1.4 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XQueryColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XQueryColor, XQueryColors, XLookupColor, XParseColor \- obtain color values
+.SH SYNTAX
+.HP
+int XQueryColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^, XColor
+*\fIdef_in_out\fP\^);
+.HP
+int XQueryColors\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+XColor \fIdefs_in_out\fP[\^]\^, int \fIncolors\fP\^);
+.HP
+Status XLookupColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+char *\fIcolor_name\fP\^, XColor *\fIexact_def_return\fP\^, XColor
+*\fIscreen_def_return\fP\^);
+.HP
+Status XParseColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+char *\fIspec\fP\^, XColor *\fIexact_def_return\fP\^);
+.SH ARGUMENTS
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIcolor_name\fP 1i
+Specifies the color name string (for example, red) whose color
+definition structure you want returned.
+.IP \fIdef_in_out\fP 1i
+Specifies and returns the RGB values for the pixel specified in the structure.
+.IP \fIdefs_in_out\fP 1i
+Specifies and returns an array of color definition structures for the pixel
+specified in the structure.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIexact_def_return\fP 1i
+Returns the exact RGB values.
+.IP \fIncolors\fP 1i
+.\"Specifies the number of color definition structures.
+Specifies the number of
+.ZN XColor
+structures in the color definition array.
+.IP \fIscreen_def_return\fP 1i
+Returns the closest RGB values provided by the hardware.
+.IP \fIspec\fP 1i
+Specifies the color name string;
+case is ignored.
+.IP \fIexact_def_return\fP 1i
+Returns the exact color value for later use and sets the
+.ZN DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue
+flags.
+.SH DESCRIPTION
+The
+.ZN XQueryColor
+function returns the current RGB value for the pixel in the
+.ZN XColor
+structure and sets the
+.ZN DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue
+flags.
+The
+.ZN XQueryColors
+function returns the RGB value for each pixel in each
+.ZN XColor
+structure and sets the
+.ZN DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue
+flags in each structure.
+
+.LP
+.ZN XQueryColor
+and
+.ZN XQueryColors
+can generate
+.ZN BadColor
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XLookupColor
+function looks up the string name of a color with respect to the screen
+associated with the specified colormap.
+It returns both the exact color values and
+the closest values provided by the screen
+with respect to the visual type of the specified colormap.
+If the color name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+.ZN XLookupColor
+returns nonzero if the name is resolved;
+otherwise, it returns zero.
+.LP
+The
+.ZN XParseColor
+function looks up the string name of a color with respect to the screen
+associated with the specified colormap.
+It returns the exact color value.
+If the color name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+.ZN XParseColor
+returns nonzero if the name is resolved;
+otherwise, it returns zero.
+.LP
+.ZN XLookupColor
+and
+.ZN XParseColor
+can generate
+.ZN BadColor
+error.
+.SH "COLOR NAMES"
+An RGB Device specification is identified by
+the prefix ``rgb:'' and conforms to the following syntax:
+.LP
+.\" Start marker code here
+.Ds 0
+rgb:\fI<red>/<green>/<blue>\fP
+
+ \fI<red>\fP, \fI<green>\fP, \fI<blue>\fP := \fIh\fP | \fIhh\fP | \fIhhh\fP | \fIhhhh\fP
+ \fIh\fP := single hexadecimal digits (case insignificant)
+.De
+.\" End marker code here
+.LP
+Note that \fIh\fP indicates the value scaled in 4 bits,
+\fIhh\fP the value scaled in 8 bits,
+\fIhhh\fP the value scaled in 12 bits,
+and \fIhhhh\fP the value scaled in 16 bits, respectively.
+.LP
+For backward compatibility, an older syntax for RGB Device is
+supported, but its continued use is not encouraged.
+The syntax is an initial sharp sign character followed by
+a numeric specification, in one of the following formats:
+.LP
+.TS
+l l.
+\&#RGB (4 bits each)
+\&#RRGGBB (8 bits each)
+\&#RRRGGGBBB (12 bits each)
+\&#RRRRGGGGBBBB (16 bits each)
+.TE
+.LP
+The R, G, and B represent single hexadecimal digits.
+When fewer than 16 bits each are specified,
+they represent the most significant bits of the value
+(unlike the ``rgb:'' syntax, in which values are scaled).
+For example, the string ``#3a7'' is the same as ``#3000a0007000''.
+.LP
+An RGB intensity specification is identified
+by the prefix ``rgbi:'' and conforms to the following syntax:
+.LP
+.\" Start marker code here
+.Ds 0
+rgbi:\fI<red>/<green>/<blue>\fP
+.De
+.\" End marker code here
+.LP
+Note that red, green, and blue are floating-point values
+between 0.0 and 1.0, inclusive.
+The input format for these values is an optional sign,
+a string of numbers possibly containing a decimal point,
+and an optional exponent field containing an E or e
+followed by a possibly signed integer string.
+.LP
+The standard device-independent string specifications have
+the following syntax:
+.LP
+.\" Start marker code here
+.Ds 0
+CIEXYZ:\fI<X>/<Y>/<Z>\fP
+CIEuvY:\fI<u>/<v>/<Y>\fP
+CIExyY:\fI<x>/<y>/<Y>\fP
+CIELab:\fI<L>/<a>/<b>\fP
+CIELuv:\fI<L>/<u>/<v>\fP
+TekHVC:\fI<H>/<V>/<C>\fP
+.De
+.\" End marker code here
+.LP
+All of the values (C, H, V, X, Y, Z, a, b, u, v, y, x) are
+floating-point values.
+The syntax for these values is an optional plus or minus sign,
+a string of digits possibly containing a decimal point,
+and an optional exponent field consisting of an ``E'' or ``e''
+followed by an optional plus or minus followed by a string of digits.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XAllocColor(3X11),
+XCreateColormap(3X11),
+XStoreColors(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XQueryExtension.man b/libX11/man/XQueryExtension.man
new file mode 100644
index 000000000..bfc096498
--- /dev/null
+++ b/libX11/man/XQueryExtension.man
@@ -0,0 +1,67 @@
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc
+.\"
+.\" Rewritten for X.org by Chris Lee <clee@freedesktop.org>
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this documentation
+.\" for any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\" Chris Lee makes no representations about the suitability for any purpose
+.\" of the information in this document. It is provided \`\`as-is'' without
+.\" express or implied warranty.
+.\"
+.ds xL Programming with Xlib
+.TH XQueryExtension __libmansuffix__ __xorgversion__ "X FUNCTIONS"
+.SH NAME
+XQueryExtension, XListExtensions, XFreeExtensionList \- list available extensions
+.SH SYNTAX
+.HP
+Bool XQueryExtension(\^\fIdisplay, \fIname\fP, \fImajor_opcode_return\fP, \fIfirst_event_return\fP, \fIfirst_error_return\fP\^)
+.HP
+char **XListExtensions(\^\fIdisplay\fP, \fInextensions_return\fP\^)
+.HP
+XFreeExtensionList(\^\fIlist\fP\^)
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIname\fP 1i
+Specifies the extension name.
+.IP \fImajor_opcode_return\fP 1i
+Returns the major opcode.
+.IP \fIfirst_event_return\fP 1i
+Returns the first event code, if any.
+.IP \fIfirst_error_return\fP 1i
+Returns the first error code, if any.
+.IP \fInextensions_return\fP 1i
+Returns the number of extensions listed.
+.IP \fIlist\fP 1i
+Specifies the list of extension names.
+.SH DESCRIPTION
+.LP
+The \fIXQueryExtension\fP function determines if the named extension is
+present. If the extension is not present, \fIXQueryExtension\fP returns
+\fIFalse\fP; otherwise, it returns \fITrue\fP. If the extension is present,
+\fIXQueryExtension\fP returns the major opcode for the extension to
+major_opcode_return; otherwise, it returns zero. Any minor opcode and the
+request formats are specific to the extension. If the extension involves
+additional event types, \fIXQueryExtension\fP returns the base event type code
+to first_event_return; otherwise, it returns zero. The format of the events is
+specific to the extension. If the extension involves additional error codes,
+\fIXQueryExtension\fP returns the base error code to first_error_return;
+otherwise, it returns zero. The format of additional data in the errors is
+specific to the extension. If the extension name is not in the Host Portable
+Character Encoding the result is implementation-dependent. Uppercase and
+lowercase matter; the strings ``thing'', ``Thing'', and ``thinG'' are all
+considered different names.
+.LP
+The \fIXListExtensions\fP function returns a list of all extensions supported
+by the server. If the data returned by the server is in the Latin Portable
+Character Encoding, then the returned strings are in the Host Portable
+Character Encoding. Otherwise, the result is implementation-dependent.
+.LP
+The \fIXFreeExtensionList\fP function frees the memory allocated by
+\fIXListExtensions\fP.
diff --git a/libX11/man/XQueryPointer.man b/libX11/man/XQueryPointer.man
new file mode 100644
index 000000000..708ef2df0
--- /dev/null
+++ b/libX11/man/XQueryPointer.man
@@ -0,0 +1,220 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XQPointer.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XQueryPointer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XQueryPointer \- get pointer coordinates
+.SH SYNTAX
+.HP
+Bool XQueryPointer\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Window
+*\fIroot_return\fP\^, Window *\fIchild_return\fP\^, int
+*\fIroot_x_return\fP\^, int *\fIroot_y_return\fP\^, int *\fIwin_x_return\fP\^,
+int *\fIwin_y_return\fP\^, unsigned int *\fImask_return\fP\^);
+.SH ARGUMENTS
+.IP \fIchild_return\fP 1i
+Returns the child window that the pointer is located in, if any.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fImask_return\fP 1i
+Returns the current state of the modifier keys and pointer buttons.
+.ds Ro that the pointer is in
+.IP \fIroot_return\fP 1i
+Returns the root window \*(Ro.
+.IP \fIroot_x_return\fP 1i
+.br
+.ns
+.IP \fIroot_y_return\fP 1i
+Return the pointer coordinates relative to the root window's origin.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIwin_x_return\fP 1i
+.br
+.ns
+.IP \fIwin_y_return\fP 1i
+Return the pointer coordinates relative to the specified window.
+.SH DESCRIPTION
+The
+.ZN XQueryPointer
+function returns the root window the pointer is logically on and the pointer
+coordinates relative to the root window's origin.
+If
+.ZN XQueryPointer
+returns
+.ZN False ,
+the pointer is not on the same screen as the specified window, and
+.ZN XQueryPointer
+returns
+.ZN None
+to child_return and zero to win_x_return and win_y_return.
+If
+.ZN XQueryPointer
+returns
+.ZN True ,
+the pointer coordinates returned to win_x_return and win_y_return
+are relative to the origin of the specified window.
+In this case,
+.ZN XQueryPointer
+returns the child that contains the pointer, if any,
+or else
+.ZN None
+to child_return.
+.LP
+.ZN XQueryPointer
+returns the current logical state of the keyboard buttons
+and the modifier keys in mask_return.
+It sets mask_return to the bitwise inclusive OR of one or more
+of the button or modifier key bitmasks to match
+the current state of the mouse buttons and the modifier keys.
+.LP
+.ZN XQueryPointer
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XGetWindowAttributes(3X11),
+XQueryTree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XQueryTree.man b/libX11/man/XQueryTree.man
new file mode 100644
index 000000000..81338d2aa
--- /dev/null
+++ b/libX11/man/XQueryTree.man
@@ -0,0 +1,186 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XQTree.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XQueryTree __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XQueryTree \- query window tree information
+.SH SYNTAX
+.HP
+Status XQueryTree\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Window
+*\fIroot_return\fP\^, Window *\fIparent_return\fP\^, Window
+**\fIchildren_return\fP\^, unsigned int *\fInchildren_return\fP\^);
+.SH ARGUMENTS
+.IP \fIchildren_return\fP 1i
+Returns the list of children.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fInchildren_return\fP 1i
+Returns the number of children.
+.IP \fIparent_return\fP 1i
+Returns the parent window.
+.IP \fIroot_return\fP 1i
+Returns the root window.
+.ds Wi whose list of children, root, parent, and number of children \
+you want to obtain
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XQueryTree
+function returns the root ID, the parent window ID,
+a pointer to the list of children windows
+(NULL when there are no children),
+and the number of children in the list for the specified window.
+The children are listed in current stacking order, from bottom-most
+(first) to top-most (last).
+.ZN XQueryTree
+returns zero if it fails and nonzero if it succeeds.
+To free a non-NULL children list when it is no longer needed, use
+.ZN XFree .
+.SH BUGS
+This really should return a screen *, not a root window ID.
+.SH "SEE ALSO"
+XFree(3X11),
+XGetWindowAttributes(3X11),
+XQueryPointer(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XRaiseWindow.man b/libX11/man/XRaiseWindow.man
new file mode 100644
index 000000000..5acb18d83
--- /dev/null
+++ b/libX11/man/XRaiseWindow.man
@@ -0,0 +1,347 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XRaiseWin.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XRaiseWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XRaiseWindow, XLowerWindow, XCirculateSubwindows, XCirculateSubwindowsUp, XCirculateSubwindowsDown, XRestackWindows \- change window stacking order
+.SH SYNTAX
+.HP
+int XRaiseWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XLowerWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XCirculateSubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, int
+\fIdirection\fP\^);
+.HP
+int XCirculateSubwindowsUp\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XCirculateSubwindowsDown\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XRestackWindows\^(\^Display *\fIdisplay\fP\^, Window \fIwindows\fP\^[], int
+\fInwindows\fP\^);
+.SH ARGUMENTS
+.IP \fIdirection\fP 1i
+Specifies the direction (up or down) that you want to circulate
+the window.
+You can pass
+.ZN RaiseLowest
+or
+.ZN LowerHighest .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fInwindows\fP 1i
+Specifies the number of windows to be restacked.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIwindows\fP 1i
+Specifies an array containing the windows to be restacked.
+.SH DESCRIPTION
+The
+.ZN XRaiseWindow
+function
+raises the specified window to the top of the stack so that no sibling window
+obscures it.
+If the windows are regarded as overlapping sheets of paper stacked
+on a desk,
+then raising a window is analogous to moving the sheet to the top of
+the stack but leaving its x and y location on the desk constant.
+Raising a mapped window may generate
+.ZN Expose
+events for the window and any mapped subwindows that were formerly obscured.
+.LP
+If the override-redirect attribute of the window is
+.ZN False
+and some
+other client has selected
+.ZN SubstructureRedirectMask
+on the parent, the X server generates a
+.ZN ConfigureRequest
+event, and no processing is performed.
+Otherwise, the window is raised.
+.LP
+.ZN XRaiseWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XLowerWindow
+function lowers the specified window to the bottom of the stack
+so that it does not obscure any sibling
+windows.
+If the windows are regarded as overlapping sheets of paper
+stacked on a desk, then lowering a window is analogous to moving the
+sheet to the bottom of the stack but leaving its x and y location on
+the desk constant.
+Lowering a mapped window will generate
+.ZN Expose
+events on any windows it formerly obscured.
+.LP
+If the override-redirect attribute of the window is
+.ZN False
+and some
+other client has selected
+.ZN SubstructureRedirectMask
+on the parent, the X server generates a
+.ZN ConfigureRequest
+event, and no processing is performed.
+Otherwise, the window is lowered to the bottom of the
+stack.
+.LP
+.ZN XLowerWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XCirculateSubwindows
+function circulates children of the specified window in the specified
+direction.
+If you specify
+.ZN RaiseLowest ,
+.ZN XCirculateSubwindows
+raises the lowest mapped child (if any) that is occluded
+by another child to the top of the stack.
+If you specify
+.ZN LowerHighest ,
+.ZN XCirculateSubwindows
+lowers the highest mapped child (if any) that occludes another child
+to the bottom of the stack.
+Exposure processing is then performed on formerly obscured windows.
+If some other client has selected
+.ZN SubstructureRedirectMask
+on the window, the X server generates a
+.ZN CirculateRequest
+event, and no further processing is performed.
+If a child is actually restacked,
+the X server generates a
+.ZN CirculateNotify
+event.
+.LP
+.ZN XCirculateSubwindows
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XCirculateSubwindowsUp
+function raises the lowest mapped child of the specified window that
+is partially
+or completely
+occluded by another child.
+Completely unobscured children are not affected.
+This is a convenience function equivalent to
+.ZN XCirculateSubwindows
+with
+.ZN RaiseLowest
+specified.
+.LP
+.ZN XCirculateSubwindowsUp
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XCirculateSubwindowsDown
+function lowers the highest mapped child of the specified window that partially
+or completely occludes another child.
+Completely unobscured children are not affected.
+This is a convenience function equivalent to
+.ZN XCirculateSubwindows
+with
+.ZN LowerHighest
+specified.
+.LP
+.ZN XCirculateSubwindowsDown
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XRestackWindows
+function restacks the windows in the order specified,
+from top to bottom.
+The stacking order of the first window in the windows array is unaffected,
+but the other windows in the array are stacked underneath the first window,
+in the order of the array.
+The stacking order of the other windows is not affected.
+For each window in the window array that is not a child of the specified window,
+a
+.ZN BadMatch
+error results.
+.LP
+If the override-redirect attribute of a window is
+.ZN False
+and some
+other client has selected
+.ZN SubstructureRedirectMask
+on the parent, the X server generates
+.ZN ConfigureRequest
+events for each window whose override-redirect flag is not set,
+and no further processing is performed.
+Otherwise, the windows will be restacked in top-to-bottom order.
+.LP
+.ZN XRestackWindows
+can generate
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XConfigureWindow(3X11),
+XCreateWindow(3X11),
+XDestroyWindow(3X11),
+XMapWindow(3X11),
+XUnmapWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XReadBitmapFile.man b/libX11/man/XReadBitmapFile.man
new file mode 100644
index 000000000..defbbf982
--- /dev/null
+++ b/libX11/man/XReadBitmapFile.man
@@ -0,0 +1,357 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XReadBF.man,v 1.3 2001/02/07 22:35:20 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XReadBitmapFile __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XReadBitmapFile, XReadBitmapFileData, XWriteBitmapFile, XCreatePixmapFromBitmapData, XCreateBitmapFromData \- manipulate bitmaps
+.SH SYNTAX
+.HP
+int XReadBitmapFile(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, char
+*\fIfilename\fP\^, unsigned int *\fIwidth_return\fP, unsigned int
+*\fIheight_return\fP\^, Pixmap *\fIbitmap_return\fP\^, int
+*\fIx_hot_return\fP, int *\fIy_hot_return\fP\^);
+.HP
+int XReadBitmapFileData(\^char *\fIfilename\fP\^, unsigned int
+*\fIwidth_return\fP, unsigned int *\fIheight_return\fP\^, unsigned char
+*\fIdata_return\fP\^, int *\fIx_hot_return\fP, int *\fIy_hot_return\fP\^);
+.HP
+int XWriteBitmapFile(\^Display *\fIdisplay\fP\^, char *\fIfilename\fP\^,
+Pixmap \fIbitmap\fP\^, unsigned int \fIwidth\fP, unsigned int \fIheight\fP\^,
+int \fIx_hot\fP, int \fIy_hot\fP\^);
+.HP
+Pixmap XCreatePixmapFromBitmapData\^(\^Display *\fIdisplay\fP\^, Drawable
+\fId\fP\^, char *\fIdata\fP\^, unsigned int \fIwidth\fP, unsigned int
+\fIheight\fP\^, unsigned long \fIfg\fP, unsigned int \fIbg\fP\^, unsigned int
+\fIdepth\fP\^);
+.HP
+Pixmap XCreateBitmapFromData(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+char *\fIdata\fP\^, unsigned int \fIwidth\fP, unsigned int \fIheight\fP\^);
+.SH ARGUMENTS
+.IP \fIbitmap\fP 1i
+Specifies the bitmap.
+.IP \fIbitmap_return\fP 1i
+Returns the bitmap that is created.
+.ds Dr \ that indicates the screen
+.IP \fId\fP 1i
+Specifies the drawable\*(Dr.
+.IP \fIdata\fP 1i
+Specifies the data in bitmap format.
+.IP \fIdata\fP 1i
+Specifies the location of the bitmap data.
+.IP \fIdata_return\fP 1i
+Returns the bitmap data.
+.IP \fIdepth\fP 1i
+Specifies the depth of the pixmap.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfg\fP 1i
+.br
+.ns
+.IP \fIbg\fP 1i
+Specify the foreground and background pixel values to use.
+.IP \fIfilename\fP 1i
+Specifies the file name to use.
+The format of the file name is operating-system dependent.
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height.
+.IP \fIwidth_return\fP 1i
+.br
+.ns
+.IP \fIheight_return\fP 1i
+Return the width and height values of the read in bitmap file.
+.IP \fIx_hot\fP 1i
+.br
+.ns
+.IP \fIy_hot\fP 1i
+Specify where to place the hotspot coordinates (or \-1,\-1 if none are present)
+in the file.
+.IP \fIx_hot_return\fP 1i
+.br
+.ns
+.IP \fIy_hot_return\fP 1i
+Return the hotspot coordinates.
+.SH DESCRIPTION
+The
+.ZN XReadBitmapFile
+function reads in a file containing a bitmap.
+The file is parsed in the encoding of the current locale.
+The ability to read other than the standard format
+is implementation-dependent.
+If the file cannot be opened,
+.ZN XReadBitmapFile
+returns
+.ZN BitmapOpenFailed .
+If the file can be opened but does not contain valid bitmap data,
+it returns
+.ZN BitmapFileInvalid .
+If insufficient working storage is allocated,
+it returns
+.ZN BitmapNoMemory .
+If the file is readable and valid,
+it returns
+.ZN BitmapSuccess .
+.LP
+.ZN XReadBitmapFile
+returns the bitmap's height and width, as read
+from the file, to width_return and height_return.
+It then creates a pixmap of the appropriate size,
+reads the bitmap data from the file into the pixmap,
+and assigns the pixmap to the caller's variable bitmap.
+The caller must free the bitmap using
+.ZN XFreePixmap
+when finished.
+If \fIname\fP_x_hot and \fIname\fP_y_hot exist,
+.ZN XReadBitmapFile
+returns them to x_hot_return and y_hot_return;
+otherwise, it returns \-1,\-1.
+.LP
+.ZN XReadBitmapFile
+can generate
+.ZN BadAlloc
+and
+.ZN BadDrawable
+errors.
+.LP
+The
+.ZN XReadBitmapFileData
+function reads in a file containing a bitmap, in the same manner as
+.ZN XReadBitmapFile ,
+but returns the data directly rather than creating a pixmap in the server.
+The bitmap data is returned in data_return; the client must free this
+storage when finished with it by calling
+.ZN XFree .
+The status and other return values are the same as for
+.ZN XReadBitmapFile .
+.LP
+The
+.ZN XWriteBitmapFile
+function writes a bitmap out to a file in the X Version 11 format.
+The name used in the output file is derived from the file name
+by deleting the directory prefix.
+The file is written in the encoding of the current locale.
+If the file cannot be opened for writing,
+it returns
+.ZN BitmapOpenFailed .
+If insufficient memory is allocated,
+.ZN XWriteBitmapFile
+returns
+.ZN BitmapNoMemory ;
+otherwise, on no error,
+it returns
+.ZN BitmapSuccess .
+If x_hot and y_hot are not \-1, \-1,
+.ZN XWriteBitmapFile
+writes them out as the hotspot coordinates for the bitmap.
+.LP
+.ZN XWriteBitmapFile
+can generate
+.ZN BadDrawable
+and
+.ZN BadMatch
+errors.
+.LP
+The
+.ZN XCreatePixmapFromBitmapData
+function creates a pixmap of the given depth and then does a bitmap-format
+.ZN XPutImage
+of the data into it.
+The depth must be supported by the screen of the specified drawable,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XCreatePixmapFromBitmapData
+can generate
+.ZN BadAlloc
+and
+.ZN BadMatch
+errors.
+.LP
+The
+.ZN XCreateBitmapFromData
+function allows you to include in your C program (using
+.ZN #include )
+a bitmap file that was written out by
+.ZN XWriteBitmapFile
+(X version 11 format only) without reading in the bitmap file.
+The following example creates a gray bitmap:
+.LP
+.Ds 0
+\&#include "gray.bitmap"
+.sp 6p
+Pixmap bitmap;
+bitmap = XCreateBitmapFromData(display, window, gray_bits, gray_width, gray_height);
+.De
+.LP
+If insufficient working storage was allocated,
+.ZN XCreateBitmapFromData
+returns
+.ZN None .
+It is your responsibility to free the
+bitmap using
+.ZN XFreePixmap
+when finished.
+.LP
+.ZN XCreateBitmapFromData
+can generate a
+.ZN BadAlloc
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.TP 1i
+.ZN BadMatch
+An
+.ZN InputOnly
+window is used as a Drawable.
+.SH "SEE ALSO"
+XCreatePixmap(3X11),
+XPutImage(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XRecolorCursor.man b/libX11/man/XRecolorCursor.man
new file mode 100644
index 000000000..420228da8
--- /dev/null
+++ b/libX11/man/XRecolorCursor.man
@@ -0,0 +1,233 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XRecCur.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XRecolorCursor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XRecolorCursor, XFreeCursor, XQueryBestCursor \- manipulate cursors
+.SH SYNTAX
+.HP
+int XRecolorCursor\^(\^Display *\fIdisplay\fP\^, Cursor \fIcursor\fP\^, XColor
+*\fIforeground_color\fP\^, XColor *\fIbackground_color\fP\^);
+.HP
+int XFreeCursor\^(\^Display *\fIdisplay\fP\^, Cursor \fIcursor\fP\^);
+.HP
+Status XQueryBestCursor\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+unsigned int \fIwidth\fP\^, unsigned int \fIheight\fP\^, unsigned int
+*\fIwidth_return\fP\^, unsigned int *\fIheight_return\fP\^);
+.SH ARGUMENTS
+.IP \fIbackground_color\fP 1i
+Specifies the RGB values for the background of the source.
+.IP \fIcursor\fP 1i
+Specifies the cursor.
+.ds Dr , which indicates the screen
+.IP \fId\fP 1i
+Specifies the drawable\*(Dr.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIforeground_color\fP 1i
+Specifies the RGB values for the foreground of the source.
+.ds Wh of the cursor that you want the size information for
+.IP \fIwidth\fP 1i
+.br
+.ns
+.IP \fIheight\fP 1i
+Specify the width and height\*(Wh.
+.IP \fIwidth_return\fP 1i
+.br
+.ns
+.IP \fIheight_return\fP 1i
+Return the best width and height that is closest to the specified width
+and height.
+.SH DESCRIPTION
+The
+.ZN XRecolorCursor
+function changes the color of the specified cursor, and
+if the cursor is being displayed on a screen,
+the change is visible immediately.
+The pixel members of the
+.ZN XColor
+structures are ignored; only the RGB values are used.
+.LP
+.ZN XRecolorCursor
+can generate a
+.ZN BadCursor
+error.
+.LP
+The
+.ZN XFreeCursor
+function deletes the association between the cursor resource ID
+and the specified cursor.
+The cursor storage is freed when no other resource references it.
+The specified cursor ID should not be referred to again.
+.LP
+.ZN XFreeCursor
+can generate a
+.ZN BadCursor
+error.
+.LP
+Some displays allow larger cursors than other displays.
+The
+.ZN XQueryBestCursor
+function provides a way to find out what size cursors are actually
+possible on the display.
+.IN "Cursor" "limitations"
+It returns the largest size that can be displayed.
+Applications should be prepared to use smaller cursors on displays that
+cannot support large ones.
+.LP
+.ZN XQueryBestCursor
+can generate a
+.ZN BadDrawable
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadDrawable
+A value for a Drawable argument does not name a defined Window or Pixmap.
+.SH "SEE ALSO"
+XCreateColormap(3X11),
+XCreateFontCursor(3X11),
+XDefineCursor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XReparentEvent.man b/libX11/man/XReparentEvent.man
new file mode 100644
index 000000000..228661c4d
--- /dev/null
+++ b/libX11/man/XReparentEvent.man
@@ -0,0 +1,233 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XREvent.man,v 1.2 2001/01/27 18:20:02 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XReparentEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XReparentEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XReparentEvent \- ReparentNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN ReparentNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* ReparentNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+ Window parent;
+ int x, y;
+ Bool override_redirect;
+} XReparentEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the reparented window
+or to the old or the new parent, depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+The window member is set to the window that was reparented.
+The parent member is set to the new parent window.
+The x and y members are set to the reparented window's coordinates relative
+to the new parent window's
+origin and define the upper-left outer corner of the reparented window.
+The override_redirect member is set to the override-redirect attribute of the
+window specified by the window member.
+Window manager clients normally should ignore this window
+if the override_redirect member is
+.ZN True .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XReparentWindow.man b/libX11/man/XReparentWindow.man
new file mode 100644
index 000000000..ae3363fa4
--- /dev/null
+++ b/libX11/man/XReparentWindow.man
@@ -0,0 +1,229 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XReparWin.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XReparentWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XReparentWindow \- reparent windows
+.SH SYNTAX
+.HP
+int XReparentWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Window
+\fIparent\fP\^, int \fIx\fP\^, int \fIy\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIparent\fP 1i
+Specifies the parent window.
+.IP \fIw\fP 1i
+Specifies the window.
+.ds Xy of the position in the new parent window
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+If the specified window is mapped,
+.ZN XReparentWindow
+automatically performs an
+.ZN UnmapWindow
+request on it, removes it from its current position in the hierarchy,
+and inserts it as the child of the specified parent.
+The window is placed in the stacking order on top with respect to
+sibling windows.
+.LP
+After reparenting the specified window,
+.ZN XReparentWindow
+causes the X server to generate a
+.ZN ReparentNotify
+event.
+The override_redirect member returned in this event is
+set to the window's corresponding attribute.
+Window manager clients usually should ignore this window if this member
+is set to
+.ZN True .
+Finally, if the specified window was originally mapped,
+the X server automatically performs a
+.ZN MapWindow
+request on it.
+.LP
+The X server performs normal exposure processing on formerly obscured
+windows.
+The X server might not generate
+.ZN Expose
+events for regions from the initial
+.ZN UnmapWindow
+request that are immediately obscured by the final
+.ZN MapWindow
+request.
+A
+.ZN BadMatch
+error results if:
+.IP \(bu 5
+The new parent window is not on the same screen as
+the old parent window.
+.IP \(bu 5
+The new parent window is the specified window or an inferior of the
+specified window.
+.IP \(bu 5
+The new parent is
+.ZN InputOnly ,
+and the window is not.
+.IP \(bu 5
+The specified window has a
+.ZN ParentRelative
+background, and the new parent window is not the same depth as the
+specified window.
+.LP
+.ZN XReparentWindow
+can generate
+.ZN BadMatch
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeSaveSet(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XResizeRequestEvent.man b/libX11/man/XResizeRequestEvent.man
new file mode 100644
index 000000000..eb522f35b
--- /dev/null
+++ b/libX11/man/XResizeRequestEvent.man
@@ -0,0 +1,218 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XRREvent.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XResizeRequestEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XResizeRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XResizeRequestEvent \- ResizeRequest event structure
+.SH STRUCTURES
+The structure for
+.ZN ResizeRequest
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* ResizeRequest */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ int width, height;
+} XResizeRequestEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the window whose size another
+client attempted to change.
+The width and height members are set to the inside size of the window,
+excluding the border.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XResourceManagerString.man b/libX11/man/XResourceManagerString.man
new file mode 100644
index 000000000..81f69b718
--- /dev/null
+++ b/libX11/man/XResourceManagerString.man
@@ -0,0 +1,185 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XRMStr.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XResourceManagerString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XResourceManagerString, XScreenResourceString \- obtain server resource properties
+.SH SYNTAX
+.HP
+char *XResourceManagerString\^(\^Display *\fIdisplay\fP\^);
+.HP
+char *XScreenResourceString\^(\^Screen *\fIscreen\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIscreen\fP 1i
+Specifies the screen.
+.SH DESCRIPTION
+The
+.ZN XResourceManagerString
+function returns the RESOURCE_MANAGER property from the server's root
+window of screen zero, which was returned when the connection was opened using
+.ZN XOpenDisplay .
+The property is converted from type STRING to the current locale.
+The conversion is identical to that produced by
+.ZN XmbTextPropertyToTextList
+for a single element STRING property.
+The returned string is owned by Xlib and should not be freed by the client.
+The property value must be in a format that is acceptable to
+.ZN XrmGetStringDatabase .
+If no property exists, NULL is returned.
+.LP
+The
+.ZN XScreenResourceString
+function returns the SCREEN_RESOURCES property from the root window of the
+specified screen.
+The property is converted from type STRING to the current locale.
+The conversion is identical to that produced by
+.ZN XmbTextPropertyToTextList
+for a single element STRING property.
+The property value must be in a format that is acceptable to
+.ZN XrmGetStringDatabase .
+If no property exists, NULL is returned.
+The caller is responsible for freeing the returned string by using
+.ZN XFree .
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSaveContext.man b/libX11/man/XSaveContext.man
new file mode 100644
index 000000000..566e25144
--- /dev/null
+++ b/libX11/man/XSaveContext.man
@@ -0,0 +1,206 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSContext.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSaveContext __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSaveContext, XFindContext, XDeleteContext, XUniqueContext \- associative look-up routines
+.SH SYNTAX
+.HP
+int XSaveContext(\^Display *\fIdisplay\fP\^, XID \fIrid\fP\^, XContext
+\fIcontext\fP\^, XPointer \fIdata\fP\^);
+.HP
+int XFindContext(\^Display *\fIdisplay\fP\^, XID \fIrid\fP\^, XContext
+\fIcontext\fP\^, XPointer *\fIdata_return\fP\^);
+.HP
+int XDeleteContext(\^Display *\fIdisplay\fP\^, XID \fIrid\fP, XContext
+\fIcontext\fP);
+.LP
+XContext XUniqueContext(void);
+.SH ARGUMENTS
+.IP \fIcontext\fP 1i
+Specifies the context type to which the data belongs.
+.IP \fIdata\fP 1i
+Specifies the data to be associated with the window and type.
+.IP \fIdata_return\fP 1i
+Returns the data.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIrid\fP 1i
+Specifies the resource ID with which the data is associated.
+.SH DESCRIPTION
+If an entry with the specified resource ID and type already exists,
+.ZN XSaveContext
+overrides it with the specified context.
+The
+.ZN XSaveContext
+function returns a nonzero error code if an error has occurred
+and zero otherwise.
+Possible errors are
+.ZN XCNOMEM
+(out of memory).
+.LP
+Because it is a return value,
+the data is a pointer.
+The
+.ZN XFindContext
+function returns a nonzero error code if an error has occurred
+and zero otherwise.
+Possible errors are
+.ZN XCNOENT
+(context-not-found).
+.LP
+The
+.ZN XDeleteContext
+function deletes the entry for the given resource ID
+and type from the data structure.
+This function returns the same error codes that
+.ZN XFindContext
+returns if called with the same arguments.
+.ZN XDeleteContext
+does not free the data whose address was saved.
+.LP
+The
+.ZN XUniqueContext
+function creates a unique context type that may be used in subsequent calls to
+.ZN XSaveContext .
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSelectInput.man b/libX11/man/XSelectInput.man
new file mode 100644
index 000000000..5868748a0
--- /dev/null
+++ b/libX11/man/XSelectInput.man
@@ -0,0 +1,213 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSInput.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSelectInput __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSelectInput \- select input events
+.SH SYNTAX
+.HP
+int XSelectInput\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, long
+\fIevent_mask\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_mask\fP 1i
+Specifies the event mask.
+.ds Wi whose events you are interested in
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XSelectInput
+function requests that the X server report the events associated with the
+specified event mask.
+Initially, X will not report any of these events.
+Events are reported relative to a window.
+If a window is not interested in a device event, it usually propagates to
+the closest ancestor that is interested,
+unless the do_not_propagate mask prohibits it.
+.IN "Event" "propagation"
+.LP
+Setting the event-mask attribute of a window overrides any previous call
+for the same window but not for other clients.
+Multiple clients can select for the same events on the same window
+with the following restrictions:
+.IP \(bu 5
+Multiple clients can select events on the same window because their event masks
+are disjoint.
+When the X server generates an event, it reports it
+to all interested clients.
+.IP \(bu 5
+Only one client at a time can select
+.ZN CirculateRequest ,
+.ZN ConfigureRequest ,
+or
+.ZN MapRequest
+events, which are associated with
+the event mask
+.ZN SubstructureRedirectMask .
+.IP \(bu 5
+Only one client at a time can select
+a
+.ZN ResizeRequest
+event, which is associated with
+the event mask
+.ZN ResizeRedirectMask .
+.IP \(bu 5
+Only one client at a time can select a
+.ZN ButtonPress
+event, which is associated with
+the event mask
+.ZN ButtonPressMask .
+.LP
+The server reports the event to all interested clients.
+.LP
+.ZN XSelectInput
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSelectionClearEvent.man b/libX11/man/XSelectionClearEvent.man
new file mode 100644
index 000000000..d1860349a
--- /dev/null
+++ b/libX11/man/XSelectionClearEvent.man
@@ -0,0 +1,223 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSCEvent.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XSelectionClearEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSelectionClearEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSelectionClearEvent \- SelectionClear event structure
+.SH STRUCTURES
+The structure for
+.ZN SelectionClear
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* SelectionClear */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ Atom selection;
+ Time time;
+} XSelectionClearEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The selection member is set to the selection atom.
+The time member is set to the last change time recorded for the
+selection.
+The window member is the window that was specified by the current owner
+(the owner losing the selection) in its
+.ZN XSetSelectionOwner
+call.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XSetSelectionOwner(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSelectionEvent.man b/libX11/man/XSelectionEvent.man
new file mode 100644
index 000000000..e68eef706
--- /dev/null
+++ b/libX11/man/XSelectionEvent.man
@@ -0,0 +1,231 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSEvent.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XSelectionEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSelectionEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSelectionEvent \- SelectionNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN SelectionNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* SelectionNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property; /\&* atom or None */
+ Time time;
+} XSelectionEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The requestor member is set to the window associated with
+the requestor of the selection.
+The selection member is set to the atom that indicates the selection.
+For example, PRIMARY is used for the primary selection.
+The target member is set to the atom that indicates the converted type.
+For example, PIXMAP is used for a pixmap.
+The property member is set to the atom that indicates which
+property the result was stored on.
+If the conversion failed,
+the property member is set to
+.ZN None .
+The time member is set to the time the conversion took place and
+can be a timestamp or
+.ZN CurrentTime .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSelectionRequestEvent.man b/libX11/man/XSelectionRequestEvent.man
new file mode 100644
index 000000000..ae15700a2
--- /dev/null
+++ b/libX11/man/XSelectionRequestEvent.man
@@ -0,0 +1,235 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSREvent.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XSelectionRequestEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSelectionRequestEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSelectionRequestEvent \- SelectionRequest event structure
+.SH STRUCTURES
+The structure for
+.ZN SelectionRequest
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* SelectionRequest */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window owner;
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property;
+ Time time;
+} XSelectionRequestEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The owner member is set to the window
+that was specified by the current owner in its
+.ZN XSetSelectionOwner
+call.
+The requestor member is set to the window requesting the selection.
+The selection member is set to the atom that names the selection.
+For example, PRIMARY is used to indicate the primary selection.
+The target member is set to the atom that indicates the type
+the selection is desired in.
+The property member can be a property name or
+.ZN None .
+The time member is set to the timestamp or
+.ZN CurrentTime
+value from the
+.ZN ConvertSelection
+request.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSetSelectionOwner(3X11),
+XUnmapEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSendEvent.man b/libX11/man/XSendEvent.man
new file mode 100644
index 000000000..5c8971598
--- /dev/null
+++ b/libX11/man/XSendEvent.man
@@ -0,0 +1,315 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeEvent.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSendEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSendEvent, XDisplayMotionBufferSize, XGetMotionEvents, XTimeCoord \- send events and pointer motion history structure
+.SH SYNTAX
+.HP
+Status XSendEvent\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Bool
+\fIpropagate\fP\^, long \fIevent_mask\fP\^, XEvent *\fIevent_send\fP\^);
+.HP
+unsigned long XDisplayMotionBufferSize\^(\^Display *\fIdisplay\fP\^);
+.HP
+XTimeCoord *XGetMotionEvents\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Time \fIstart\fP\^, Time \fIstop\fP\^, int *\fInevents_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIevent_mask\fP 1i
+Specifies the event mask.
+.IP \fIevent_send\fP 1i
+Specifies the event that is to be sent.
+.IP \fInevents_return\fP 1i
+Returns the number of events from the motion history buffer.
+.IP \fIpropagate\fP 1i
+Specifies a Boolean value.
+.IP \fIstart\fP 1i
+.br
+.ns
+.IP \fIstop\fP 1i
+Specify the time interval in which the events are returned from the motion
+history buffer.
+You can pass a timestamp or
+.ZN CurrentTime .
+.ds Wi the window the event is to be sent to,
+.ZN PointerWindow ,
+or
+.ZN InputFocus .
+.IP \fIw\fP 1i
+Specifies the window \*(Wi.
+.SH DESCRIPTION
+The
+.ZN XSendEvent
+function identifies the destination window,
+determines which clients should receive the specified events,
+and ignores any active grabs.
+This function requires you to pass an event mask.
+For a discussion of the valid event mask names,
+see section 10.3.
+This function uses the w argument to identify the destination window as follows:
+.IP \(bu 5
+If w is
+.ZN PointerWindow ,
+the destination window is the window that contains the pointer.
+.IP \(bu 5
+If w is
+.ZN InputFocus
+and if the focus window contains the pointer,
+the destination window is the window that contains the pointer;
+otherwise, the destination window is the focus window.
+.LP
+To determine which clients should receive the specified events,
+.ZN XSendEvent
+uses the propagate argument as follows:
+.IP \(bu 5
+If event_mask is the empty set,
+the event is sent to the client that created the destination window.
+If that client no longer exists,
+no event is sent.
+.IP \(bu 5
+If propagate is
+.ZN False ,
+the event is sent to every client selecting on destination any of the event
+types in the event_mask argument.
+.IP \(bu 5
+If propagate is
+.ZN True
+and no clients have selected on destination any of
+the event types in event-mask, the destination is replaced with the
+closest ancestor of destination for which some client has selected a
+type in event-mask and for which no intervening window has that type in its
+do-not-propagate-mask.
+If no such window exists or if the window is
+an ancestor of the focus window and
+.ZN InputFocus
+was originally specified
+as the destination, the event is not sent to any clients.
+Otherwise, the event is reported to every client selecting on the final
+destination any of the types specified in event_mask.
+.LP
+The event in the
+.ZN XEvent
+structure must be one of the core events or one of the events
+defined by an extension (or a
+.ZN BadValue
+error results) so that the X server can correctly byte-swap
+the contents as necessary.
+The contents of the event are
+otherwise unaltered and unchecked by the X server except to force send_event to
+.ZN True
+in the forwarded event and to set the serial number in the event correctly;
+therefore these fields
+and the display field are ignored by
+.ZN XSendEvent .
+.LP
+.ZN XSendEvent
+returns zero if the conversion to wire protocol format failed
+and returns nonzero otherwise.
+.ZN XSendEvent
+can generate
+.ZN BadValue
+and
+.ZN BadWindow
+errors.
+.LP
+The server may retain the recent history of the pointer motion
+and do so to a finer granularity than is reported by
+.ZN MotionNotify
+events.
+The
+.ZN XGetMotionEvents
+function makes this history available.
+.LP
+The
+.ZN XGetMotionEvents
+function returns all events in the motion history buffer that fall between the
+specified start and stop times, inclusive, and that have coordinates
+that lie within the specified window (including its borders) at its present
+placement.
+If the server does not support motion history,
+if the start time is later than the stop time,
+or if the start time is in the future,
+no events are returned;
+.ZN XGetMotionEvents
+returns NULL.
+If the stop time is in the future, it is equivalent to specifying
+.ZN CurrentTime .
+.ZN XGetMotionEvents
+can generate a
+.ZN BadWindow
+error.
+.SH STRUCTURES
+The
+.ZN XTimeCoord
+structure contains:
+.LP
+.Ds 0
+.TA .5i
+.ta .5i
+typedef struct {
+ Time time;
+ short x, y;
+} XTimeCoord;
+.De
+.LP
+The time member is set to the time, in milliseconds.
+The x and y members are set to the coordinates of the pointer and
+are reported relative to the origin
+of the specified window.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XIfEvent(3X11),
+XNextEvent(3X11),
+XPutBackEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetArcMode.man b/libX11/man/XSetArcMode.man
new file mode 100644
index 000000000..0862e95ad
--- /dev/null
+++ b/libX11/man/XSetArcMode.man
@@ -0,0 +1,243 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeArcMod.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetArcMode __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetArcMode, XSetSubwindowMode, XSetGraphicsExposure \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetArcMode\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIarc_mode\fP\^);
+.HP
+int XSetSubwindowMode\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIsubwindow_mode\fP\^);
+.HP
+int XSetGraphicsExposures\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Bool
+\fIgraphics_exposures\fP\^);
+.SH ARGUMENTS
+.IP \fIarc_mode\fP 1i
+Specifies the arc mode.
+You can pass
+.ZN ArcChord
+or
+.ZN ArcPieSlice .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIgraphics_exposures\fP 1i
+Specifies a Boolean value that indicates whether you want
+.ZN GraphicsExpose
+and
+.ZN NoExpose
+events to be reported when calling
+.ZN XCopyArea
+and
+.ZN XCopyPlane
+with this GC.
+.IP \fIsubwindow_mode\fP 1i
+Specifies the subwindow mode.
+You can pass
+.ZN ClipByChildren
+or
+.ZN IncludeInferiors .
+.SH DESCRIPTION
+The
+.ZN XSetArcMode
+function sets the arc mode in the specified GC.
+.LP
+.ZN XSetArcMode
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetSubwindowMode
+function sets the subwindow mode in the specified GC.
+.LP
+.ZN XSetSubwindowMode
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetGraphicsExposures
+function sets the graphics-exposures flag in the specified GC.
+.LP
+.ZN XSetGraphicsExposures
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCopyArea(3X11),
+XCreateGC(3X11),
+XQueryBestSize(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetClipOrigin.man b/libX11/man/XSetClipOrigin.man
new file mode 100644
index 000000000..ddbe6cfe9
--- /dev/null
+++ b/libX11/man/XSetClipOrigin.man
@@ -0,0 +1,295 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeClipO.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetClipOrigin __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetClipOrigin, XSetClipMask, XSetClipRectangles \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetClipOrigin\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIclip_x_origin\fP\^, int \fIclip_y_origin\fP\^);
+.HP
+int XSetClipMask\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Pixmap
+\fIpixmap\fP\^);
+.HP
+int XSetClipRectangles\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIclip_x_origin\fP\^, int \fIclip_y_origin\fP\^, XRectangle
+\fIrectangles\fP[]\^, int \fIn\fP\^, int \fIordering\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIclip_x_origin\fP 1i
+.br
+.ns
+.IP \fIclip_y_origin\fP 1i
+Specify the x and y coordinates of the clip-mask origin.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIn\fP 1i
+Specifies the number of rectangles.
+.IP \fIordering\fP 1i
+Specifies the ordering relations on the rectangles.
+You can pass
+.ZN Unsorted ,
+.ZN YSorted ,
+.ZN YXSorted ,
+or
+.ZN YXBanded .
+.IP \fIpixmap\fP 1i
+Specifies the pixmap or
+.ZN None .
+.IP \fIrectangles\fP 1i
+Specifies an array of rectangles that define the clip-mask.
+.SH DESCRIPTION
+The
+.ZN XSetClipOrigin
+function sets the clip origin in the specified GC.
+The clip-mask origin is interpreted relative to the origin of whatever
+destination drawable is specified in the graphics request.
+.LP
+.ZN XSetClipOrigin
+can generate
+.ZN BadAlloc
+and
+.ZN BadGC
+errors.
+.LP
+The
+.ZN XSetClipMask
+function sets the clip-mask in the specified GC to the specified pixmap.
+If the clip-mask is set to
+.ZN None ,
+the pixels are are always drawn (regardless of the clip-origin).
+.LP
+.ZN XSetClipMask
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetClipRectangles
+function changes the clip-mask in the specified GC
+to the specified list of rectangles and sets the clip origin.
+The output is clipped to remain contained within the
+rectangles.
+The clip-origin is interpreted relative to the origin of
+whatever destination drawable is specified in a graphics request.
+The rectangle coordinates are interpreted relative to the clip-origin.
+The rectangles should be nonintersecting, or the graphics results will be
+undefined.
+Note that the list of rectangles can be empty,
+which effectively disables output.
+This is the opposite of passing
+.ZN None
+as the clip-mask in
+.ZN XCreateGC ,
+.ZN XChangeGC ,
+and
+.ZN XSetClipMask .
+.LP
+If known by the client, ordering relations on the rectangles can be
+specified with the ordering argument.
+This may provide faster operation
+by the server.
+If an incorrect ordering is specified, the X server may generate a
+.ZN BadMatch
+error, but it is not required to do so.
+If no error is generated, the graphics
+results are undefined.
+.ZN Unsorted
+means the rectangles are in arbitrary order.
+.ZN YSorted
+means that the rectangles are nondecreasing in their Y origin.
+.ZN YXSorted
+additionally constrains
+.ZN YSorted
+order in that all
+rectangles with an equal Y origin are nondecreasing in their X
+origin.
+.ZN YXBanded
+additionally constrains
+.ZN YXSorted
+by requiring that,
+for every possible Y scanline, all rectangles that include that
+scanline have an identical Y origins and Y extents.
+.LP
+.ZN XSetClipRectangles
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XDrawRectangle(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetCloseDownMode.man b/libX11/man/XSetCloseDownMode.man
new file mode 100644
index 000000000..e16f80ccc
--- /dev/null
+++ b/libX11/man/XSetCloseDownMode.man
@@ -0,0 +1,221 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeClosDM.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetCloseDownMode __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetCloseDownMode, XKillClient \- control clients
+.SH SYNTAX
+.HP
+int XSetCloseDownMode\^(\^Display *\fIdisplay\fP\^, int \fIclose_mode\fP\^);
+.HP
+int XKillClient\^(\^Display *\fIdisplay\fP\^, XID \fIresource\fP\^);
+.SH ARGUMENTS
+.IP \fIclose_mode\fP 1i
+Specifies the client close-down mode.
+You can pass
+.ZN DestroyAll ,
+.ZN RetainPermanent ,
+or
+.ZN RetainTemporary .
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIresource\fP 1i
+Specifies any resource associated with the client that you want to destroy or
+.ZN AllTemporary .
+.SH DESCRIPTION
+The
+.ZN XSetCloseDownMode
+defines what will happen to the client's resources at connection close.
+A connection starts in
+.ZN DestroyAll
+mode.
+For information on what happens to the client's resources when the
+close_mode argument is
+.ZN RetainPermanent
+or
+.ZN RetainTemporary ,
+see section 2.6.
+.LP
+.ZN XSetCloseDownMode
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XKillClient
+function
+forces a close down of the client
+that created the resource
+if a valid resource is specified.
+If the client has already terminated in
+either
+.ZN RetainPermanent
+or
+.ZN RetainTemporary
+mode, all of the client's
+resources are destroyed.
+If
+.ZN AllTemporary
+is specified, the resources of all clients that have terminated in
+.ZN RetainTemporary
+are destroyed (see section 2.5).
+This permits implementation of window manager facilities that aid debugging.
+A client can set its close-down mode to
+.ZN RetainTemporary .
+If the client then crashes,
+its windows would not be destroyed.
+The programmer can then inspect the application's window tree
+and use the window manager to destroy the zombie windows.
+.LP
+.ZN XKillClient
+can generate a
+.ZN BadValue
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSetCommand.man b/libX11/man/XSetCommand.man
new file mode 100644
index 000000000..c64e2705a
--- /dev/null
+++ b/libX11/man/XSetCommand.man
@@ -0,0 +1,225 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeCmd.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetCommand __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetCommand, XGetCommand \- set or read a window's WM_COMMAND property
+.SH SYNTAX
+.HP
+int XSetCommand\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+**\fIargv\fP\^, int \fIargc\fP\^);
+.HP
+Status XGetCommand\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+***\fIargv_return\fP\^, int *\fIargc_return\fP\^);
+.SH ARGUMENTS
+.IP \fIargc\fP 1i
+Specifies the number of arguments.
+.IP \fIargc_return\fP 1i
+Returns the number of arguments returned.
+.IP \fIargv\fP 1i
+Specifies the application's argument list.
+.IP \fIargv_return\fP 1i
+Returns the application's argument list.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XSetCommand
+function sets the command and arguments used to invoke the
+application.
+(Typically, argv is the argv array of your main program.)
+If the strings are not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+.LP
+.ZN XSetCommand
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetCommand
+function reads the WM_COMMAND property from the specified window
+and returns a string list.
+If the WM_COMMAND property exists,
+it is of type STRING and format 8.
+If sufficient memory can be allocated to contain the string list,
+.ZN XGetCommand
+fills in the argv_return and argc_return arguments
+and returns a nonzero status.
+Otherwise, or if any other error is encountered, it returns a zero status.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned strings are in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+To free the memory allocated to the string list, use
+.ZN XFreeStringList .
+.SH PROPERTIES
+.TP 1i
+\s-1WM_COMMAND\s+1
+The command and arguments, null-separated, used to invoke the
+application.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetErrorHandler.man b/libX11/man/XSetErrorHandler.man
new file mode 100644
index 000000000..5ccf3a91b
--- /dev/null
+++ b/libX11/man/XSetErrorHandler.man
@@ -0,0 +1,276 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeErrHan.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetErrorHandler __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetErrorHandler, XGetErrorText, XDisplayName, XSetIOErrorHandler, XGetErrorDatabaseText \- default error handlers
+.SH SYNTAX
+.HP
+int (*XSetErrorHandler\^(\^int (\^*\^\fIhandler\fP\^)\^(Display *, XErrorEvent
+*)\^)\^)\^(\^);
+.HP
+int XGetErrorText\^(\^Display *\fIdisplay\fP\^, int \fIcode\fP\^, char
+*\fIbuffer_return\fP\^, int \fIlength\fP\^);
+.HP
+char *XDisplayName\^(\^char *\fIstring\fP\^);
+.HP
+int (*XSetIOErrorHandler\^(\^int (\^*\^\fIhandler\fP\^)(Display
+*)\^)\^)\^(\^);
+.HP
+int XGetErrorDatabaseText\^(\^Display *\fIdisplay\fP\^, char *\fIname\fP, char
+*\fImessage\fP\^, char *\fIdefault_string\fP\^, char *\fIbuffer_return\fP\^,
+int \fIlength\fP\^);
+.SH ARGUMENTS
+.IP \fIbuffer_return\fP 1i
+Returns the error description.
+.IP \fIcode\fP 1i
+Specifies the error code for which you want to obtain a description.
+.IP \fIdefault_string\fP 1i
+Specifies the default error message if none is found in the database.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIhandler\fP 1i
+Specifies the program's supplied error handler.
+.IP \fIlength\fP 1i
+Specifies the size of the buffer.
+.IP \fImessage\fP 1i
+Specifies the type of the error message.
+.IP \fIname\fP 1i
+Specifies the name of the application.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.SH DESCRIPTION
+Xlib generally calls the program's
+supplied error handler whenever an error is received.
+It is not called on
+.ZN BadName
+errors from
+.ZN OpenFont ,
+.ZN LookupColor ,
+or
+.ZN AllocNamedColor
+protocol requests or on
+.ZN BadFont
+errors from a
+.ZN QueryFont
+protocol request.
+These errors generally are reflected back to the program through the
+procedural interface.
+Because this condition is not assumed to be fatal,
+it is acceptable for your error handler to return;
+the returned value is ignored.
+However, the error handler should not
+call any functions (directly or indirectly) on the display
+that will generate protocol requests or that will look for input events.
+The previous error handler is returned.
+.LP
+The
+.ZN XGetErrorText
+function copies a null-terminated string describing the specified error code
+into the specified buffer.
+The returned text is in the encoding of the current locale.
+It is recommended that you use this function to obtain an error description
+because extensions to Xlib may define their own error codes
+and error strings.
+.LP
+The
+.ZN XDisplayName
+function returns the name of the display that
+.ZN XOpenDisplay
+would attempt to use.
+If a NULL string is specified,
+.ZN XDisplayName
+looks in the environment for the display and returns the display name that
+.ZN XOpenDisplay
+would attempt to use.
+This makes it easier to report to the user precisely which display the
+program attempted to open when the initial connection attempt failed.
+.LP
+The
+.ZN XSetIOErrorHandler
+sets the fatal I/O error handler.
+Xlib calls the program's supplied error handler if any sort of system call
+error occurs (for example, the connection to the server was lost).
+This is assumed to be a fatal condition,
+and the called routine should not return.
+If the I/O error handler does return,
+the client process exits.
+.LP
+Note that the previous error handler is returned.
+.LP
+The
+.ZN XGetErrorDatabaseText
+function returns a null-terminated message
+(or the default message) from the error message
+database.
+Xlib uses this function internally to look up its error messages.
+The text in the default_string argument is assumed
+to be in the encoding of the current locale,
+and the text stored in the buffer_return argument
+is in the encoding of the current locale.
+.LP
+The name argument should generally be the name of your application.
+The message argument should indicate which type of error message you want.
+If the name and message are not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Xlib uses three predefined ``application names'' to report errors.
+In these names,
+uppercase and lowercase matter.
+.IP XProtoError 1i
+The protocol error number is used as a string for the message argument.
+.IP XlibMessage 1i
+These are the message strings that are used internally by the library.
+.IP XRequest 1i
+For a core protocol request,
+the major request protocol number is used for the message argument.
+For an extension request,
+the extension name (as given by
+.ZN InitExtension )
+followed by a period (\.) and the minor request protocol number
+is used for the message argument.
+If no string is found in the error database,
+the default_string is returned to the buffer argument.
+.SH "SEE ALSO"
+XOpenDisplay(3X11),
+XSynchronize(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetEventQueueOwner.man b/libX11/man/XSetEventQueueOwner.man
new file mode 100644
index 000000000..e3306aa7a
--- /dev/null
+++ b/libX11/man/XSetEventQueueOwner.man
@@ -0,0 +1,58 @@
+.\" Copyright \(co 2006 Josh Triplett
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.TH XSetEventQueueOwner __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetEventQueueOwner \- set event queue owner on a shared Xlib/XCB connection
+.SH SYNTAX
+.HP
+ #include <X11/Xlib-xcb.h>
+.HP
+void XSetEventQueueOwner(Display *\fIdpy\fP, enum XEventQueueOwner \fIowner\fP);
+.SH ARGUMENTS
+.IP \fIdpy\fP 1i
+Specifies the connection to the X server.
+.IP \fIowner\fP 1i
+Specifies the event queue ownership:
+.RS
+.TP
+\fIXlibOwnsEventQueue\fP (default)
+Xlib owns the event queue. Use the Xlib event-handling functions. Do not
+call the XCB event-handling functions.
+.TP
+\fIXCBOwnsEventQueue\fP
+XCB owns the event queue. Use the XCB event-handling functions. Do not call
+the Xlib event-handling functions.
+.RE
+.IN "Environment" "DISPLAY"
+.SH DESCRIPTION
+While a client using Xlib/XCB can issue requests and handle their replies or
+errors with either Xlib or XCB, only one can own and handle the event queue.
+By default, Xlib must own the event queue, for compatibility with legacy Xlib
+clients. Clients can call \fIXSetEventQueueOwner\fP immediately after
+\fIXOpenDisplay\fP to let XCB own the event queue instead. Clients may not
+call \fIXSetEventQueueOwner\fP at any other time, as this will potentially
+lose responses.
+.SH "SEE ALSO"
+XOpenDisplay(3X11),
+XGetXCBConnection(3X11),
+.br
+\fIXlib \- C Language X Interface\fP
diff --git a/libX11/man/XSetFillStyle.man b/libX11/man/XSetFillStyle.man
new file mode 100644
index 000000000..e8700db1a
--- /dev/null
+++ b/libX11/man/XSetFillStyle.man
@@ -0,0 +1,219 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeFillS.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetFillStyle __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetFillStyle, XSetFillRule \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetFillStyle\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIfill_style\fP\^);
+.HP
+int XSetFillRule\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIfill_rule\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfill_rule\fP 1i
+Specifies the fill-rule you want to set for the specified GC.
+You can pass
+.ZN EvenOddRule
+or
+.ZN WindingRule .
+.IP \fIfill_style\fP 1i
+Specifies the fill-style you want to set for the specified GC.
+You can pass
+.ZN FillSolid ,
+.ZN FillTiled ,
+.ZN FillStippled ,
+or
+.ZN FillOpaqueStippled .
+.IP \fIgc\fP 1i
+Specifies the GC.
+.SH DESCRIPTION
+The
+.ZN XSetFillStyle
+function sets the fill-style in the specified GC.
+.LP
+.ZN XSetFillStyle
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetFillRule
+function sets the fill-rule in the specified GC.
+.LP
+.ZN XSetFillRule
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetFont.man b/libX11/man/XSetFont.man
new file mode 100644
index 000000000..4b44e2262
--- /dev/null
+++ b/libX11/man/XSetFont.man
@@ -0,0 +1,188 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeFont.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetFont __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetFont \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetFont\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Font \fIfont\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfont\fP 1i
+Specifies the font.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.SH DESCRIPTION
+The
+.ZN XSetFont
+function sets the current font in the specified GC.
+.LP
+.ZN XSetFont
+can generate
+.ZN BadAlloc ,
+.ZN BadFont ,
+and
+.ZN BadGC
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadFont
+A value for a Font or GContext argument does not name a defined Font.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetFontPath.man b/libX11/man/XSetFontPath.man
new file mode 100644
index 000000000..2548a5f3d
--- /dev/null
+++ b/libX11/man/XSetFontPath.man
@@ -0,0 +1,214 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeFontP.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetFontPath __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetFontPath, XGetFontPath, XFreeFontPath \- set, get, or free the font search path
+.SH SYNTAX
+int XSetFontPath\^(\^Display *\fIdisplay\fP\^, char **\fIdirectories\fP\^, int
+\fIndirs\fP\^);
+.HP
+char **XGetFontPath\^(\^Display *\fIdisplay\fP\^, int *\fInpaths_return\fP\^);
+.HP
+int XFreeFontPath\^(\^char **\fIlist\fP\^);
+.SH ARGUMENTS
+.IP \fIdirectories\fP 1i
+Specifies the directory path used to look for a font.
+Setting the path to the empty list restores the default path defined
+for the X server.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIlist\fP 1i
+Specifies the array of strings you want to free.
+.IP \fIndirs\fP 1i
+Specifies the number of directories in the path.
+.IP \fInpaths_return\fP 1i
+Returns the number of strings in the font path array.
+.SH DESCRIPTION
+The
+.ZN XSetFontPath
+function defines the directory search path for font lookup.
+There is only one search path per X server, not one per client.
+The encoding and interpretation of the strings are implementation-dependent,
+but typically they specify directories or font servers to be searched
+in the order listed.
+An X server is permitted to cache font information internally;
+for example, it might cache an entire font from a file and not
+check on subsequent opens of that font to see if the underlying
+font file has changed.
+However,
+when the font path is changed,
+the X server is guaranteed to flush all cached information about fonts
+for which there currently are no explicit resource IDs allocated.
+The meaning of an error from this request is implementation-dependent.
+.LP
+.ZN XSetFontPath
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XGetFontPath
+function allocates and returns an array of strings containing the search path.
+The contents of these strings are implementation-dependent
+and are not intended to be interpreted by client applications.
+When it is no longer needed,
+the data in the font path should be freed by using
+.ZN XFreeFontPath .
+.LP
+The
+.ZN XFreeFontPath
+function
+frees the data allocated by
+.ZN XGetFontPath .
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XListFont(3X11),
+XLoadFonts(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetICFocus.man b/libX11/man/XSetICFocus.man
new file mode 100644
index 000000000..19b81849c
--- /dev/null
+++ b/libX11/man/XSetICFocus.man
@@ -0,0 +1,185 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSICFoc.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetICFocus __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetICFocus, XUnsetICFocus \- set and unset input context focus
+.SH SYNTAX
+.HP
+void XSetICFocus\^(\^XIC \fIic\fP\^);
+.HP
+void XUnsetICFocus\^(\^XIC \fIic\fP\^);
+.SH ARGUMENTS
+.IP \fIic\fP 1i
+Specifies the input context.
+.SH DESCRIPTION
+The
+.ZN XSetICFocus
+function allows a client to notify an input method that the focus window
+attached to the specified input context has received keyboard focus.
+The input method should take action to provide appropriate feedback.
+Complete feedback specification is a matter of user interface policy.
+.LP
+Calling
+.ZN XSetICFocus
+does not affect the focus window value.
+.LP
+The
+.ZN XUnsetICFocus
+function allows a client to notify an input method that the specified input context
+has lost the keyboard focus and that no more input is expected on the focus window
+attached to that input context.
+The input method should take action to provide appropriate feedback.
+Complete feedback specification is a matter of user interface policy.
+.LP
+Calling
+.ZN XUnsetICFocus
+does not affect the focus window value;
+the client may still receive
+events from the input method that are directed to the focus window.
+.SH "SEE ALSO"
+XCreateIC(3X11),
+XOpenIM(3X11),
+XSetICValues(3X11),
+XmbResetIC(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetICValues.man b/libX11/man/XSetICValues.man
new file mode 100644
index 000000000..1e072f736
--- /dev/null
+++ b/libX11/man/XSetICValues.man
@@ -0,0 +1,236 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSICVals.man,v 1.2 2001/01/27 18:20:03 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetICValues __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetICValues, XGetICValues \- set and obtain XIC values
+.SH SYNTAX
+.HP
+char * XSetICValues\^(\^XIC \fIic\fP, ...\^);
+.HP
+char * XGetICValues\^(\^XIC \fIic\fP, ...\^);
+.SH ARGUMENTS
+.IP \fIic\fP 1i
+Specifies the input context.
+.ds Al \ to set or get XIC values
+.IP ... 1i
+Specifies the variable length argument list\*(Al.
+.SH DESCRIPTION
+The
+.ZN XSetICValues
+function returns NULL if no error occurred;
+otherwise,
+it returns the name of the first argument that could not be set.
+An argument might not be set for any of the following reasons:
+.IP \(bu 5
+The argument is read-only (for example,
+.ZN XNFilterEvents ).
+.IP \(bu 5
+The argument name is not recognized.
+.IP \(bu 5
+An implementation-dependent error occurs.
+.LP
+Each value to be set must be an appropriate datum,
+matching the data type imposed by the semantics of the argument.
+.LP
+The
+.ZN XSetICValues
+can generate
+.ZN BadAtom ,
+.ZN BadColor ,
+.ZN BadCursor ,
+.ZN BadPixmap ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetICValues
+function returns NULL if no error occurred; otherwise,
+it returns the name of the first argument that could not be obtained.
+An argument could not be obtained for any of the following reasons:
+.IP \(bu 5
+The argument name is not recognized.
+.IP \(bu 5
+The input method encountered an implementation-dependent error.
+.LP
+Each IC attribute value argument (following a name) must point to
+a location where the IC value is to be stored.
+That is, if the IC value is of type T,
+the argument must be of type T*.
+If T itself is a pointer type,
+then
+.ZN XGetICValues
+allocates memory to store the actual data,
+and the client is responsible for freeing this data by calling
+.ZN XFree
+with the returned pointer.
+The exception to this rule is for an IC value of type
+.ZN XNVaNestedList
+(for preedit and status attributes).
+In this case, the argument must also be of type
+.ZN XVaNestedList .
+Then, the rule of changing type T to T* and freeing the allocated data
+applies to each element of the nested list.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadCursor
+A value for a Cursor argument does not name a defined Cursor.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XCreateIC(3X11),
+XOpenIM(3X11),
+XSetICFocus(3X11),
+XmbResetIC(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetInputFocus.man b/libX11/man/XSetInputFocus.man
new file mode 100644
index 000000000..14d26550a
--- /dev/null
+++ b/libX11/man/XSetInputFocus.man
@@ -0,0 +1,276 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeInFoc.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetInputFocus __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetInputFocus, XGetInputFocus \- control input focus
+.SH SYNTAX
+.HP
+int XSetInputFocus\^(\^Display *\fIdisplay\fP\^, Window \fIfocus\fP\^, int
+\fIrevert_to\fP\^, Time \fItime\fP\^);
+.HP
+int XGetInputFocus\^(\^Display *\fIdisplay\fP\^, Window *\fIfocus_return\fP\^,
+int *\fIrevert_to_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfocus\fP 1i
+Specifies the window,
+.ZN PointerRoot ,
+or
+.ZN None .
+.IP \fIfocus_return\fP 1i
+Returns the focus window,
+.ZN PointerRoot ,
+or
+.ZN None .
+.IP \fIrevert_to\fP 1i
+Specifies where the input focus reverts to if the window becomes not
+viewable.
+You can pass
+.ZN RevertToParent ,
+.ZN RevertToPointerRoot ,
+or
+.ZN RevertToNone .
+.IP \fIrevert_to_return\fP 1i
+Returns the current focus state
+.Pn ( RevertToParent ,
+.ZN RevertToPointerRoot ,
+or
+.ZN RevertToNone ).
+.IP \fItime\fP 1i
+Specifies the time.
+You can pass either a timestamp or
+.ZN CurrentTime .
+.SH DESCRIPTION
+The
+.ZN XSetInputFocus
+function changes the input focus and the last-focus-change time.
+It has no effect if the specified time is earlier than the current
+last-focus-change time or is later than the current X server time.
+Otherwise, the last-focus-change time is set to the specified time
+.Pn ( CurrentTime
+is replaced by the current X server time).
+.ZN XSetInputFocus
+causes the X server to generate
+.ZN FocusIn
+and
+.ZN FocusOut
+events.
+.LP
+Depending on the focus argument,
+the following occurs:
+.IP \(bu 5
+If focus is
+.ZN None ,
+all keyboard events are discarded until a new focus window is set,
+and the revert_to argument is ignored.
+.IP \(bu 5
+If focus is a window,
+it becomes the keyboard's focus window.
+If a generated keyboard event would normally be reported to this window
+or one of its inferiors, the event is reported as usual.
+Otherwise, the event is reported relative to the focus window.
+.IP \(bu 5
+If focus is
+.ZN PointerRoot ,
+the focus window is dynamically taken to be the root window of whatever screen
+the pointer is on at each keyboard event.
+In this case, the revert_to argument is ignored.
+.LP
+The specified focus window must be viewable at the time
+.ZN XSetInputFocus
+is called,
+or a
+.ZN BadMatch
+error results.
+If the focus window later becomes not viewable,
+the X server
+evaluates the revert_to argument to determine the new focus window as follows:
+.IP \(bu 5
+If revert_to is
+.ZN RevertToParent ,
+the focus reverts to the parent (or the closest viewable ancestor),
+and the new revert_to value is taken to be
+.ZN RevertToNone .
+.IP \(bu 5
+If revert_to is
+.ZN RevertToPointerRoot
+or
+.ZN RevertToNone ,
+the focus reverts to
+.ZN PointerRoot
+or
+.ZN None ,
+respectively.
+When the focus reverts,
+the X server generates
+.ZN FocusIn
+and
+.ZN FocusOut
+events, but the last-focus-change time is not affected.
+.LP
+.ZN XSetInputFocus
+can generate
+.ZN BadMatch ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetInputFocus
+function returns the focus window and the current focus state.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XWarpPointer(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetLineAttributes.man b/libX11/man/XSetLineAttributes.man
new file mode 100644
index 000000000..09be3f58f
--- /dev/null
+++ b/libX11/man/XSetLineAttributes.man
@@ -0,0 +1,268 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeLAttr.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetLineAttributes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetLineAttributes, XSetDashes \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetLineAttributes\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned
+int \fIline_width\fP\^, int \fIline_style\fP\^, int \fIcap_style\fP\^, int
+\fIjoin_style\fP\^);
+.HP
+int XSetDashes\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIdash_offset\fP\^, char \fIdash_list\fP[]\^, int \fIn\fP\^);
+.SH ARGUMENTS
+.IP \fIcap_style\fP 1i
+Specifies the line-style and cap-style you want to set for the specified GC.
+You can pass
+.ZN CapNotLast ,
+.ZN CapButt ,
+.ZN CapRound ,
+or
+.ZN CapProjecting .
+.IP \fIdash_list\fP 1i
+Specifies the dash-list for the dashed line-style
+you want to set for the specified GC.
+.IP \fIdash_offset\fP 1i
+Specifies the phase of the pattern for the dashed line-style you want to set
+for the specified GC.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIjoin_style\fP 1i
+Specifies the line join-style you want to set for the specified GC.
+You can pass
+.ZN JoinMiter ,
+.ZN JoinRound ,
+or
+.ZN JoinBevel .
+.IP \fIline_style\fP 1i
+Specifies the line-style you want to set for the specified GC.
+You can pass
+.ZN LineSolid ,
+.ZN LineOnOffDash ,
+or
+.ZN LineDoubleDash .
+.IP \fIline_width\fP 1i
+Specifies the line-width you want to set for the specified GC.
+.IP \fIn\fP 1i
+Specifies the number of elements in dash_list.
+.SH DESCRIPTION
+The
+.ZN XSetLineAttributes
+function sets the line drawing components in the specified GC.
+.LP
+.ZN XSetLineAttributes
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetDashes
+function sets the dash-offset and dash-list attributes for dashed line styles
+in the specified GC.
+There must be at least one element in the specified dash_list,
+or a
+.ZN BadValue
+error results.
+The initial and alternating elements (second, fourth, and so on)
+of the dash_list are the even dashes, and
+the others are the odd dashes.
+Each element specifies a dash length in pixels.
+All of the elements must be nonzero,
+or a
+.ZN BadValue
+error results.
+Specifying an odd-length list is equivalent to specifying the same list
+concatenated with itself to produce an even-length list.
+.LP
+The dash-offset defines the phase of the pattern,
+specifying how many pixels into the dash-list the pattern
+should actually begin in any single graphics request.
+Dashing is continuous through path elements combined with a join-style
+but is reset to the dash-offset between each sequence of joined lines.
+.LP
+The unit of measure for dashes is the same for the ordinary coordinate system.
+Ideally, a dash length is measured along the slope of the line, but implementations
+are only required to match this ideal for horizontal and vertical lines.
+Failing the ideal semantics, it is suggested that the length be measured along the
+major axis of the line.
+The major axis is defined as the x axis for lines drawn at an angle of between
+\-45 and +45 degrees or between 135 and 225 degrees from the x axis.
+For all other lines, the major axis is the y axis.
+.LP
+.ZN XSetDashes
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetState(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetPointerMapping.man b/libX11/man/XSetPointerMapping.man
new file mode 100644
index 000000000..7b0845a16
--- /dev/null
+++ b/libX11/man/XSetPointerMapping.man
@@ -0,0 +1,218 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSePMap.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetPointerMapping __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetPointerMapping, XGetPointerMapping \- manipulate pointer settings
+.SH SYNTAX
+.HP
+int XSetPointerMapping\^(\^Display *\fIdisplay\fP\^, unsigned char
+\fImap\fP\^[]\^, int \fInmap\fP\^);
+.HP
+int XGetPointerMapping\^(\^Display *\fIdisplay\fP\^, unsigned char
+\fImap_return\fP\^[]\^, int \fInmap\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fImap\fP 1i
+Specifies the mapping list.
+.IP \fImap_return\fP 1i
+Returns the mapping list.
+.IP \fInmap\fP 1i
+Specifies the number of items in the mapping list.
+.SH DESCRIPTION
+The
+.ZN XSetPointerMapping
+function sets the mapping of the pointer.
+If it succeeds, the X server generates a
+.ZN MappingNotify
+event, and
+.ZN XSetPointerMapping
+returns
+.ZN MappingSuccess .
+Element map[i] defines the logical button number for the physical button
+i+1.
+The length of the list must be the same as
+.ZN XGetPointerMapping
+would return,
+or a
+.ZN BadValue
+error results.
+A zero element disables a button, and elements are not restricted in
+value by the number of physical buttons.
+However, no two elements can have the same nonzero value,
+or a
+.ZN BadValue
+error results.
+If any of the buttons to be altered are logically in the down state,
+.ZN XSetPointerMapping
+returns
+.ZN MappingBusy ,
+and the mapping is not changed.
+.LP
+.ZN XSetPointerMapping
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XGetPointerMapping
+function returns the current mapping of the pointer.
+Pointer buttons are numbered starting from one.
+.ZN XGetPointerMapping
+returns the number of physical buttons actually on the pointer.
+The nominal mapping for a pointer is map[i]=i+1.
+The nmap argument specifies the length of the array where the pointer
+mapping is returned, and only the first nmap elements are returned
+in map_return.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XChangeKeyboardControl(3X11),
+XChangeKeyboardMapping(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetScreenSaver.man b/libX11/man/XSetScreenSaver.man
new file mode 100644
index 000000000..4a42bcfd1
--- /dev/null
+++ b/libX11/man/XSetScreenSaver.man
@@ -0,0 +1,291 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeScSav.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetScreenSaver __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetScreenSaver, XForceScreenSaver, XActivateScreenSaver, XResetScreenSaver, XGetScreenSaver \- manipulate the screen saver
+.SH SYNTAX
+.HP
+int XSetScreenSaver\^(\^Display *\fIdisplay\fP\^, int \fItimeout\fP\^,
+int \fIinterval\fP\^, int \fIprefer_blanking\fP\^, int
+\fIallow_exposures\fP\^);
+.HP
+int XForceScreenSaver\^(\^Display *\fIdisplay\fP\^, int \fImode\fP\^);
+.HP
+int XActivateScreenSaver\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XResetScreenSaver\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XGetScreenSaver\^(\^Display *\fIdisplay\fP\^, int *\fItimeout_return\fP\^,
+int *\fIinterval_return\fP\^, int *\fIprefer_blanking_return\fP\^, int
+*\fIallow_exposures_return\fP\^);
+.SH ARGUMENTS
+.IP \fIallow_exposures\fP 1i
+Specifies the screen save control values.
+You can pass
+.ZN DontAllowExposures ,
+.ZN AllowExposures ,
+or
+.ZN DefaultExposures .
+.IP \fIallow_exposures_return\fP 1i
+Returns the current screen save control value
+.Pn ( DontAllowExposures ,
+.ZN AllowExposures ,
+or
+.ZN DefaultExposures ).
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIinterval\fP 1i
+Specifies the interval, in seconds, between screen saver alterations.
+.IP \fIinterval_return\fP 1i
+Returns the interval between screen saver invocations.
+.IP \fImode\fP 1i
+Specifies the mode that is to be applied.
+You can pass
+.ZN ScreenSaverActive
+or
+.ZN ScreenSaverReset .
+.IP \fIprefer_blanking\fP 1i
+Specifies how to enable screen blanking.
+You can pass
+.ZN DontPreferBlanking ,
+.ZN PreferBlanking ,
+or
+.ZN DefaultBlanking .
+.IP \fIprefer_blanking_return\fP 1i
+Returns the current screen blanking preference
+.Pn ( DontPreferBlanking ,
+.ZN PreferBlanking ,
+or
+.ZN DefaultBlanking ).
+.IP \fItimeout\fP 1i
+Specifies the timeout, in seconds, until the screen saver turns on.
+.IP \fItimeout_return\fP 1i
+Returns the timeout, in seconds, until the screen saver turns on.
+.SH DESCRIPTION
+Timeout and interval are specified in seconds.
+A timeout of 0 disables the screen saver
+(but an activated screen saver is not deactivated),
+and a timeout of \-1 restores the default.
+Other negative values generate a
+.ZN BadValue
+error.
+If the timeout value is nonzero,
+.ZN XSetScreenSaver
+enables the screen saver.
+An interval of 0 disables the random-pattern motion.
+Both values are limited to a 16-bit signed integer range by the wire protocol,
+despite the C prototype.
+If no input from devices (keyboard, mouse, and so on) is generated
+for the specified number of timeout seconds once the screen saver is enabled,
+the screen saver is activated.
+.LP
+For each screen,
+if blanking is preferred and the hardware supports video blanking,
+the screen simply goes blank.
+Otherwise, if either exposures are allowed or the screen can be regenerated
+without sending
+.ZN Expose
+events to clients,
+the screen is tiled with the root window background tile randomly
+re-origined each interval seconds.
+Otherwise, the screens' state do not change,
+and the screen saver is not activated.
+The screen saver is deactivated,
+and all screen states are restored at the next
+keyboard or pointer input or at the next call to
+.ZN XForceScreenSaver
+with mode
+.ZN ScreenSaverReset .
+.LP
+If the server-dependent screen saver method supports periodic change,
+the interval argument serves as a hint about how long the change period
+should be, and zero hints that no periodic change should be made.
+Examples of ways to change the screen include scrambling the colormap
+periodically, moving an icon image around the screen periodically, or tiling
+the screen with the root window background tile, randomly re-origined
+periodically.
+.LP
+.ZN XSetScreenSaver
+can generate a
+.ZN BadValue
+error.
+.LP
+If the specified mode is
+.ZN ScreenSaverActive
+and the screen saver currently is deactivated,
+.ZN XForceScreenSaver
+activates the screen saver even if the screen saver had been disabled
+with a timeout of zero.
+If the specified mode is
+.ZN ScreenSaverReset
+and the screen saver currently is enabled,
+.ZN XForceScreenSaver
+deactivates the screen saver if it was activated,
+and the activation timer is reset to its initial state
+(as if device input had been received).
+.LP
+.ZN XForceScreenSaver
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XActivateScreenSaver
+function activates the screen saver.
+.LP
+The
+.ZN XResetScreenSaver
+function resets the screen saver.
+.LP
+The
+.ZN XGetScreenSaver
+function gets the current screen saver values.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSetSelectionOwner.man b/libX11/man/XSetSelectionOwner.man
new file mode 100644
index 000000000..64ad9761c
--- /dev/null
+++ b/libX11/man/XSetSelectionOwner.man
@@ -0,0 +1,279 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeSelOwn.man,v 1.2 2001/01/27 18:20:04 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetSelectionOwner __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetSelectionOwner, XGetSelectionOwner, XConvertSelection \- manipulate window selection
+.SH SYNTAX
+.HP
+int XSetSelectionOwner\^(\^Display *\fIdisplay\fP\^, Atom \fIselection\fP\^,
+Window \fIowner\fP\^, Time \fItime\fP\^);
+.HP
+Window XGetSelectionOwner\^(\^Display *\fIdisplay\fP\^, Atom
+\fIselection\fP\^);
+.HP
+int XConvertSelection\^(\^Display *\fIdisplay\fP\^, Atom \fIselection\fP\^,
+Atom \fItarget\fP\^, Atom \fIproperty\fP\^, Window \fIrequestor\fP\^, Time
+\fItime\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIowner\fP 1i
+Specifies the owner of the specified selection atom.
+You can pass a window or
+.ZN None .
+.IP \fIproperty\fP 1i
+Specifies the property name.
+You also can pass
+.ZN None .
+.IP \fIrequestor\fP 1i
+Specifies the requestor.
+.IP \fIselection\fP 1i
+Specifies the selection atom.
+.IP \fItarget\fP 1i
+Specifies the target atom.
+.IP \fItime\fP 1i
+Specifies the time.
+You can pass either a timestamp or
+.ZN CurrentTime .
+.SH DESCRIPTION
+The
+.ZN XSetSelectionOwner
+function changes the owner and last-change time for the specified selection
+and has no effect if the specified time is earlier than the current
+last-change time of the specified selection
+or is later than the current X server time.
+Otherwise, the last-change time is set to the specified time,
+with
+.ZN CurrentTime
+replaced by the current server time.
+If the owner window is specified as
+.ZN None ,
+then the owner of the selection becomes
+.ZN None
+(that is, no owner).
+Otherwise, the owner of the selection becomes the client executing
+the request.
+.LP
+If the new owner (whether a client or
+.ZN None )
+is not
+the same as the current owner of the selection and the current
+owner is not
+.ZN None ,
+the current owner is sent a
+.ZN SelectionClear
+event.
+If the client that is the owner of a selection is later
+terminated (that is, its connection is closed)
+or if the owner window it has specified in the request is later
+destroyed,
+the owner of the selection automatically
+reverts to
+.ZN None ,
+but the last-change time is not affected.
+The selection atom is uninterpreted by the X server.
+.ZN XGetSelectionOwner
+returns the owner window, which is reported in
+.ZN SelectionRequest
+and
+.ZN SelectionClear
+events.
+Selections are global to the X server.
+.LP
+.ZN XSetSelectionOwner
+can generate
+.ZN BadAtom
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetSelectionOwner
+function
+returns the window ID associated with the window that currently owns the
+specified selection.
+If no selection was specified, the function returns the constant
+.ZN None .
+If
+.ZN None
+is returned,
+there is no owner for the selection.
+.LP
+.ZN XGetSelectionOwner
+can generate a
+.ZN BadAtom
+error.
+.LP
+.ZN XConvertSelection
+requests that the specified selection be converted to the specified target
+type:
+.IP \(bu 5
+If the specified selection has an owner, the X server sends a
+.ZN SelectionRequest
+event to that owner.
+.IP \(bu 5
+If no owner for the specified
+selection exists, the X server generates a
+.ZN SelectionNotify
+event to the
+requestor with property
+.ZN None .
+.LP
+The arguments are passed on unchanged in either of the events.
+There are two predefined selection atoms: PRIMARY and SECONDARY.
+.LP
+.ZN XConvertSelection
+can generate
+.ZN BadAtom
+and
+.ZN BadWindow
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSetState.man b/libX11/man/XSetState.man
new file mode 100644
index 000000000..aa0143d1f
--- /dev/null
+++ b/libX11/man/XSetState.man
@@ -0,0 +1,257 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeState.man,v 1.3 2001/12/17 03:04:40 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetState __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetState, XSetFunction, XSetPlaneMask, XSetForeground, XSetBackground \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetState\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
+\fIforeground\fP\^, unsigned int \fIbackground\fP\^, int \fIfunction\fP\^,
+unsigned long \fIplane_mask\fP\^);
+.HP
+int XSetFunction\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIfunction\fP\^);
+.HP
+int XSetPlaneMask\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
+\fIplane_mask\fP\^);
+.HP
+int XSetForeground\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
+\fIforeground\fP\^);
+.HP
+int XSetBackground\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, unsigned long
+\fIbackground\fP\^);
+.SH ARGUMENTS
+.IP \fIbackground\fP 1i
+Specifies the background you want to set for the specified GC.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIforeground\fP 1i
+Specifies the foreground you want to set for the specified GC.
+.IP \fIfunction\fP 1i
+Specifies the function you want to set for the specified GC.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIplane_mask\fP 1i
+Specifies the plane mask.
+.\" *** JIM: NEED MORE INFO FOR THIS. ***
+.SH DESCRIPTION
+The
+.ZN XSetState
+function sets the foreground, background, plane mask, and function components
+for the specified GC.
+.LP
+.ZN XSetState
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.LP
+.ZN XSetFunction
+sets a specified value in the specified GC.
+.LP
+.ZN XSetFunction
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetPlaneMask
+function sets the plane mask in the specified GC.
+.LP
+.ZN XSetPlaneMask
+can generate
+.ZN BadAlloc
+and
+.ZN BadGC
+errors.
+.LP
+The
+.ZN XSetForeground
+function sets the foreground in the specified GC.
+.LP
+.ZN XSetForeground
+can generate
+.ZN BadAlloc
+and
+.ZN BadGC
+errors.
+.LP
+The
+.ZN XSetBackground
+function sets the background in the specified GC.
+.LP
+.ZN XSetBackground
+can generate
+.ZN BadAlloc
+and
+.ZN BadGC
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetTile(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetTextProperty.man b/libX11/man/XSetTextProperty.man
new file mode 100644
index 000000000..b7ae9ea52
--- /dev/null
+++ b/libX11/man/XSetTextProperty.man
@@ -0,0 +1,268 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeTProp.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetTextProperty __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetTextProperty, XGetTextProperty \- set and read text properties
+.SH SYNTAX
+.HP
+void XSetTextProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop\fP\^, Atom \fIproperty\fP\^);
+.HP
+Status XGetTextProperty\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop_return\fP\^, Atom \fIproperty\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIproperty\fP 1i
+Specifies the property name.
+.IP \fItext_prop\fP 1i
+Specifies the
+.ZN XTextProperty
+structure to be used.
+.IP \fItext_prop_return\fP 1i
+Returns the
+.ZN XTextProperty
+structure.
+.SH DESCRIPTION
+The
+.ZN XSetTextProperty
+function replaces the existing specified property for the named window
+with the data, type, format, and number of items determined
+by the value field, the encoding field, the format field,
+and the nitems field, respectively, of the specified
+.ZN XTextProperty
+structure.
+If the property does not already exist,
+.ZN XSetTextProperty
+sets it for the specified window.
+.LP
+.ZN XSetTextProperty
+can generate
+.ZN BadAlloc ,
+.ZN BadAtom ,
+.ZN BadValue ,
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetTextProperty
+function reads the specified property from the window
+and stores the data in the returned
+.ZN XTextProperty
+structure.
+It stores the data in the value field,
+the type of the data in the encoding field,
+the format of the data in the format field,
+and the number of items of data in the nitems field.
+An extra byte containing null (which is not included in the nitems member)
+is stored at the end of the value field of text_prop_return.
+The particular interpretation of the property's encoding
+and data as text is left to the calling application.
+If the specified property does not exist on the window,
+.ZN XGetTextProperty
+sets the value field to NULL,
+the encoding field to
+.ZN None ,
+the format field to zero,
+and the nitems field to zero.
+.LP
+If it was able to read and store the data in the
+.ZN XTextProperty
+structure,
+.ZN XGetTextProperty
+returns a nonzero status;
+otherwise, it returns a zero status.
+.LP
+.ZN XGetTextProperty
+can generate
+.ZN BadAtom
+and
+.ZN BadWindow
+errors.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_CLIENT_MACHINE\s+1
+The string name of the machine on which the client application is running.
+.TP 1i
+\s-1WM_COMMAND\s+1
+The command and arguments, null-separated, used to invoke the
+application.
+.TP 1i
+\s-1WM_ICON_NAME\s+1
+The name to be used in an icon.
+.TP 1i
+\s-1WM_NAME\s+1
+The name of the application.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetTile.man b/libX11/man/XSetTile.man
new file mode 100644
index 000000000..0fa1e041f
--- /dev/null
+++ b/libX11/man/XSetTile.man
@@ -0,0 +1,242 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeTile.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetTile __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetTile, XSetStipple, XSetTSOrigin \- GC convenience routines
+.SH SYNTAX
+.HP
+int XSetTile\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Pixmap
+\fItile\fP\^);
+.HP
+int XSetStipple\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, Pixmap
+\fIstipple\fP\^);
+.HP
+int XSetTSOrigin\^(\^Display *\fIdisplay\fP\^, GC \fIgc\fP\^, int
+\fIts_x_origin\fP\^, int \fIts_y_origin\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIstipple\fP 1i
+Specifies the stipple you want to set for the specified GC.
+.IP \fItile\fP 1i
+Specifies the fill tile you want to set for the specified GC.
+.IP \fIts_x_origin\fP 1i
+.br
+.ns
+.IP \fIts_y_origin\fP 1i
+Specify the x and y coordinates of the tile and stipple origin.
+.SH DESCRIPTION
+The
+.ZN XSetTile
+function sets the fill tile in the specified GC.
+The tile and GC must have the same depth,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XSetTile
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadPixmap
+errors.
+.LP
+The
+.ZN XSetStipple
+function sets the stipple in the specified GC.
+The stipple must have a depth of one,
+or a
+.ZN BadMatch
+error results.
+.LP
+.ZN XSetStipple
+can generate
+.ZN BadAlloc ,
+.ZN BadGC ,
+.ZN BadMatch ,
+and
+.ZN BadPixmap
+errors.
+.LP
+The
+.ZN XSetTSOrigin
+function sets the tile/stipple origin in the specified GC.
+When graphics requests call for tiling or stippling,
+the parent's origin will be interpreted relative to whatever destination
+drawable is specified in the graphics request.
+.LP
+.ZN XSetTSOrigin
+can generate
+.ZN BadAlloc
+and
+.ZN BadGC
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadPixmap
+A value for a Pixmap argument does not name a defined Pixmap.
+.SH "SEE ALSO"
+XCreateGC(3X11),
+XQueryBestSize(3X11),
+XSetArcMode(3X11),
+XSetClipOrigin(3X11),
+XSetFillStyle(3X11),
+XSetFont(3X11),
+XSetLineAttributes(3X11),
+XSetState(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetTransientForHint.man b/libX11/man/XSetTransientForHint.man
new file mode 100644
index 000000000..03c292d28
--- /dev/null
+++ b/libX11/man/XSetTransientForHint.man
@@ -0,0 +1,212 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeTFHint.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetTransientForHint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetTransientForHint, XGetTransientForHint \- set or read a window's WM_TRANSIENT_FOR property
+.SH SYNTAX
+.HP
+int XSetTransientForHint\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Window \fIprop_window\fP\^);
+.HP
+Status XGetTransientForHint\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Window *\fIprop_window_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIprop_window\fP 1i
+Specifies the window that the WM_TRANSIENT_FOR property is to be set to.
+.IP \fIprop_window_return\fP 1i
+Returns the WM_TRANSIENT_FOR property of the specified window.
+.SH DESCRIPTION
+The
+.ZN XSetTransientForHint
+function sets the WM_TRANSIENT_FOR property of the specified window to the
+specified prop_window.
+.LP
+.ZN XSetTransientForHint
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetTransientForHint
+function returns the WM_TRANSIENT_FOR property for the specified window.
+It returns a nonzero status on success;
+otherwise, it returns a zero status.
+.LP
+.ZN XGetTransientForHint
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_TRANSIENT_FOR\s+1
+Set by application programs to indicate to the window manager that a transient
+top-level window, such as a dialog box.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XSetCommand(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetWMClientMachine.man b/libX11/man/XSetWMClientMachine.man
new file mode 100644
index 000000000..504a59403
--- /dev/null
+++ b/libX11/man/XSetWMClientMachine.man
@@ -0,0 +1,199 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeWMCMac.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetWMClientMachine __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetWMClientMachine, XGetWMClientMachine \- set or read a window's WM_CLIENT_MACHINE property
+.SH SYNTAX
+.HP
+void XSetWMClientMachine\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop\fP\^);
+.HP
+Status XGetWMClientMachine\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fItext_prop\fP 1i
+Specifies the
+.ZN XTextProperty
+structure to be used.
+.IP \fItext_prop_return\fP 1i
+Returns the
+.ZN XTextProperty
+structure.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XSetWMClientMachine
+convenience function calls
+.ZN XSetTextProperty
+to set the WM_CLIENT_MACHINE property.
+.LP
+The
+.ZN XGetWMClientMachine
+convenience function performs an
+.ZN XGetTextProperty
+on the WM_CLIENT_MACHINE property.
+It returns a nonzero status on success;
+otherwise, it returns a zero status.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_CLIENT_MACHINE\s+1
+The string name of the machine on which the client application is running.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetWMColormapWindows.man b/libX11/man/XSetWMColormapWindows.man
new file mode 100644
index 000000000..b9eca2e7b
--- /dev/null
+++ b/libX11/man/XSetWMColormapWindows.man
@@ -0,0 +1,239 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeWMCWin.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetWMColormapWindows __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetWMColormapWindows, XGetWMColormapWindows \- set or read a window's WM_COLORMAP_WINDOWS property
+.SH SYNTAX
+.HP
+Status XSetWMColormapWindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Window *\fIcolormap_windows\fP\^, int \fIcount\fP\^);
+.HP
+Status XGetWMColormapWindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+Window **\fIcolormap_windows_return\fP\^, int *\fIcount_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIcolormap_windows\fP 1i
+Specifies the list of windows.
+.IP \fIcolormap_windows_return\fP 1i
+Returns the list of windows.
+.ds Cn windows in the list
+.IP \fIcount\fP 1i
+Specifies the number of \*(Cn.
+.ds Cn windows in the list
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XSetWMColormapWindows
+function replaces the WM_COLORMAP_WINDOWS property on the specified
+window with the list of windows specified by the colormap_windows argument.
+It the property does not already exist,
+.ZN XSetWMColormapWindows
+sets the WM_COLORMAP_WINDOWS property on the specified
+window to the list of windows specified by the colormap_windows argument.
+The property is stored with a type of WINDOW and a format of 32.
+If it cannot intern the WM_COLORMAP_WINDOWS atom,
+.ZN XSetWMColormapWindows
+returns a zero status.
+Otherwise, it returns a nonzero status.
+.LP
+.ZN XSetWMColormapWindows
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetWMColormapWindows
+function returns the list of window identifiers stored
+in the WM_COLORMAP_WINDOWS property on the specified window.
+These identifiers indicate the colormaps that the window manager
+may need to install for this window.
+If the property exists, is of type WINDOW, is of format 32,
+and the atom WM_COLORMAP_WINDOWS can be interned,
+.ZN XGetWMColormapWindows
+sets the windows_return argument to a list of window identifiers,
+sets the count_return argument to the number of elements in the list,
+and returns a nonzero status.
+Otherwise, it sets neither of the return arguments
+and returns a zero status.
+To release the list of window identifiers, use
+.ZN XFree .
+.LP
+.ZN XGetWMColormapWindows
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_COLORMAP_WINDOWS\s+1
+The list of window IDs that may need a different colormap
+from that of their top-level window.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetWMIconName.man b/libX11/man/XSetWMIconName.man
new file mode 100644
index 000000000..b389a9064
--- /dev/null
+++ b/libX11/man/XSetWMIconName.man
@@ -0,0 +1,251 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeWMINam.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetWMIconName __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetWMIconName, XGetWMIconName, XSetIconName, XGetIconName \- set or read a window's WM_ICON_NAME property
+.SH SYNTAX
+.HP
+void XSetWMIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop\fP\^);
+.HP
+Status XGetWMIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.HP
+int XSetIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+*\fIicon_name\fP\^);
+.HP
+Status XGetIconName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+**\fIicon_name_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIicon_name\fP 1i
+Specifies the icon name,
+which should be a null-terminated string.
+.IP \fIicon_name_return\fP 1i
+Returns the window's icon name,
+which is a null-terminated string.
+.IP \fItext_prop\fP 1i
+Specifies the
+.ZN XTextProperty
+structure to be used.
+.IP \fItext_prop_return\fP 1i
+Returns the
+.ZN XTextProperty
+structure.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XSetWMIconName
+convenience function calls
+.ZN XSetTextProperty
+to set the WM_ICON_NAME property.
+.LP
+The
+.ZN XGetWMIconName
+convenience function calls
+.ZN XGetTextProperty
+to obtain the WM_ICON_NAME property.
+It returns a nonzero status on success;
+otherwise, it returns a zero status.
+.LP
+The
+.ZN XSetIconName
+function sets the name to be displayed in a window's icon.
+.LP
+.ZN XSetIconName
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetIconName
+function returns the name to be displayed in the specified window's icon.
+If it succeeds, it returns a nonzero status; otherwise,
+if no icon name has been set for the window,
+it returns zero.
+If you never assigned a name to the window,
+.ZN XGetIconName
+sets icon_name_return to NULL.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned string is in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+When finished with it, a client must free
+the icon name string using
+.ZN XFree .
+.LP
+.ZN XGetIconName
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_ICON_NAME\s+1
+The name to be used in an icon.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetWMName.man b/libX11/man/XSetWMName.man
new file mode 100644
index 000000000..5a040718d
--- /dev/null
+++ b/libX11/man/XSetWMName.man
@@ -0,0 +1,258 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeWMName.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetWMName __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetWMName, XGetWMName, XStoreName, XFetchName \- set or read a window's WM_NAME property
+.SH SYNTAX
+.HP
+void XSetWMName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, XTextProperty
+*\fItext_prop\fP\^);
+.HP
+Status XGetWMName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.HP
+int XStoreName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+*\fIwindow_name\fP\^);
+.HP
+Status XFetchName\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+**\fIwindow_name_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fItext_prop\fP 1i
+Specifies the
+.ZN XTextProperty
+structure to be used.
+.IP \fItext_prop_return\fP 1i
+Returns the
+.ZN XTextProperty
+structure.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIwindow_name\fP 1i
+Specifies the window name,
+which should be a null-terminated string.
+.IP \fIwindow_name_return\fP 1i
+Returns the window name, which is a null-terminated string.
+.SH DESCRIPTION
+The
+.ZN XSetWMName
+convenience function calls
+.ZN XSetTextProperty
+to set the WM_NAME property.
+.LP
+The
+.ZN XGetWMName
+convenience function calls
+.ZN XGetTextProperty
+to obtain the WM_NAME property.
+It returns a nonzero status on success;
+otherwise, it returns a zero status.
+.LP
+The
+.ZN XStoreName
+function assigns the name passed to window_name to the specified window.
+A window manager can display the window name in some prominent
+place, such as the title bar, to allow users to identify windows easily.
+Some window managers may display a window's name in the window's icon,
+although they are encouraged to use the window's icon name
+if one is provided by the application.
+If the string is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+.LP
+.ZN XStoreName
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XFetchName
+function returns the name of the specified window.
+If it succeeds,
+it returns a nonzero status;
+otherwise, no name has been set for the window,
+and it returns zero.
+If the WM_NAME property has not been set for this window,
+.ZN XFetchName
+sets window_name_return to NULL.
+If the data returned by the server is in the Latin Portable Character Encoding,
+then the returned string is in the Host Portable Character Encoding.
+Otherwise, the result is implementation-dependent.
+When finished with it, a client must free
+the window name string using
+.ZN XFree .
+.LP
+.ZN XFetchName
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_NAME\s+1
+The name of the application.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetWMProperties.man b/libX11/man/XSetWMProperties.man
new file mode 100644
index 000000000..7c4ce585f
--- /dev/null
+++ b/libX11/man/XSetWMProperties.man
@@ -0,0 +1,391 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeWMProp.man,v 1.4 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetWMProperties __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetWMProperties, XmbSetWMProperties, Xutf8SetWMProperties \- set standard window properties
+.SH SYNTAX
+.HP
+void XSetWMProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^,
+XTextProperty *\fIwindow_name\fP\^, XTextProperty *\fIicon_name\fP\^, char
+**\fIargv\fP\^, int \fIargc\fP\^, XSizeHints *\fInormal_hints\fP\^, XWMHints
+*\fIwm_hints\fP\^, XClassHint *\fIclass_hints\fP\^);
+.HP
+void XmbSetWMProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+*\fIwindow_name\fP\^, char *\fIicon_name\fP\^, char *\fIargv\fP\^[], int
+\fIargc\fP\^, XSizeHints *\fInormal_hints\fP\^, XWMHints *\fIwm_hints\fP\^,
+XClassHint *\fIclass_hints\fP\^);
+.HP
+void Xutf8SetWMProperties\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, char
+*\fIwindow_name\fP\^, char *\fIicon_name\fP\^, char *\fIargv\fP\^[], int
+\fIargc\fP\^, XSizeHints *\fInormal_hints\fP\^, XWMHints *\fIwm_hints\fP\^,
+XClassHint *\fIclass_hints\fP\^);
+.SH ARGUMENTS
+.IP \fIargc\fP 1i
+Specifies the number of arguments.
+.IP \fIargv\fP 1i
+Specifies the application's argument list.
+.IP \fIclass_hints\fP 1i
+Specifies the
+.ZN XClassHint
+structure to be used.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIicon_name\fP 1i
+Specifies the icon name,
+which should be a null-terminated string.
+.IP \fInormal_hints\fP 1i
+Specifies the size hints for the window in its normal state.
+.IP \fIw\fP 1i
+Specifies the window.
+.IP \fIwindow_name\fP 1i
+Specifies the window name,
+which should be a null-terminated string.
+.IP \fIwm_hints\fP 1i
+Specifies the
+.ZN XWMHints
+structure to be used.
+.SH DESCRIPTION
+The
+.ZN XSetWMProperties
+convenience function provides a single programming interface
+for setting those essential window properties that are used
+for communicating with other clients (particularly window and session
+managers).
+.LP
+If the window_name argument is non-NULL,
+.ZN XSetWMProperties
+calls
+.ZN XSetWMName ,
+which in turn, sets the WM_NAME property (see section 14.1.4).
+If the icon_name argument is non-NULL,
+.ZN XSetWMProperties
+calls
+.ZN XSetWMIconName ,
+which sets the WM_ICON_NAME property (see section 14.1.5).
+If the argv argument is non-NULL,
+.ZN XSetWMProperties
+calls
+.ZN XSetCommand ,
+which sets the WM_COMMAND property (see section 14.2.1).
+Note that an argc of zero is allowed to indicate a zero-length command.
+Note also that the hostname of this machine is stored using
+.ZN XSetWMClientMachine
+(see section 14.2.2).
+.LP
+If the normal_hints argument is non-NULL,
+.ZN XSetWMProperties
+calls
+.ZN XSetWMNormalHints ,
+which sets the WM_NORMAL_HINTS property (see section 14.1.7).
+If the wm_hints argument is non-NULL,
+.ZN XSetWMProperties
+calls
+.ZN XSetWMHints ,
+which sets the WM_HINTS property (see section 14.1.6).
+.LP
+If the class_hints argument is non-NULL,
+.ZN XSetWMProperties
+calls
+.ZN XSetClassHint ,
+which sets the WM_CLASS property (see section 14.1.8).
+If the res_name member in the
+.ZN XClassHint
+structure is set to the NULL pointer and the RESOURCE_NAME environment
+variable is set,
+then the value of the environment variable is substituted for res_name.
+If the res_name member is NULL,
+the environment variable is not set,
+and argv and argv[0] are set,
+then the value of argv[0], stripped of
+any directory prefixes, is substituted for res_name.
+.LP
+The
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+convenience functions provide a simple programming interface
+for setting those essential window properties that are used
+for communicating with other clients
+(particularly window and session managers).
+.LP
+If the window_name argument is non-NULL,
+they set the WM_NAME property.
+If the icon_name argument is non-NULL,
+they set the WM_ICON_NAME property.
+The window_name and icon_name arguments are null-terminated strings, for
+.ZN XmbSetWMProperties
+in the encoding of the current locale, for
+.ZN Xutf8SetWMProperties
+in UTF-8 encoding.
+If the arguments can be fully converted to the STRING encoding,
+the properties are created with type ``STRING'';
+otherwise, the arguments are converted to Compound Text,
+and the properties are created with type ``COMPOUND_TEXT''.
+.LP
+If the normal_hints argument is non-NULL,
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+call
+.ZN XSetWMNormalHints ,
+which sets the WM_NORMAL_HINTS property (see section 14.1.7).
+If the wm_hints argument is non-NULL,
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+call
+.ZN XSetWMHints ,
+which sets the WM_HINTS property (see section 14.1.6).
+.LP
+If the argv argument is non-NULL,
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+set the WM_COMMAND property from argv and argc.
+An argc of zero indicates a zero-length command.
+.LP
+The hostname of the machine is stored using
+.ZN XSetWMClientMachine
+(see section 14.2.2).
+.LP
+If the class_hints argument is non-NULL,
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+set the WM_CLASS property.
+If the res_name member in the
+.ZN XClassHint
+structure is set to the NULL pointer and the RESOURCE_NAME
+environment variable is set,
+the value of the environment variable is substituted for res_name.
+If the res_name member is NULL,
+the environment variable is not set, and argv and argv[0] are set,
+then the value of argv[0], stripped of any directory prefixes,
+is substituted for res_name.
+.LP
+It is assumed that the supplied class_hints.res_name and argv,
+the RESOURCE_NAME environment variable, and the hostname of the machine
+are in the encoding of the current locale.
+The corresponding WM_CLASS, WM_COMMAND, and WM_CLIENT_MACHINE properties
+are typed according to the local host locale announcer.
+No encoding conversion is performed for these strings prior to storage
+in the properties.
+.LP
+For clients that need to process the property text in a locale,
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+set the WM_LOCALE_NAME property to be the name of the current locale.
+The name is assumed to be in the Host Portable Character Encoding
+and is converted to STRING for storage in the property.
+.LP
+.ZN XSetWMProperties ,
+.ZN XmbSetWMProperties
+and
+.ZN Xutf8SetWMProperties
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The function
+.ZN Xutf8SetWMProperties
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH PROPERTIES
+.TP 1i
+\s-1WM_CLASS\s+1
+Set by application programs to allow window and session
+managers to obtain the application's resources from the resource database.
+.TP 1i
+\s-1WM_CLIENT_MACHINE\s+1
+The string name of the machine on which the client application is running.
+.TP 1i
+\s-1WM_COMMAND\s+1
+The command and arguments, null-separated, used to invoke the
+application.
+.TP 1i
+\s-1WM_HINTS\s+1
+Additional hints set by the client for use by the window manager.
+The C type of this property is
+.ZN XWMHints .
+.TP 1i
+\s-1WM_ICON_NAME\s+1
+The name to be used in an icon.
+.TP 1i
+\s-1WM_NAME\s+1
+The name of the application.
+.TP 1i
+\s-1WM_NORMAL_HINTS\s+1
+Size hints for a window in its normal state.
+The C type of this property is
+.ZN XSizeHints .
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XParseGeometry(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProtocols(3X11),
+XStringListToTextProperty(3X11),
+XTextListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSetWMProtocols.man b/libX11/man/XSetWMProtocols.man
new file mode 100644
index 000000000..d75f40814
--- /dev/null
+++ b/libX11/man/XSetWMProtocols.man
@@ -0,0 +1,237 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSeWMProt.man,v 1.4 2003/04/28 22:17:57 herrb Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSetWMProtocols __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSetWMProtocols, XGetWMProtocols \- set or read a window's WM_PROTOCOLS property
+.SH SYNTAX
+.HP
+Status XSetWMProtocols\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
+*\fIprotocols\fP\^, int \fIcount\fP\^);
+.HP
+Status XGetWMProtocols\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^, Atom
+**\fIprotocols_return\fP\^, int *\fIcount_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Cn protocols in the list
+.IP \fIcount\fP 1i
+Specifies the number of \*(Cn.
+.ds Cn protocols in the list
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIprotocols\fP 1i
+Specifies the list of protocols.
+.IP \fIprotocols_return\fP 1i
+Returns the list of protocols.
+.SH DESCRIPTION
+The
+.ZN XSetWMProtocols
+function replaces the WM_PROTOCOLS property on the specified window
+with the list of atoms specified by the protocols argument.
+If the property does not already exist,
+.ZN XSetWMProtocols
+sets the WM_PROTOCOLS property on the specified window
+to the list of atoms specified by the protocols argument.
+The property is stored with a type of ATOM and a format of 32.
+If it cannot intern the WM_PROTOCOLS atom,
+.ZN XSetWMProtocols
+returns a zero status.
+Otherwise, it returns a nonzero status.
+.LP
+.ZN XSetWMProtocols
+can generate
+.ZN BadAlloc
+and
+.ZN BadWindow
+errors.
+.LP
+The
+.ZN XGetWMProtocols
+function returns the list of atoms stored in the WM_PROTOCOLS property
+on the specified window.
+These atoms describe window manager protocols in which the owner
+of this window is willing to participate.
+If the property exists, is of type ATOM, is of format 32,
+and the atom WM_PROTOCOLS can be interned,
+.ZN XGetWMProtocols
+sets the protocols_return argument to a list of atoms,
+sets the count_return argument to the number of elements in the list,
+and returns a nonzero status.
+Otherwise, it sets neither of the return arguments
+and returns a zero status.
+To release the list of atoms, use
+.ZN XFree .
+.LP
+.ZN XGetWMProtocols
+can generate a
+.ZN BadWindow
+error.
+.SH PROPERTIES
+.TP 1i
+\s-1WM_PROTOCOLS\s+1
+List of atoms that identify the communications protocols between the
+client and window manager in which the client is willing to participate.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XStoreBytes.man b/libX11/man/XStoreBytes.man
new file mode 100644
index 000000000..dda24e028
--- /dev/null
+++ b/libX11/man/XStoreBytes.man
@@ -0,0 +1,254 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XStBytes.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XStoreBytes __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XStoreBytes, XStoreBuffer, XFetchBytes, XFetchBuffer, XRotateBuffers \- manipulate cut and paste buffers
+.SH SYNTAX
+.HP
+int XStoreBytes\^(\^Display *\fIdisplay\fP\^, char *\fIbytes\fP\^, int
+\^\fInbytes\fP\^);
+.HP
+int XStoreBuffer\^(\^Display *\fIdisplay\fP\^, char *\fIbytes\fP\^, int
+\^\fInbytes\fP\^, int \fIbuffer\fP\^);
+.HP
+char *XFetchBytes\^(\^Display *\fIdisplay\fP\^, int *\fInbytes_return\fP\^);
+.HP
+char *XFetchBuffer\^(\^Display *\fIdisplay\fP\^, int *\fInbytes_return\fP\^,
+int \fIbuffer\fP\^);
+.HP
+int XRotateBuffers\^(\^Display *\fIdisplay\fP\^, int \fIrotate\fP\^);
+.SH ARGUMENTS
+.ds Fn in which you want to store the bytes \
+or from which you want the stored data returned
+.IP \fIbuffer\fP 1i
+Specifies the buffer \*(Fn.
+.IP \fIbytes\fP 1i
+Specifies the bytes, which are not necessarily ASCII or null-terminated.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fInbytes\fP 1i
+Specifies the number of bytes to be stored.
+.IP \fInbytes_return\fP 1i
+Returns the number of bytes in the buffer.
+.IP \fIrotate\fP 1i
+Specifies how much to rotate the cut buffers.
+.SH DESCRIPTION
+The data can have embedded null characters
+and need not be null-terminated.
+The cut buffer's contents can be retrieved later by
+any client calling
+.ZN XFetchBytes .
+.LP
+.ZN XStoreBytes
+can generate a
+.ZN BadAlloc
+error.
+.LP
+If an invalid buffer is specified, the call has no effect.
+The data can have embedded null characters
+and need not be null-terminated.
+.LP
+.ZN XStoreBuffer
+can generate a
+.ZN BadAlloc
+error.
+.LP
+The
+.ZN XFetchBytes
+function
+returns the number of bytes in the nbytes_return argument,
+if the buffer contains data.
+Otherwise, the function
+returns NULL and sets nbytes to 0.
+The appropriate amount of storage is allocated and the pointer returned.
+The client must free this storage when finished with it by calling
+.ZN XFree .
+.LP
+The
+.ZN XFetchBuffer
+function returns zero to the nbytes_return argument
+if there is no data in the buffer or if an invalid
+buffer is specified.
+.LP
+.ZN XFetchBuffer
+can generate a
+.ZN BadValue
+error.
+.LP
+The
+.ZN XRotateBuffers
+function rotates the cut
+buffers, such that buffer 0 becomes buffer n,
+buffer 1 becomes n + 1 mod 8, and so on.
+This cut buffer numbering is global to the display.
+Note that
+.ZN XRotateBuffers
+generates
+.ZN BadMatch
+errors if any of the eight buffers have not been created.
+.LP
+.ZN XRotateBuffers
+can generate a
+.ZN BadMatch
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAlloc
+The server failed to allocate the requested resource or server memory.
+.TP 1i
+.ZN BadAtom
+A value for an Atom argument does not name a defined Atom.
+.TP 1i
+.ZN BadMatch
+Some argument or pair of arguments has the correct type and range but fails
+to match in some other way required by the request.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XFree(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XStoreColors.man b/libX11/man/XStoreColors.man
new file mode 100644
index 000000000..6b516adac
--- /dev/null
+++ b/libX11/man/XStoreColors.man
@@ -0,0 +1,305 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XStColors.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XStoreColors __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XStoreColors, XStoreColor, XStoreNamedColor \- set colors
+.SH SYNTAX
+.HP
+int XStoreColors\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+XColor \fIcolor\fP\^[\^]\^, int \fIncolors\fP\^);
+.HP
+int XStoreColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+XColor *\fIcolor\fP\^);
+.HP
+int XStoreNamedColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+char *\^\fIcolor\fP\^, unsigned long \fIpixel\fP\^, int \fIflags\fP\^);
+.SH ARGUMENTS
+.ds Co pixel and RGB values or the color name string (for example, red)
+.IP \fIcolor\fP 1i
+Specifies the \*(Co.
+.IP \fIcolor\fP 1i
+Specifies an array of color definition structures to be stored.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIflags\fP 1i
+Specifies which red, green, and blue components are set.
+.IP \fIncolors\fP 1i
+.\"Specifies the number of color definition structures.
+Specifies the number of
+.ZN XColor
+structures in the color definition array.
+.IP \fIpixel\fP 1i
+Specifies the entry in the colormap.
+.SH DESCRIPTION
+The
+.ZN XStoreColors
+function changes the colormap entries of the pixel values
+specified in the pixel members of the
+.ZN XColor
+structures.
+You specify which color components are to be changed by setting
+.ZN DoRed ,
+.ZN DoGreen ,
+and/or
+.ZN DoBlue
+in the flags member of the
+.ZN XColor
+structures.
+If the colormap is an installed map for its screen, the
+changes are visible immediately.
+.ZN XStoreColors
+changes the specified pixels if they are allocated writable in the colormap
+by any client, even if one or more pixels generates an error.
+If a specified pixel is not a valid index into the colormap, a
+.ZN BadValue
+error results.
+If a specified pixel either is unallocated or is allocated read-only, a
+.ZN BadAccess
+error results.
+If more than one pixel is in error,
+the one that gets reported is arbitrary.
+.LP
+.ZN XStoreColors
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XStoreColor
+function changes the colormap entry of the pixel value specified in the
+pixel member of the
+.ZN XColor
+structure.
+You specified this value in the
+pixel member of the
+.ZN XColor
+structure.
+This pixel value must be a read/write cell and a valid index into the colormap.
+If a specified pixel is not a valid index into the colormap,
+a
+.ZN BadValue
+error results.
+.ZN XStoreColor
+also changes the red, green, and/or blue color components.
+You specify which color components are to be changed by setting
+.ZN DoRed ,
+.ZN DoGreen ,
+and/or
+.ZN DoBlue
+in the flags member of the
+.ZN XColor
+structure.
+If the colormap is an installed map for its screen,
+the changes are visible immediately.
+.LP
+.ZN XStoreColor
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XStoreNamedColor
+function looks up the named color with respect to the screen associated with
+the colormap and stores the result in the specified colormap.
+The pixel argument determines the entry in the colormap.
+The flags argument determines which of the red, green, and blue components
+are set.
+You can set this member to the
+bitwise inclusive OR of the bits
+.ZN DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue .
+If the color name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+If the specified pixel is not a valid index into the colormap, a
+.ZN BadValue
+error results.
+If the specified pixel either is unallocated or is allocated read-only, a
+.ZN BadAccess
+error results.
+.LP
+.ZN XStoreNamedColor
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+.ZN BadName ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to free a color map entry that it did not already allocate.
+.TP 1i
+.ZN BadAccess
+A client attempted
+to store into a read-only color map entry.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadName
+A font or color of the specified name does not exist.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XAllocColor(3X11),
+XCreateColormap(3X11),
+XQueryColor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XStringListToTextProperty.man b/libX11/man/XStringListToTextProperty.man
new file mode 100644
index 000000000..abba41945
--- /dev/null
+++ b/libX11/man/XStringListToTextProperty.man
@@ -0,0 +1,255 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSLTTProp.man,v 1.5 2003/04/28 22:17:56 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XStringListToTextProperty.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XStringListToTextProperty __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XStringListToTextProperty, XTextPropertyToStringList, XFreeStringList, XTextProperty \- convert string lists and text property structure
+.SH SYNTAX
+.HP
+Status XStringListToTextProperty\^(\^char **\fIlist\fP\^, int \fIcount\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.HP
+Status XTextPropertyToStringList\^(\^XTextProperty *\fItext_prop\fP\^, char
+***\fIlist_return\fP\^, int *\fIcount_return\fP\^);
+.HP
+void XFreeStringList\^(\^char **\fIlist\fP\^);
+.SH ARGUMENTS
+.ds Cn strings
+.IP \fIcount\fP 1i
+Specifies the number of \*(Cn.
+.ds Cn strings
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIlist\fP 1i
+Specifies the list of strings to be freed.
+.IP \fIlist\fP 1i
+Specifies a list of null-terminated character strings.
+.IP \fIlist_return\fP 1i
+Returns a list of null-terminated character strings.
+.IP \fItext_prop\fP 1i
+Specifies the
+.ZN XTextProperty
+structure to be used.
+.IP \fItext_prop_return\fP 1i
+Returns the
+.ZN XTextProperty
+structure.
+.SH DESCRIPTION
+The
+.ZN XStringListToTextProperty
+function sets the specified
+.ZN XTextProperty
+to be of type STRING (format 8) with a value representing the
+concatenation of the specified list of null-separated character strings.
+An extra null byte (which is not included in the nitems member)
+is stored at the end of the value field of text_prop_return.
+The strings are assumed (without verification) to be in the STRING encoding.
+If insufficient memory is available for the new value string,
+.ZN XStringListToTextProperty
+does not set any fields in the
+.ZN XTextProperty
+structure and returns a zero status.
+Otherwise, it returns a nonzero status.
+To free the storage for the value field, use
+.ZN XFree .
+.LP
+The
+.ZN XTextPropertyToStringList
+function returns a list of strings representing the null-separated elements
+of the specified
+.ZN XTextProperty
+structure.
+The data in text_prop must be of type STRING and format 8.
+Multiple elements of the property
+(for example, the strings in a disjoint text selection)
+are separated by NULL (encoding 0).
+The contents of the property are not null-terminated.
+If insufficient memory is available for the list and its elements,
+.ZN XTextPropertyToStringList
+sets no return values and returns a zero status.
+Otherwise, it returns a nonzero status.
+To free the storage for the list and its contents, use
+.ZN XFreeStringList .
+.LP
+The
+.ZN XFreeStringList
+function releases memory allocated by
+.ZN XmbTextPropertyToTextList ,
+.ZN Xutf8TextPropertyToTextList
+and
+.ZN XTextPropertyToStringList
+and the missing charset list allocated by
+.ZN XCreateFontSet .
+.SH STRUCTURES
+The
+.ZN XTextProperty
+structure contains:
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ unsigned char *value; /\&* property data */
+ Atom encoding; /\&* type of property */
+ int format; /\&* 8, 16, or 32 */
+ unsigned long nitems; /\&* number of items in value */
+} XTextProperty;
+.De
+.SH "SEE ALSO"
+XAllocClassHint(3X11),
+XAllocIconSize(3X11),
+XAllocSizeHints(3X11),
+XAllocWMHints(3X11),
+XFree(3X11),
+XSetCommand(3X11),
+XSetTransientForHint(3X11),
+XSetTextProperty(3X11),
+XSetWMClientMachine(3X11),
+XSetWMColormapWindows(3X11),
+XSetWMIconName(3X11),
+XSetWMName(3X11),
+XSetWMProperties(3X11),
+XSetWMProtocols(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XStringToKeysym.man b/libX11/man/XStringToKeysym.man
new file mode 100644
index 000000000..511bd3aa1
--- /dev/null
+++ b/libX11/man/XStringToKeysym.man
@@ -0,0 +1,222 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XStTKsym.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XStringToKeysym __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XStringToKeysym, XKeysymToString, XKeycodeToKeysym, XKeysymToKeycode, XConvertCase \- convert keysyms
+.SH SYNTAX
+.HP
+KeySym XStringToKeysym\^(\^char *\fIstring\fP\^);
+.HP
+char *XKeysymToString\^(\^KeySym \fIkeysym\fP\^);
+.HP
+KeySym XKeycodeToKeysym\^(\^Display *\fIdisplay\fP\^, KeyCode \fIkeycode\fP\^,
+int \fIindex\fP\^);
+.HP
+KeyCode XKeysymToKeycode\^(\^Display *\fIdisplay\fP\^, KeySym \fIkeysym\fP\^);
+.HP
+void XConvertCase(\^KeySym \fIkeysym\fP\^, KeySym *\fIlower_return\fP\^,
+KeySym *\fIupper_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIindex\fP 1i
+Specifies the element of KeyCode vector.
+.IP \fIkeycode\fP 1i
+Specifies the KeyCode.
+.ds Fn searched for or converted
+.IP \fIkeysym\fP 1i
+Specifies the KeySym that is to be \*(Fn.
+.IP \fIlower_return\fP 1i
+Returns the lowercase form of keysym, or keysym.
+.IP \fIstring\fP 1i
+Specifies the name of the KeySym that is to be converted.
+.IP \fIupper_return\fP 1i
+Returns the uppercase form of keysym, or keysym.
+.SH DESCRIPTION
+Standard KeySym names are obtained from
+.hN X11/keysymdef.h
+by removing the XK_ prefix from each name.
+KeySyms that are not part of the Xlib standard also may be obtained
+with this function.
+The set of KeySyms that are available in this manner
+and the mechanisms by which Xlib obtains them is implementation-dependent.
+.LP
+If the KeySym name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+If the specified string does not match a valid KeySym,
+.ZN XStringToKeysym
+returns
+.ZN NoSymbol .
+.LP
+The returned string is in a static area and must not be modified.
+The returned string is in the Host Portable Character Encoding.
+If the specified KeySym is not defined,
+.ZN XKeysymToString
+returns a NULL.
+.LP
+The
+.ZN XKeycodeToKeysym
+function uses internal Xlib tables
+and returns the KeySym defined for the specified KeyCode and
+the element of the KeyCode vector.
+If no symbol is defined,
+.ZN XKeycodeToKeysym
+returns
+.ZN NoSymbol .
+.LP
+If the specified KeySym is not defined for any KeyCode,
+.ZN XKeysymToKeycode
+returns zero.
+.LP
+The
+.ZN XConvertCase
+function returns the uppercase and lowercase forms of the specified Keysym,
+if the KeySym is subject to case conversion;
+otherwise, the specified KeySym is returned to both lower_return and
+upper_return.
+Support for conversion of other than Latin and Cyrillic KeySyms is
+implementation-dependent.
+.SH "SEE ALSO"
+XLookupKeysym(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XSupportsLocale.man b/libX11/man/XSupportsLocale.man
new file mode 100644
index 000000000..85111e0ae
--- /dev/null
+++ b/libX11/man/XSupportsLocale.man
@@ -0,0 +1,229 @@
+.\" $XdotOrg: lib/X11/man/XSupportsLocale.man,v 1.3 2006-02-03 23:34:43 alanc Exp $
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSupLoc.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSupportsLocale __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSupportsLocale, XSetLocaleModifiers \- determine locale support and configure locale modifiers
+.SH SYNTAX
+.HP
+Bool XSupportsLocale\^(void);
+.HP
+char *XSetLocaleModifiers\^(\^char *\fImodifier_list\fP\^);
+.SH ARGUMENTS
+.IP \fImodifier_list\fP 1i
+Specifies the modifiers.
+.SH DESCRIPTION
+The
+.ZN XSupportsLocale
+function returns
+.ZN True
+if Xlib functions are capable of operating under the current locale.
+If it returns
+.ZN False ,
+Xlib locale-dependent functions for which the
+.ZN XLocaleNotSupported
+return status is defined will return
+.ZN XLocaleNotSupported .
+Other Xlib locale-dependent routines will operate in the ``C'' locale.
+.LP
+The
+.ZN XSetLocaleModifiers
+function sets the X modifiers for the current locale setting.
+The modifier_list argument is a null-terminated string of the form
+``{@\^\fIcategory\fP\^=\^\fIvalue\fP\^}'', that is,
+having zero or more concatenated ``@\^\fIcategory\fP\^=\^\fIvalue\fP\^''
+entries, where \fIcategory\fP is a category name
+and \fIvalue\fP is the (possibly empty) setting for that category.
+The values are encoded in the current locale.
+Category names are restricted to the POSIX Portable Filename Character Set.
+.LP
+The local host X locale modifiers announcer (on POSIX-compliant systems,
+the XMODIFIERS environment variable) is appended to the modifier_list to
+provide default values on the local host.
+If a given category appears more than once in the list,
+the first setting in the list is used.
+If a given category is not included in the full modifier list,
+the category is set to an implementation-dependent default
+for the current locale.
+An empty value for a category explicitly specifies the
+implementation-dependent default.
+.LP
+If the function is successful, it returns a pointer to a string.
+The contents of the string are such that a subsequent call with that string
+(in the same locale) will restore the modifiers to the same settings.
+If modifier_list is a NULL pointer,
+.ZN XSetLocaleModifiers
+also returns a pointer to such a string,
+and the current locale modifiers are not changed.
+.LP
+If invalid values are given for one or more modifier categories supported by
+the locale, a NULL pointer is returned, and none of the
+current modifiers are changed.
+.LP
+At program startup,
+the modifiers that are in effect are unspecified until
+the first successful call to set them. Whenever the locale is changed, the
+modifiers that are in effect become unspecified until the next successful call
+to set them.
+Clients should always call
+.ZN XSetLocaleModifiers
+with a non-NULL modifier_list after setting the locale
+before they call any locale-dependent Xlib routine.
+.LP
+The only standard modifier category currently defined is ``im'',
+which identifies the desired input method.
+The values for input method are not standardized.
+A single locale may use multiple input methods,
+switching input method under user control.
+The modifier may specify the initial input method in effect
+or an ordered list of input methods.
+Multiple input methods may be specified in a single im value string
+in an implementation-dependent manner.
+.LP
+The returned modifiers string is owned by Xlib and should not be modified or
+freed by the client.
+It may be freed by Xlib after the current locale or modifiers are changed.
+Until freed, it will not be modified by Xlib.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XSynchronize.man b/libX11/man/XSynchronize.man
new file mode 100644
index 000000000..404631e98
--- /dev/null
+++ b/libX11/man/XSynchronize.man
@@ -0,0 +1,180 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XSync.man,v 1.2 2001/01/27 18:20:05 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XSynchronize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XSynchronize, XSetAfterFunction \- enable or disable synchronization
+.SH SYNTAX
+.HP
+int (*XSynchronize\^(\^Display *\fIdisplay\fP\^, Bool \fIonoff\fP\^))();
+.HP
+int (*XSetAfterFunction\^(\^Display *\fIdisplay\fP\^, int
+(\^*\^\fIprocedure\fP\^)\^()))();
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIprocedure\fP 1i
+Specifies the procedure to be called.
+.IP \fIonoff\fP 1i
+Specifies a Boolean value that indicates whether to enable
+or disable synchronization.
+.SH DESCRIPTION
+The
+.ZN XSynchronize
+function returns
+the previous after function.
+If onoff is
+.ZN True ,
+.ZN XSynchronize
+turns on synchronous behavior.
+If onoff is
+.ZN False ,
+.ZN XSynchronize
+turns off synchronous behavior.
+.LP
+The specified procedure is called with only a display pointer.
+.ZN XSetAfterFunction
+returns the previous after function.
+.SH "SEE ALSO"
+XSetErrorHandler(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XTextExtents.man b/libX11/man/XTextExtents.man
new file mode 100644
index 000000000..becf7f44a
--- /dev/null
+++ b/libX11/man/XTextExtents.man
@@ -0,0 +1,291 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XTextExt.man,v 1.3 2001/02/09 03:47:47 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XTextExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XTextExtents, XTextExtents16, XQueryTextExtents, XQueryTextExtents16 \- compute or query text extents
+.SH SYNTAX
+.HP
+int XTextExtents\^(\^XFontStruct *\fIfont_struct\fP\^, char *\fIstring\fP\^,
+int \fInchars\fP\^, int *\fIdirection_return\fP\^, int
+*\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
+*\fIoverall_return\fP\^);
+.HP
+int XTextExtents16\^(\^XFontStruct *\fIfont_struct\fP\^, XChar2b
+*\fIstring\fP\^, int \fInchars\fP\^, int *\fIdirection_return\fP\^, int
+*\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
+*\fIoverall_return\fP\^);
+.HP
+int XQueryTextExtents\^(\^Display *\fIdisplay\fP\^, XID \fIfont_ID\fP\^, char
+*\fIstring\fP\^, int \fInchars\fP\^, int *\fIdirection_return\fP\^, int
+*\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
+*\fIoverall_return\fP\^);
+.HP
+int XQueryTextExtents16\^(\^Display *\fIdisplay\fP\^, XID \fIfont_ID\fP\^,
+XChar2b *\fIstring\fP\^, int \fInchars\fP\^, int *\fIdirection_return\fP\^,
+int *\fIfont_ascent_return\fP, int *\fIfont_descent_return\fP\^, XCharStruct
+*\fIoverall_return\fP\^);
+.SH ARGUMENTS
+.IP \fIdirection_return\fP 1i
+Returns the value of the direction hint
+.Pn ( FontLeftToRight
+or
+.ZN FontRightToLeft ).
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfont_ID\fP 1i
+Specifies either the font ID or the
+.ZN GContext
+ID that contains the font.
+.IP \fIfont_ascent_return\fP 1i
+Returns the font ascent.
+.IP \fIfont_descent_return\fP 1i
+Returns the font descent.
+.IP \fIfont_struct\fP 1i
+Specifies the
+.ZN XFontStruct
+structure.
+.IP \fInchars\fP 1i
+Specifies the number of characters in the character string.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.IP \fIoverall_return\fP 1i
+Returns the overall size in the specified
+.ZN XCharStruct
+structure.
+.SH DESCRIPTION
+The
+.ZN XTextExtents
+and
+.ZN XTextExtents16
+functions
+perform the size computation locally and, thereby,
+avoid the round-trip overhead of
+.ZN XQueryTextExtents
+and
+.ZN XQueryTextExtents16 .
+Both functions return an
+.ZN XCharStruct
+structure, whose members are set to the values as follows.
+.LP
+The ascent member is set to the maximum of the ascent metrics of all
+characters in the string.
+The descent member is set to the maximum of the descent metrics.
+The width member is set to the sum of the character-width metrics of all
+characters in the string.
+For each character in the string,
+let W be the sum of the character-width metrics of all characters preceding
+it in the string.
+Let L be the left-side-bearing metric of the character plus W.
+Let R be the right-side-bearing metric of the character plus W.
+The lbearing member is set to the minimum L of all characters in the string.
+The rbearing member is set to the maximum R.
+.LP
+For fonts defined with linear indexing rather than 2-byte matrix indexing,
+each
+.ZN XChar2b
+structure is interpreted as a 16-bit number with byte1 as the
+most significant byte.
+If the font has no defined default character,
+undefined characters in the string are taken to have all zero metrics.
+.LP
+The
+.ZN XQueryTextExtents
+and
+.ZN XQueryTextExtents16
+functions return the bounding box of the specified 8-bit and 16-bit
+character string in the specified font or the font contained in the
+specified GC.
+These functions query the X server and, therefore, suffer the round-trip
+overhead that is avoided by
+.ZN XTextExtents
+and
+.ZN XTextExtents16 .
+Both functions return a
+.ZN XCharStruct
+structure, whose members are set to the values as follows.
+.LP
+The ascent member is set to the maximum of the ascent metrics
+of all characters in the string.
+The descent member is set to the maximum of the descent metrics.
+The width member is set to the sum of the character-width metrics
+of all characters in the string.
+For each character in the string,
+let W be the sum of the character-width metrics of all characters preceding
+it in the string.
+Let L be the left-side-bearing metric of the character plus W.
+Let R be the right-side-bearing metric of the character plus W.
+The lbearing member is set to the minimum L of all characters in the string.
+The rbearing member is set to the maximum R.
+.LP
+For fonts defined with linear indexing rather than 2-byte matrix indexing,
+each
+.ZN XChar2b
+structure is interpreted as a 16-bit number with byte1 as the
+most significant byte.
+If the font has no defined default character,
+undefined characters in the string are taken to have all zero metrics.
+.LP
+Characters with all zero metrics are ignored.
+If the font has no defined default_char,
+the undefined characters in the string are also ignored.
+.LP
+.ZN XQueryTextExtents
+and
+.ZN XQueryTextExtents16
+can generate
+.ZN BadFont
+and
+.ZN BadGC
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadFont
+A value for a Font or GContext argument does not name a defined Font.
+.TP 1i
+.ZN BadGC
+A value for a GContext argument does not name a defined GContext.
+.SH "SEE ALSO"
+XLoadFont(3X11),
+XTextWidth(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XTextWidth.man b/libX11/man/XTextWidth.man
new file mode 100644
index 000000000..2e2c79483
--- /dev/null
+++ b/libX11/man/XTextWidth.man
@@ -0,0 +1,170 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XTextWid.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XTextWidth __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XTextWidth, XTextWidth16 \- compute text width
+.SH SYNTAX
+.HP
+int XTextWidth\^(\^XFontStruct *\fIfont_struct\fP\^, char *\fIstring\fP\^,
+int \fIcount\fP\^);
+.HP
+int XTextWidth16\^(\^XFontStruct *\fIfont_struct\fP\^, XChar2b
+*\fIstring\fP\^, int \fIcount\fP\^);
+.SH ARGUMENTS
+.IP \fIcount\fP 1i
+Specifies the character count in the specified string.
+.IP \fIfont_struct\fP 1i
+Specifies the font used for the width computation.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.SH DESCRIPTION
+The
+.ZN XTextWidth
+and
+.ZN XTextWidth16
+functions return the width of the specified 8-bit or 2-byte character strings.
+.SH "SEE ALSO"
+XLoadFont(3X11),
+XTextExtents(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XTranslateCoordinates.man b/libX11/man/XTranslateCoordinates.man
new file mode 100644
index 000000000..364636d30
--- /dev/null
+++ b/libX11/man/XTranslateCoordinates.man
@@ -0,0 +1,201 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XTranWCo.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XTranslateCoordinates __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XTranslateCoordinates \- translate window coordinates
+.SH SYNTAX
+.HP
+Bool XTranslateCoordinates\^(\^Display *\fIdisplay\fP\^, Window \fIsrc_w\fP\^,
+\fIdest_w\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, int
+*\fIdest_x_return\fP\^, int *\fIdest_y_return\fP\^, Window
+*\fIchild_return\fP\^);
+.SH ARGUMENTS
+.IP \fIchild_return\fP 1i
+Returns the child if the coordinates are contained in a mapped child of the
+destination window.
+.IP \fIdest_w\fP 1i
+Specifies the destination window.
+.IP \fIdest_x_return\fP 1i
+.br
+.ns
+.IP \fIdest_y_return\fP 1i
+Return the x and y coordinates within the destination window.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIsrc_w\fP 1i
+Specifies the source window.
+.IP \fIsrc_x\fP 1i
+.br
+.ns
+.IP \fIsrc_y\fP 1i
+Specify the x and y coordinates within the source window.
+.SH DESCRIPTION
+If
+.ZN XTranslateCoordinates
+returns
+.ZN True ,
+it takes the src_x and src_y coordinates relative
+to the source window's origin and returns these coordinates to
+dest_x_return and dest_y_return
+relative to the destination window's origin.
+If
+.ZN XTranslateCoordinates
+returns
+.ZN False ,
+src_w and dest_w are on different screens,
+and dest_x_return and dest_y_return are zero.
+If the coordinates are contained in a mapped child of dest_w,
+that child is returned to child_return.
+Otherwise, child_return is set to
+.ZN None .
+.LP
+.ZN XTranslateCoordinates
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XUnmapEvent.man b/libX11/man/XUnmapEvent.man
new file mode 100644
index 000000000..a0623f757
--- /dev/null
+++ b/libX11/man/XUnmapEvent.man
@@ -0,0 +1,228 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XUmapEven.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XUnmapEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XUnmapEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XUnmapEvent \- UnmapNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN UnmapNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* UnmapNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window event;
+ Window window;
+ Bool from_configure;
+} XUnmapEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The event member is set either to the unmapped window or to its parent,
+depending on whether
+.ZN StructureNotify
+or
+.ZN SubstructureNotify
+was selected.
+This is the window used by the X server to report the event.
+The window member is set to the window that was unmapped.
+The from_configure member is set to
+.ZN True
+if the event was generated as a result of a resizing of the window's parent when
+the window itself had a win_gravity of
+.ZN UnmapGravity .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XVisibilityEvent(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XUnmapWindow.man b/libX11/man/XUnmapWindow.man
new file mode 100644
index 000000000..0c5f5aaaa
--- /dev/null
+++ b/libX11/man/XUnmapWindow.man
@@ -0,0 +1,211 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XUnmapWin.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XUnmapWindow __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XUnmapWindow, XUnmapSubwindows \- unmap windows
+.SH SYNTAX
+.HP
+int XUnmapWindow\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.HP
+int XUnmapSubwindows\^(\^Display *\fIdisplay\fP\^, Window \fIw\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIw\fP 1i
+Specifies the window.
+.SH DESCRIPTION
+The
+.ZN XUnmapWindow
+function unmaps the specified window and causes the X server to generate an
+.ZN UnmapNotify
+.IN "UnmapNotify Event"
+.IN "XUnmapWindow"
+event.
+If the specified window is already unmapped,
+.ZN XUnmapWindow
+has no effect.
+Normal exposure processing on formerly obscured windows is performed.
+Any child window will no longer be visible until another map call is
+made on the parent.
+In other words, the subwindows are still mapped but are not visible
+until the parent is mapped.
+Unmapping a window will generate
+.ZN Expose
+events on windows that were formerly obscured by it.
+.LP
+.ZN XUnmapWindow
+can generate a
+.ZN BadWindow
+error.
+.LP
+The
+.ZN XUnmapSubwindows
+function unmaps all subwindows for the specified window in bottom-to-top
+stacking order.
+It causes the X server to generate an
+.ZN UnmapNotify
+event on each subwindow and
+.ZN Expose
+events on formerly obscured windows.
+.IN "UnmapNotify Event"
+Using this function is much more efficient than unmapping multiple windows
+one at a time because the server needs to perform much of the work
+only once, for all of the windows, rather than for each window.
+.LP
+.ZN XUnmapSubwindows
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XChangeWindowAttributes(3X11),
+XConfigureWindow(3X11),
+XCreateWindow(3X11),
+XDestroyWindow(3X11),
+XMapWindow(3X11)
+XRaiseWindow(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XVaCreateNestedList.man b/libX11/man/XVaCreateNestedList.man
new file mode 100644
index 000000000..9017317bb
--- /dev/null
+++ b/libX11/man/XVaCreateNestedList.man
@@ -0,0 +1,170 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XVCNList.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XVaCreateNestedList __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XVaCreateNestedList \- allocate a nested variable argument list
+.SH SYNTAX
+typedef void * XVaNestedList;
+.HP
+XVaNestedList XVaCreateNestedList\^(\^int \fIdummy\fP\^, ...\^);
+.SH ARGUMENTS
+.IP \fIdummy\fP 1i
+Specifies an unused argument (required by ANSI C).
+.ds Al
+.IP ... 1i
+Specifies the variable length argument list\*(Al.
+.SH DESCRIPTION
+The
+.ZN XVaCreateNestedList
+function allocates memory and copies its arguments into
+a single list pointer,
+which may be used as a value for arguments requiring a list value.
+Any entries are copied as specified.
+Data passed by reference is not copied;
+the caller must ensure data remains valid for the lifetime
+of the nested list.
+The list should be freed using
+.ZN XFree
+when it is no longer needed.
+.SH "SEE ALSO"
+\fI\*(xL\fP
diff --git a/libX11/man/XVisibilityEvent.man b/libX11/man/XVisibilityEvent.man
new file mode 100644
index 000000000..7b878cf5d
--- /dev/null
+++ b/libX11/man/XVisibilityEvent.man
@@ -0,0 +1,246 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XVEvent.man,v 1.3 2001/08/13 19:34:52 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XVisibilityEvent.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XVisibilityEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XVisibilityEvent \- VisibilityNotify event structure
+.SH STRUCTURES
+The structure for
+.ZN VisibilityNotify
+events contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int type; /\&* VisibilityNotify */
+ unsigned long serial; /\&* # of last request processed by server */
+ Bool send_event; /\&* true if this came from a SendEvent request */
+ Display *display; /\&* Display the event was read from */
+ Window window;
+ int state;
+} XVisibilityEvent;
+.De
+.LP
+When you receive this event,
+the structure members are set as follows.
+.LP
+The type member is set to the event type constant name that uniquely identifies
+it.
+For example, when the X server reports a
+.ZN GraphicsExpose
+event to a client application, it sends an
+.ZN XGraphicsExposeEvent
+structure with the type member set to
+.ZN GraphicsExpose .
+The display member is set to a pointer to the display the event was read on.
+The send_event member is set to
+.ZN True
+if the event came from a
+.ZN SendEvent
+protocol request.
+The serial member is set from the serial number reported in the protocol
+but expanded from the 16-bit least-significant bits to a full 32-bit value.
+The window member is set to the window that is most useful to toolkit
+dispatchers.
+.LP
+The window member is set to the window whose visibility state changes.
+The state member is set to the state of the window's visibility and can be
+.ZN VisibilityUnobscured ,
+.ZN VisibilityPartiallyObscured ,
+or
+.ZN VisibilityFullyObscured .
+The X server ignores all of a window's subwindows
+when determining the visibility state of the window and processes
+.ZN VisibilityNotify
+events according to the following:
+.IP \(bu 5
+When the window changes state from partially obscured, fully obscured,
+or not viewable to viewable and completely unobscured,
+the X server generates the event with the state member of the
+.ZN XVisibilityEvent
+structure set to
+.ZN VisibilityUnobscured .
+.IP \(bu 5
+When the window changes state from viewable and completely unobscured or
+not viewable to viewable and partially obscured,
+the X server generates the event with the state member of the
+.ZN XVisibilityEvent
+structure set to
+.ZN VisibilityPartiallyObscured .
+.IP \(bu 5
+When the window changes state from viewable and completely unobscured,
+viewable and partially obscured, or not viewable to viewable and
+fully obscured,
+the X server generates the event with the state member of the
+.ZN XVisibilityEvent
+structure set to
+.ZN VisibilityFullyObscured .
+.SH "SEE ALSO"
+XAnyEvent(3X11),
+XButtonEvent(3X11),
+XCreateWindowEvent(3X11),
+XCirculateEvent(3X11),
+XCirculateRequestEvent(3X11),
+XColormapEvent(3X11),
+XConfigureEvent(3X11),
+XConfigureRequestEvent(3X11),
+XCrossingEvent(3X11),
+XDestroyWindowEvent(3X11),
+XErrorEvent(3X11),
+XExposeEvent(3X11),
+XFocusChangeEvent(3X11),
+XGraphicsExposeEvent(3X11),
+XGravityEvent(3X11),
+XKeymapEvent(3X11),
+XMapEvent(3X11),
+XMapRequestEvent(3X11),
+XPropertyEvent(3X11),
+XReparentEvent(3X11),
+XResizeRequestEvent(3X11),
+XSelectionClearEvent(3X11),
+XSelectionEvent(3X11),
+XSelectionRequestEvent(3X11),
+XUnmapEvent(3X11),
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XWarpPointer.man b/libX11/man/XWarpPointer.man
new file mode 100644
index 000000000..07ec5d53c
--- /dev/null
+++ b/libX11/man/XWarpPointer.man
@@ -0,0 +1,218 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XWarpPntr.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XWarpPointer __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XWarpPointer \- move pointer
+.SH SYNTAX
+.HP
+int XWarpPointer\^(\^Display *\fIdisplay\fP\^, Window \fIsrc_w\fP\^, Window
+\fIdest_w\fP\^, int \fIsrc_x\fP\^, int \fIsrc_y\fP\^, unsigned int
+\fIsrc_width\fP\^, unsigned int \fIsrc_height\fP\^, int \fIdest_x\fP\^, int
+\fIdest_y\fP\^);
+.SH ARGUMENTS
+.IP \fIdest_w\fP 1i
+Specifies the destination window or
+.ZN None .
+.IP \fIdest_x\fP 1i
+.br
+.ns
+.IP \fIdest_y\fP 1i
+Specify the x and y coordinates within the destination window.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIsrc_x\fP 1i
+.br
+.ns
+.IP \fIsrc_y\fP 1i
+.br
+.ns
+.IP \fIsrc_width\fP 1i
+.br
+.ns
+.IP \fIsrc_height\fP 1i
+Specify a rectangle in the source window.
+.IP \fIsrc_w\fP 1i
+Specifies the source window or
+.ZN None .
+.SH DESCRIPTION
+If dest_w is
+.ZN None ,
+.ZN XWarpPointer
+moves the pointer by the offsets (dest_x, dest_y) relative to the current
+position of the pointer.
+If dest_w is a window,
+.ZN XWarpPointer
+moves the pointer to the offsets (dest_x, dest_y) relative to the origin of
+dest_w.
+However, if src_w is a window,
+the move only takes place if the window src_w contains the pointer
+and if the specified rectangle of src_w contains the pointer.
+.LP
+The src_x and src_y coordinates are relative to the origin of src_w.
+If src_height is zero,
+it is replaced with the current height of src_w minus src_y.
+If src_width is zero,
+it is replaced with the current width of src_w minus src_x.
+.LP
+There is seldom any reason for calling this function.
+The pointer should normally be left to the user.
+If you do use this function, however, it generates events just as if the user
+had instantaneously moved the pointer from one position to another.
+Note that you cannot use
+.ZN XWarpPointer
+to move the pointer outside the confine_to window of an active pointer grab.
+An attempt to do so will only move the pointer as far as the closest edge of the
+confine_to window.
+.LP
+.ZN XWarpPointer
+can generate a
+.ZN BadWindow
+error.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadWindow
+A value for a Window argument does not name a defined Window.
+.SH "SEE ALSO"
+XSetInputFocus(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsAllocColor.man b/libX11/man/XcmsAllocColor.man
new file mode 100644
index 000000000..bf93c7369
--- /dev/null
+++ b/libX11/man/XcmsAllocColor.man
@@ -0,0 +1,256 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsAClr.man,v 3.3 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsAllocColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsAllocColor, XcmsAllocNamedColor \- allocate colors
+.SH SYNTAX
+.HP
+Status XcmsAllocColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+XcmsColor *\fIcolor_in_out\fP\^, XcmsColorFormat \fIresult_format\fP\^);
+.HP
+Status XcmsAllocNamedColor\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^, char *\fIcolor_string\fP\^, XcmsColor
+*\fIcolor_screen_return\fP\^, XcmsColor *\fIcolor_exact_return\fP\^, XcmsColorFormat \fIresult_format\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIcolor_exact_return\fP 1i
+Returns the color specification parsed from the color string
+or parsed from the corresponding string found in a color-name database.
+.IP \fIcolor_in_out\fP 1i
+Specifies the color to allocate and returns the pixel and color
+that is actually used in the colormap.
+.IP \fIcolor_screen_return\fP 1i
+Returns the pixel value of the color cell and color specification
+that actually is stored for that cell.
+.ds St \ whose color definition structure is to be returned
+.IP \fIcolor_string\fP 1i
+Specifies the color string\*(St.
+.IP \fIresult_format\fP 1i
+Specifies the color format for the returned color specification.
+.SH DESCRIPTION
+The
+.ZN XcmsAllocColor
+function is similar to
+.ZN XAllocColor
+except the color can be specified in any format.
+The
+.ZN XcmsAllocColor
+function ultimately calls
+.ZN XAllocColor
+to allocate a read-only color cell (colormap entry) with the specified color.
+.ZN XcmsAllocColor
+first converts the color specified
+to an RGB value and then passes this to
+.ZN XAllocColor .
+.ZN XcmsAllocColor
+returns the pixel value of the color cell and the color specification
+actually allocated.
+This returned color specification is the result of converting the RGB value
+returned by
+.ZN XAllocColor
+into the format specified with the result_format argument.
+If there is no interest in a returned color specification,
+unnecessary computation can be bypassed if result_format is set to
+.ZN XcmsRGBFormat .
+The corresponding colormap cell is read-only.
+If this routine returns
+.ZN XcmsFailure ,
+the color_in_out color specification is left unchanged.
+.LP
+.ZN XcmsAllocColor
+can generate a
+.ZN BadColor
+errors.
+.LP
+The
+.ZN XcmsAllocNamedColor
+function is similar to
+.ZN XAllocNamedColor
+except that the color returned can be in any format specified.
+This function
+ultimately calls
+.ZN XAllocColor
+to allocate a read-only color cell with
+the color specified by a color string.
+The color string is parsed into an
+.ZN XcmsColor
+structure (see
+.ZN XcmsLookupColor ),
+converted
+to an RGB value, and finally passed to
+.ZN XAllocColor .
+If the color name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+.LP
+This function returns both the color specification as a result
+of parsing (exact specification) and the actual color specification
+stored (screen specification).
+This screen specification is the result of converting the RGB value
+returned by
+.ZN XAllocColor
+into the format specified in result_format.
+If there is no interest in a returned color specification,
+unnecessary computation can be bypassed if result_format is set to
+.ZN XcmsRGBFormat .
+If color_screen_return and color_exact_return
+point to the same structure, the pixel field will be set correctly,
+but the color values are undefined.
+.LP
+.LP
+.ZN XcmsAllocNamedColor
+can generate a
+.ZN BadColor
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.SH "SEE ALSO"
+XcmsQueryColor(3X11),
+XcmsStoreColor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsCCCOfColormap.man b/libX11/man/XcmsCCCOfColormap.man
new file mode 100644
index 000000000..0303cd363
--- /dev/null
+++ b/libX11/man/XcmsCCCOfColormap.man
@@ -0,0 +1,188 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/Xcms3CoC.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsCCCOfColormap __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsCCCOfColormap, XcmsSetCCCOfColormap \- query and modify CCC of a colormap
+.SH SYNTAX
+.HP
+XcmsCCC XcmsCCCOfColormap\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^);
+.HP
+XcmsCCC XcmsSetCCCOfColormap\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^, XcmsCCC \fIccc\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIccc\fP 1i
+Specifies the CCC.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.SH DESCRIPTION
+The
+.ZN XcmsCCCOfColormap
+function returns the CCC associated with the specified colormap.
+Once obtained,
+the CCC attributes can be queried or modified.
+Unless the CCC associated with the specified colormap is changed with
+.ZN XcmsSetCCCOfColormap ,
+this CCC is used when the specified colormap is used as an argument
+to color functions.
+.LP
+The
+.ZN XcmsSetCCCOfColormap
+function changes the CCC associated with the specified colormap.
+It returns the CCC previously associated with the colormap.
+If they are not used again in the application,
+CCCs should be freed by calling
+.ZN XcmsFreeCCC .
+Several colormaps may share the same CCC without restriction; this
+includes the CCCs generated by Xlib with each colormap. Xlib, however,
+creates a new CCC with each new colormap.
+.SH "SEE ALSO"
+DisplayOfCCC(3X11),
+XcmsConvertColors(3X11),
+XcmsCreateCCC(3X11),
+XcmsDefaultCCC(3X11),
+XcmsSetWhitePoint(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsCIELabQueryMaxC.man b/libX11/man/XcmsCIELabQueryMaxC.man
new file mode 100644
index 000000000..58484b42e
--- /dev/null
+++ b/libX11/man/XcmsCIELabQueryMaxC.man
@@ -0,0 +1,222 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsLaQMC.man,v 1.3 2001/02/09 03:47:47 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsCIELabQueryMax __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsCIELabQueryMaxC, XcmsCIELabQueryMaxL, XcmsCIELabQueryMaxLC, XcmsCIELabQueryMinL \- obtain the CIE L*a*b* coordinates
+.SH SYNTAX
+.HP
+Status XcmsCIELabQueryMaxC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsFloat \fIL_star\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsCIELabQueryMaxL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsCIELabQueryMaxLC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsCIELabQueryMinL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+Note that the CCC's Client White Point and White Point Adjustment procedures
+are ignored.
+.ds Ch maximum lightness (MaxL) or minimum lightness (MinL)
+.IP \fIchroma\fP 1i
+Specifies the chroma at which to find \*(Ch.
+.ds Lc maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \
+or minimum lightness (MinL)
+.ds lC hue angle and lightness (MaxC), hue angle and chroma (MaxL and MinL), \
+or hue angle (MaxLC)
+.IP \fIcolor_return\fP 1i
+Returns the CIE L*a*b* coordinates of \*(Lc
+displayable by the screen for the given \*(lC.
+The white point associated with the returned
+color specification is the Screen White Point.
+The value returned in the pixel member is undefined.
+.ds Ha maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \
+or minimum lightness (MinL)
+.IP \fIhue_angle\fP 1i
+Specifies the hue angle (in degrees) at which to find \*(Ha.
+.ds Ls maximum chroma (MaxC)
+.IP \fIL_star\fP 1i
+Specifies the lightness (L*) at which to find \*(Ls.
+.SH DESCRIPTION
+The
+.ZN XcmsCIELabQueryMaxC
+function, given a hue angle and lightness,
+finds the point of maximum chroma displayable by the screen.
+It returns this point in CIE L*a*b* coordinates.
+.LP
+The
+.ZN XcmsCIELabQueryMaxL
+function, given a hue angle and chroma,
+finds the point in CIE L*a*b* color space of maximum
+lightness (L*) displayable by the screen.
+It returns this point in CIE L*a*b* coordinates.
+An
+.ZN XcmsFailure
+return value usually indicates that the given chroma
+is beyond maximum for the given hue angle.
+.LP
+The
+.ZN XcmsCIELabQueryMaxLC
+function, given a hue angle,
+finds the point of maximum chroma displayable by the screen.
+It returns this point in CIE L*a*b* coordinates.
+.LP
+The
+.ZN XcmsCIELabQueryMinL
+function, given a hue angle and chroma,
+finds the point of minimum lightness (L*) displayable by the screen.
+It returns this point in CIE L*a*b* coordinates.
+An
+.ZN XcmsFailure
+return value usually indicates that the given chroma
+is beyond maximum for the given hue angle.
+.SH "SEE ALSO"
+XcmsCIELuvQueryMaxC(3X11),
+XcmsTekHVCQueryMaxC(3X11),
+XcmsQueryBlack(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsCIELuvQueryMaxC.man b/libX11/man/XcmsCIELuvQueryMaxC.man
new file mode 100644
index 000000000..af469c5f3
--- /dev/null
+++ b/libX11/man/XcmsCIELuvQueryMaxC.man
@@ -0,0 +1,222 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsLuQMC.man,v 1.3 2001/02/09 03:47:47 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsCIELuvQueryMaxC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsCIELuvQueryMaxC, XcmsCIELuvQueryMaxL, XcmsCIELuvQueryMaxLC, XcmsCIELuvQueryMinL \- obtain the CIE L*u*v* coordinates
+.SH SYNTAX
+.HP
+Status XcmsCIELuvQueryMaxC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsFloat \fIL_star\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsCIELuvQueryMaxL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsCIELuvQueryMaxLC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsCIELuvQueryMinL\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue_angle\fP\^, XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+Note that the CCC's Client White Point and White Point Adjustment procedures
+are ignored.
+.ds Ch maximum lightness (MaxL) or minimum lightness (MinL)
+.IP \fIchroma\fP 1i
+Specifies the chroma at which to find \*(Ch.
+.ds Lc maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \
+or minimum lightness (MinL)
+.ds lC hue angle and lightness (MaxC), hue angle and chroma (MaxL and MinL), \
+or hue angle (MaxLC)
+.IP \fIcolor_return\fP 1i
+Returns the CIE L*u*v* coordinates of \*(Lc
+displayable by the screen for the given \*(lC.
+The white point associated with the returned
+color specification is the Screen White Point.
+The value returned in the pixel member is undefined.
+.ds Ha maximum chroma (MaxC and MaxLC), maximum lightness (MaxL), \
+or minimum lightness (MinL)
+.IP \fIhue_angle\fP 1i
+Specifies the hue angle (in degrees) at which to find \*(Ha.
+.ds Ls maximum chroma (MaxC) or maximum lightness (MaxL)
+.IP \fIL_star\fP 1i
+Specifies the lightness (L*) at which to find \*(Ls.
+.SH DESCRIPTION
+The
+.ZN XcmsCIELuvQueryMaxC
+function, given a hue angle and lightness,
+finds the point of maximum chroma displayable by the screen.
+It returns this point in CIE L*u*v* coordinates.
+.LP
+The
+.ZN XcmsCIELuvQueryMaxL
+function, given a hue angle and chroma,
+finds the point in CIE L*u*v* color space of maximum
+lightness (L*) displayable by the screen.
+It returns this point in CIE L*u*v* coordinates.
+An
+.ZN XcmsFailure
+return value usually indicates that the given chroma
+is beyond maximum for the given hue angle.
+.LP
+The
+.ZN XcmsCIELuvQueryMaxLC
+function, given a hue angle,
+finds the point of maximum chroma displayable by the screen.
+It returns this point in CIE L*u*v* coordinates.
+.LP
+The
+.ZN XcmsCIELuvQueryMinL
+function, given a hue angle and chroma,
+finds the point of minimum lightness (L*) displayable by the screen.
+It returns this point in CIE L*u*v* coordinates.
+An
+.ZN XcmsFailure
+return value usually indicates that the given chroma
+is beyond maximum for the given hue angle.
+.SH "SEE ALSO"
+XcmsCIELabQueryMaxC(3X11),
+XcmsTekHVCQueryMaxC(3X11),
+XcmsQueryBlack(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsColor.man b/libX11/man/XcmsColor.man
new file mode 100644
index 000000000..c039cbf3a
--- /dev/null
+++ b/libX11/man/XcmsColor.man
@@ -0,0 +1,265 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsClr.man,v 3.4 2001/01/27 18:20:06 dawes Exp $
+.\" $XdotOrg: lib/X11/man/XcmsColor.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.de EX
+.sp
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+.sp
+..
+.TH XcmsColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsColor, XcmsRGB, XcmsRGBi, XcmsCIEXYZ, XcmsCIEuvY, XcmsCIExyY, XcmsCIELab, XcmsCIELuv, XcmsTekHVC, XcmsPad \- Xcms color structure
+.SH STRUCTURES
+The structure for
+.ZN XcmsColor
+contains:
+.LP
+.EX
+typedef unsigned long XcmsColorFormat; /\&* Color Specification Format */
+
+typedef struct {
+ union {
+ XcmsRGB RGB;
+ XcmsRGBi RGBi;
+ XcmsCIEXYZ CIEXYZ;
+ XcmsCIEuvY CIEuvY;
+ XcmsCIExyY CIExyY;
+ XcmsCIELab CIELab;
+ XcmsCIELuv CIELuv;
+ XcmsTekHVC TekHVC;
+ XcmsPad Pad;
+ } spec;
+ unsigned long pixel;
+ XcmsColorFormat format;
+} XcmsColor; /\&* Xcms Color Structure */
+.EE
+.LP
+.EX
+typedef double XcmsFloat;
+
+typedef struct {
+ unsigned short red; /\&* 0x0000 to 0xffff */
+ unsigned short green; /\&* 0x0000 to 0xffff */
+ unsigned short blue; /\&* 0x0000 to 0xffff */
+} XcmsRGB; /\&* RGB Device */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat red; /\&* 0.0 to 1.0 */
+ XcmsFloat green; /\&* 0.0 to 1.0 */
+ XcmsFloat blue; /\&* 0.0 to 1.0 */
+} XcmsRGBi; /\&* RGB Intensity */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat X;
+ XcmsFloat Y; /\&* 0.0 to 1.0 */
+ XcmsFloat Z;
+} XcmsCIEXYZ; /\&* CIE XYZ */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat u_prime; /\&* 0.0 to ~0.6 */
+ XcmsFloat v_prime; /\&* 0.0 to ~0.6 */
+ XcmsFloat Y; /\&* 0.0 to 1.0 */
+} XcmsCIEuvY; /\&* CIE u'v'Y */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat x; /\&* 0.0 to ~.75 */
+ XcmsFloat y; /\&* 0.0 to ~.85 */
+ XcmsFloat Y; /\&* 0.0 to 1.0 */
+} XcmsCIExyY; /\&* CIE xyY */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat L_star; /\&* 0.0 to 100.0 */
+ XcmsFloat a_star;
+ XcmsFloat b_star;
+} XcmsCIELab; /\&* CIE L*a*b* */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat L_star; /\&* 0.0 to 100.0 */
+ XcmsFloat u_star;
+ XcmsFloat v_star;
+} XcmsCIELuv; /\&* CIE L*u*v* */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat H; /\&* 0.0 to 360.0 */
+ XcmsFloat V; /\&* 0.0 to 100.0 */
+ XcmsFloat C; /\&* 0.0 to 100.0 */
+} XcmsTekHVC; /\&* TekHVC */
+.EE
+.LP
+.EX
+typedef struct {
+ XcmsFloat pad0;
+ XcmsFloat pad1;
+ XcmsFloat pad2;
+ XcmsFloat pad3;
+} XcmsPad; /\&* four doubles */
+.EE
+.SH DESCRIPTION
+The
+.ZN XcmsColor
+structure contains a union of substructures,
+each supporting color specification encoding for a particular color space.
+.SH "SEE ALSO"
+XcmsAllocColor(3X11),
+XcmsStoreColor(3X11),
+XcmsConvertColors(3X11),
+.LP
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsConvertColors.man b/libX11/man/XcmsConvertColors.man
new file mode 100644
index 000000000..9e3ca6163
--- /dev/null
+++ b/libX11/man/XcmsConvertColors.man
@@ -0,0 +1,202 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsCClrs.man,v 1.2 2001/01/27 18:20:06 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsConvertColors __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsConvertColors \- convert CCC color specifications
+.SH SYNTAX
+.HP
+Status XcmsConvertColors\^(\^XcmsCCC \fIccc\fP\^, XcmsColor
+\fIcolors_in_out\fP\^[\^]\^, unsigned int \fIncolors\fP\^, XcmsColorFormat
+\fItarget_format\fP\^, Bool \fIcompression_flags_return\fP\^[\^]\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+If Conversion is between device-independent color spaces only
+(for example, TekHVC to CIELuv),
+the CCC is necessary only to specify the Client White Point.
+.IP \fIcolors_in_out\fP 1i
+Specifies an array of color specifications.
+Pixel members are ignored and remain unchanged upon return.
+.IP \fIcompression_flags_return\fP 1i
+Returns an array of Boolean values indicating compression status.
+If a non-NULL pointer is supplied,
+each element of the array is set to
+.ZN True
+if the corresponding color was compressed and
+.ZN False
+otherwise.
+Pass NULL if the compression status is not useful.
+.IP \fIncolors\fP 1i
+Specifies the number of
+.ZN XcmsColor
+structures in the color-specification array.
+.IP \fItarget_format\fP 1i
+Specifies the target color specification format.
+.SH DESCRIPTION
+The
+.ZN XcmsConvertColors
+function converts the color specifications in the specified array of
+.ZN XcmsColor
+structures from their current format to a single target format,
+using the specified CCC.
+When the return value is
+.ZN XcmsFailure ,
+the contents of the color specification array are left unchanged.
+.LP
+The array may contain a mixture of color specification formats
+(for example, 3 CIE XYZ, 2 CIE Luv, and so on).
+When the array contains both device-independent and
+device-dependent color specifications and the target_format argument specifies
+a device-dependent format (for example,
+.ZN XcmsRGBiFormat ,
+.ZN XcmsRGBFormat ),
+all specifications are converted to CIE XYZ format and then to the target
+device-dependent format.
+.SH "SEE ALSO"
+DisplayOfCCC(3X11),
+XcmsCCCOfColormap(3X11),
+XcmsCreateCCC(3X11),
+XcmsDefaultCCC(3X11),
+XcmsSetWhitePoint(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsCreateCCC.man b/libX11/man/XcmsCreateCCC.man
new file mode 100644
index 000000000..24fcee8ed
--- /dev/null
+++ b/libX11/man/XcmsCreateCCC.man
@@ -0,0 +1,203 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsCre3C.man,v 1.2 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsCreateCCC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsCreateCCC, XcmsFreeCCC \- creating and destroying CCCs
+.SH SYNTAX
+.HP
+XcmsCCC XcmsCreateCCC\^(\^Display *\fIdisplay\fP\^, int \fIscreen_number\fP\^,
+Visual *\fIvisual\fP\^, XcmsColor *\fIclient_white_point\fP\^,
+XcmsCompressionProc \fIcompression_proc\fP\^, XPointer
+\fIcompression_client_data\fP\^, XcmsWhiteAdjustProc
+\fIwhite_adjust_proc\fP\^, XPointer \fIwhite_adjust_client_data\fP\^);
+.LP
+void XcmsFreeCCC\^(\^XcmsCCC \fIccc\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIccc\fP 1i
+Specifies the CCC.
+.IP \fIclient_white_point\fP 1i
+Specifies the Client White Point.
+If NULL is specified,
+the Client White Point is to be assumed to be the same as the
+Screen White Point.
+Note that the pixel member is ignored.
+.IP \fIcompression_client_data\fP 1i
+Specifies client data for use by the gamut compression procedure or NULL.
+.IP \fIcompression_proc\fP 1i
+Specifies the gamut compression procedure that is to be applied
+when a color lies outside the screen's color gamut.
+If NULL is specified and a function using this CCC must convert
+a color specification to a device-dependent format and encounters a color
+that lies outside the screen's color gamut,
+that function will return
+.ZN XcmsFailure .
+.IP \fIscreen_number\fP 1i
+Specifies the appropriate screen number on the host server.
+.IP \fIvisual\fP 1i
+Specifies the visual type.
+.IP \fIwhite_adjust_client_data\fP 1i
+Specifies client data for use with the white point adjustment procedure or NULL.
+.IP \fIwhite_adjust_proc\fP 1i
+Specifies the white adjustment procedure that is to be applied
+when the Client White Point differs from the Screen White Point.
+NULL indicates that no white point adjustment is desired.
+.SH DESCRIPTION
+The
+.ZN XcmsCreateCCC
+function creates a CCC for the specified display, screen, and visual.
+.LP
+The
+.ZN XcmsFreeCCC
+function frees the memory used for the specified CCC.
+Note that default CCCs and those currently associated with colormaps
+are ignored.
+.SH "SEE ALSO"
+DisplayOfCCC(3X11),
+XcmsCCCOfColormap(3X11),
+XcmsConvertColors(3X11),
+XcmsDefaultCCC(3X11),
+XcmsSetWhitePoint(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsDefaultCCC.man b/libX11/man/XcmsDefaultCCC.man
new file mode 100644
index 000000000..fe703c1ac
--- /dev/null
+++ b/libX11/man/XcmsDefaultCCC.man
@@ -0,0 +1,170 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsD3C.man,v 1.2 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsDefaultCCC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsDefaultCCC \- obtain the default CCC for a screen
+.SH SYNTAX
+.HP
+XcmsCCC XcmsDefaultCCC\^(\^Display *\fIdisplay\fP\^, int
+\fIscreen_number\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIscreen_number\fP 1i
+Specifies the appropriate screen number on the host server.
+.SH DESCRIPTION
+The
+.ZN XcmsDefaultCCC
+function returns the default CCC for the specified screen.
+Its visual is the default visual of the screen.
+Its initial gamut compression and white point
+adjustment procedures as well as the associated client data are implementation
+specific.
+.SH "SEE ALSO"
+DisplayOfCCC(3X11),
+XcmsCCCOfColormap(3X11),
+XcmsConvertColors(3X11),
+XcmsCreateCCC(3X11),
+XcmsSetWhitePoint(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsQueryBlack.man b/libX11/man/XcmsQueryBlack.man
new file mode 100644
index 000000000..de67a6ec4
--- /dev/null
+++ b/libX11/man/XcmsQueryBlack.man
@@ -0,0 +1,206 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsQBlk.man,v 1.2 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsQueryBlack __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsQueryBlack, XcmsQueryBlue, XcmsQueryGreen, XcmsQueryRed, XcmsQueryWhite \- obtain black, blue, green, red, and white CCC color specifications
+.SH SYNTAX
+.HP
+Status XcmsQueryBlack\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
+\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsQueryBlue\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
+\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsQueryGreen\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
+\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsQueryRed\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
+\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsQueryWhite\^(\^XcmsCCC \fIccc\fP\^, XcmsColorFormat
+\fItarget_format\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+Note that the CCC's Client White Point and White Point Adjustment procedures
+are ignored.
+.ds Cs
+.IP \fIcolor_return\fP 1i
+Returns the color specification in the specified target format
+for \*(Cs.
+The white point associated with the returned
+color specification is the Screen White Point.
+The value returned in the pixel member is undefined.
+.IP \fItarget_format\fP 1i
+Specifies the target color specification format.
+.SH DESCRIPTION
+The
+.ZN XcmsQueryBlack
+function returns the color specification in the specified target format
+for zero-intensity red, green, and blue.
+.LP
+The
+.ZN XcmsQueryBlue
+function returns the color specification in the specified target format
+for full-intensity blue while red and green are zero.
+.LP
+The
+.ZN XcmsQueryGreen
+function returns the color specification in the specified target format
+for full-intensity green while red and blue are zero.
+.LP
+The
+.ZN XcmsQueryRed
+function returns the color specification in the specified target format
+for full-intensity red while green and blue are zero.
+.LP
+The
+.ZN XcmsQueryWhite
+function returns the color specification in the specified target format
+for full-intensity red, green, and blue.
+.SH "SEE ALSO"
+XcmsCIELabQueryMaxC(3X11),
+XcmsCIELuvQueryMaxC(3X11),
+XcmsTekHVCQueryMaxC(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsQueryColor.man b/libX11/man/XcmsQueryColor.man
new file mode 100644
index 000000000..b32b8c655
--- /dev/null
+++ b/libX11/man/XcmsQueryColor.man
@@ -0,0 +1,267 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsQClr.man,v 3.3 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsQueryColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsQueryColor, XcmsQueryColors, XcmsLookupColor \- obtain color values
+.SH SYNTAX
+.HP
+Status XcmsQueryColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+XcmsColor *\fIcolor_in_out\fP\^, XcmsColorFormat \fIresult_format\fP\^);
+.HP
+Status XcmsQueryColors\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^, XcmsColor \fIcolors_in_out\fP\^[\^]\^, unsigned int
+\fIncolors\fP\^, XcmsColorFormat \fIresult_format\fP\^);
+.HP
+Status XcmsLookupColor\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^, char *\fIcolor_string\fP\^, XcmsColor
+*\fIcolor_exact_return\fP\^, XcmsColor *\fIcolor_screen_return\fP\^,
+XcmsColorFormat \fIresult_format\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIcolor_exact_return\fP 1i
+Returns the color specification parsed from the color string
+or parsed from the corresponding string found in a color-name database.
+.IP \fIcolor_in_out\fP 1i
+Specifies the pixel member that indicates the color cell to query.
+The color specification stored for the color cell is returned in this
+.ZN XcmsColor
+structure.
+.IP \fIcolor_screen_return\fP 1i
+Returns the color that can be reproduced on the screen.
+.ds St
+.IP \fIcolor_string\fP 1i
+Specifies the color string\*(St.
+.IP \fIresult_format\fP 1i
+Specifies the color format for the returned color
+specifications (color_screen_return and color_exact_return arguments).
+If the format is
+.ZN XcmsUndefinedFormat
+and the color string contains a
+numerical color specification,
+the specification is returned in the format used in that numerical
+color specification.
+If the format is
+.ZN XcmsUndefinedFormat
+and the color string contains a color name,
+the specification is returned in the format used
+to store the color in the database.
+.IP \fIncolors\fP 1i
+Specifies the number of
+.ZN XcmsColor
+structures in the color-specification array.
+.SH DESCRIPTION
+The
+.ZN XcmsQueryColor
+function obtains the RGB value
+for the pixel value in the pixel member of the specified
+.ZN XcmsColor
+structure and then
+converts the value to the target format as
+specified by the result_format argument.
+If the pixel is not a valid index in the specified colormap, a
+.ZN BadValue
+error results.
+The
+.ZN XcmsQueryColors
+function obtains the RGB values
+for pixel values in the pixel members of
+.ZN XcmsColor
+structures and then
+converts the values to the target format as
+specified by the result_format argument.
+If a pixel is not a valid index into the specified colormap, a
+.ZN BadValue
+error results.
+If more than one pixel is in error,
+the one that gets reported is arbitrary.
+.LP
+.ZN XcmsQueryColor
+and
+.ZN XcmsQueryColors
+can generate
+.ZN BadColor
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XcmsLookupColor
+function looks up the string name of a color with respect to the screen
+associated with the specified colormap.
+It returns both the exact color values and
+the closest values provided by the screen
+with respect to the visual type of the specified colormap.
+The values are returned in the format specified by result_format.
+If the color name is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Use of uppercase or lowercase does not matter.
+.ZN XcmsLookupColor
+returns
+.ZN XcmsSuccess
+or
+.ZN XcmsSuccessWithCompression
+if the name is resolved; otherwise, it returns
+.ZN XcmsFailure .
+If
+.ZN XcmsSuccessWithCompression
+is returned, the color specification returned in
+color_screen_return is the result of gamut compression.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XcmsAllocColor(3X11),
+XcmsStoreColor(3X11),
+XQueryColor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsSetWhitePoint.man b/libX11/man/XcmsSetWhitePoint.man
new file mode 100644
index 000000000..1af22e20e
--- /dev/null
+++ b/libX11/man/XcmsSetWhitePoint.man
@@ -0,0 +1,198 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsSWP.man,v 1.2 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsSetWhitePoint __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsSetWhitePoint, XcmsSetWhiteAdjustProc \- modifying CCC attributes
+.SH SYNTAX
+.HP
+Status XcmsSetWhitePoint\^(\^XcmsCCC \fIccc\fP\^, XcmsColor *\fIcolor\fP\^);
+.HP
+XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc\^(\^XcmsCCC \fIccc\fP\^,
+XcmsWhiteAdjustProc \fIwhite_adjust_proc\fP\^, XPointer \fIclient_data\fP\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+.ds Cd the white point adjustment procedure
+.IP \fIclient_data\fP 1i
+Specifies client data for \*(Cd or NULL.
+.ds Co new Client White Point
+.IP \fIcolor\fP 1i
+Specifies the \*(Co.
+.IP \fIwhite_adjust_proc\fP 1i
+Specifies the white point adjustment procedure.
+.SH DESCRIPTION
+The
+.ZN XcmsSetWhitePoint
+function changes the Client White Point in the specified CCC.
+Note that the pixel member is ignored
+and that the color specification is left unchanged upon return.
+The format for the new white point must be
+.ZN XcmsCIEXYZFormat ,
+.ZN XcmsCIEuvYFormat ,
+.ZN XcmsCIExyYFormat ,
+or
+.ZN XcmsUndefinedFormat .
+If the color argument is NULL, this function sets the format component of the
+Client White Point specification to
+.ZN XcmsUndefinedFormat ,
+indicating that the Client White Point is assumed to be the same as the
+Screen White Point.
+.LP
+This function returns nonzero status
+if the format for the new white point is valid;
+otherwise, it returns zero.
+
+.LP
+The
+.ZN XcmsSetWhiteAdjustProc
+function first sets the white point adjustment procedure and client data
+in the specified CCC with the newly specified procedure and client data
+and then returns the old procedure.
+.SH "SEE ALSO"
+DisplayOfCCC(3X11),
+XcmsCCCOfColormap(3X11),
+XcmsConvertColors(3X11),
+XcmsCreateCCC(3X11),
+XcmsDefaultCCC(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsStoreColor.man b/libX11/man/XcmsStoreColor.man
new file mode 100644
index 000000000..b51889bed
--- /dev/null
+++ b/libX11/man/XcmsStoreColor.man
@@ -0,0 +1,307 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsSClr.man,v 1.2 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsStoreColor __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsStoreColor, XcmsStoreColors \- set colors
+.SH SYNTAX
+.HP
+Status XcmsStoreColor\^(\^Display *\fIdisplay\fP\^, Colormap \fIcolormap\fP\^,
+XcmsColor *\fIcolor\fP\^);
+.HP
+Status XcmsStoreColors\^(\^Display *\fIdisplay\fP\^, Colormap
+\fIcolormap\fP\^, XcmsColor \fIcolors\fP\^[\^]\^, int \fIncolors\fP\^, Bool
+\fIcompression_flags_return\fP\^[\^]\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIcolor\fP 1i
+Specifies the color cell and the color to store.
+Values specified in this
+.ZN XcmsColor
+structure remain unchanged on return.
+.IP \fIcolors\fP 1i
+Specifies the color specification array of
+.ZN XcmsColor
+structures, each specifying a color cell and the color to store in that
+cell.
+Values specified in the array remain unchanged upon return.
+.IP \fIcolormap\fP 1i
+Specifies the colormap.
+.IP \fIcompression_flags_return\fP 1i
+Returns an array of Boolean values indicating compression status.
+If a non-NULL pointer is supplied,
+each element of the array is set to
+.ZN True
+if the corresponding color was compressed and
+.ZN False
+otherwise.
+Pass NULL if the compression status is not useful.
+.IP \fIncolors\fP 1i
+Specifies the number of
+.ZN XcmsColor
+structures in the color-specification array.
+.SH DESCRIPTION
+The
+.ZN XcmsStoreColor
+function converts the color specified in the
+.ZN XcmsColor
+structure into RGB values.
+It then uses this RGB specification in an
+.ZN XColor
+structure, whose three flags
+.Pn ( DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue )
+are set, in a call to
+.ZN XStoreColor
+to change the color cell specified by the pixel member of the
+.ZN XcmsColor
+structure.
+This pixel value must be a valid index for the specified colormap,
+and the color cell specified by the pixel value must be a read/write cell.
+If the pixel value is not a valid index, a
+.ZN BadValue
+error results.
+If the color cell is unallocated or is allocated read-only, a
+.ZN BadAccess
+error results.
+If the colormap is an installed map for its screen,
+the changes are visible immediately.
+.LP
+Note that
+.ZN XStoreColor
+has no return value; therefore, an
+.ZN XcmsSuccess
+return value from this function indicates that the conversion
+to RGB succeeded and the call to
+.ZN XStoreColor
+was made.
+To obtain the actual color stored, use
+.ZN XcmsQueryColor .
+Because of the screen's hardware limitations or gamut compression,
+the color stored in the colormap may not be identical
+to the color specified.
+.LP
+.ZN XcmsStoreColor
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XcmsStoreColors
+function converts the colors specified in the array of
+.ZN XcmsColor
+structures into RGB values and then uses these RGB specifications in
+.ZN XColor
+structures, whose three flags
+.Pn ( DoRed ,
+.ZN DoGreen ,
+and
+.ZN DoBlue )
+are set, in a call to
+.ZN XStoreColors
+to change the color cells specified by the pixel member of the corresponding
+.ZN XcmsColor
+structure.
+Each pixel value must be a valid index for the specified colormap,
+and the color cell specified by each pixel value must be a read/write cell.
+If a pixel value is not a valid index, a
+.ZN BadValue
+error results.
+If a color cell is unallocated or is allocated read-only, a
+.ZN BadAccess
+error results.
+If more than one pixel is in error,
+the one that gets reported is arbitrary.
+If the colormap is an installed map for its screen,
+the changes are visible immediately.
+.LP
+Note that
+.ZN XStoreColors
+has no return value; therefore, an
+.ZN XcmsSuccess
+return value from this function indicates that conversions
+to RGB succeeded and the call to
+.ZN XStoreColors
+was made.
+To obtain the actual colors stored, use
+.ZN XcmsQueryColors .
+Because of the screen's hardware limitations or gamut compression,
+the colors stored in the colormap may not be identical
+to the colors specified.
+.LP
+.LP
+.ZN XcmsStoreColors
+can generate
+.ZN BadAccess ,
+.ZN BadColor ,
+and
+.ZN BadValue
+errors.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to free a color map entry that it did not already allocate.
+.TP 1i
+.ZN BadAccess
+A client attempted
+to store into a read-only color map entry.
+.TP 1i
+.ZN BadColor
+A value for a Colormap argument does not name a defined Colormap.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XcmsAllocColor(3X11),
+XcmsQueryColor(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XcmsTekHVCQueryMaxC.man b/libX11/man/XcmsTekHVCQueryMaxC.man
new file mode 100644
index 000000000..e98de0226
--- /dev/null
+++ b/libX11/man/XcmsTekHVCQueryMaxC.man
@@ -0,0 +1,244 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XcmsTQMC.man,v 1.3 2001/02/09 03:47:47 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XcmsTekHVCQueryMaxC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XcmsTekHVCQueryMaxC, XcmsTekHVCQueryMaxV, XcmsTekHVCQueryMaxVC, XcmsTekHVCQueryMaxVSamples, XcmsTekHVCQueryMinV \- obtain the TekHVC coordinates
+.SH SYNTAX
+.HP
+Status XcmsTekHVCQueryMaxC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat \fIhue\fP\^,
+XcmsFloat \fIvalue\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsTekHVCQueryMaxV\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat \fIhue\fP\^,
+XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsTekHVCQueryMaxVC\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat \fIhue\fP\^,
+XcmsColor *\fIcolor_return\fP\^);
+.HP
+Status XcmsTekHVCQueryMaxVSamples\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat
+\fIhue\fP\^, XcmsColor \fIcolors_return[]\fP\^, unsigned int
+\fInsamples\fP\^);
+.HP
+Status XcmsTekHVCQueryMinV\^(\^XcmsCCC \fIccc\fP\^, XcmsFloat \fIhue\fP\^,
+XcmsFloat \fIchroma\fP\^, XcmsColor *\fIcolor_return\fP\^);
+.SH ARGUMENTS
+.IP \fIccc\fP 1i
+Specifies the CCC.
+Note that the CCC's Client White Point and White Point Adjustment procedures
+are ignored.
+.ds Ch maximum Value (MaxV)
+.IP \fIchroma\fP 1i
+Specifies the chroma at which to find \*(Ch.
+.IP \fIcolors_return\fP 1i
+Returns nsamples of color specifications in XcmsTekHVC
+such that the Chroma is the maximum attainable for the Value and Hue.
+The white point associated with the returned
+color specification is the Screen White Point.
+The value returned in the pixel member is undefined.
+.ds Lc maximum Chroma along with the actual Hue and Value (MaxC), \
+maximum Value along with the Hue and Chroma (MaxV), \
+color specification in XcmsTekHVC for the maximum Chroma, \
+the Value at which that maximum Chroma is reached and actual Hue (MaxVC) \
+or minimum Value and the actual Hue and Chroma (MinL)
+.ds lC maximum Chroma (MaxC and MaxVC), maximum Value (MaxV), or \
+minimum Value (MinL)
+.IP \fIcolor_return\fP 1i
+Returns the \*(Lc at which the \*(lC was found.
+The white point associated with the returned
+color specification is the Screen White Point.
+The value returned in the pixel member is undefined.
+.ds Hu in which to find the maximum Chroma (MaxC and MaxVC), \
+maximum Value (MaxV), the maximum Chroma/Value samples (MaxVSamples), \
+or the minimum Value (MinL)
+.IP \fIhue\fP 1i
+Specifies the Hue \*(Hu.
+.IP \fInsamples\fP 1i
+Specifies the number of samples.
+.ds Va maximum Chroma (MaxC) or minimum Value (MinL)
+.IP \fIvalue\fP 1i
+Specifies the Value in which to find the \*(Va.
+.SH DESCRIPTION
+The
+.ZN XcmsTekHVCQueryMaxC
+function, given a Hue and Value,
+determines the maximum Chroma in TekHVC color space
+displayable by the screen.
+It returns the maximum Chroma along with the actual Hue
+and Value at which the maximum Chroma was found.
+.LP
+The
+.ZN XcmsTekHVCQueryMaxV
+function, given a Hue and Chroma,
+determines the maximum Value in TekHVC color space
+displayable by the screen.
+It returns the maximum Value and the actual Hue and Chroma
+at which the maximum Value was found.
+.LP
+The
+.ZN XcmsTekHVCQueryMaxVC
+function, given a Hue,
+determines the maximum Chroma in TekHVC color space displayable by the screen
+and the Value at which that maximum Chroma is reached.
+It returns the maximum Chroma,
+the Value at which that maximum Chroma is reached,
+and the actual Hue for which the maximum Chroma was found.
+.LP
+The
+.ZN XcmsTekHVCQueryMaxVSamples
+returns nsamples of maximum Value, the Chroma at which that maximum Value
+is reached, and the actual Hue for which the maximum Chroma was found.
+These sample points may then be used to plot the maximum Value/Chroma
+boundary of the screen's color gamut for the specified Hue in TekHVC color
+space.
+.LP
+The
+.ZN XcmsTekHVCQueryMinV
+function, given a Hue and Chroma,
+determines the minimum Value in TekHVC color space displayable by the screen.
+It returns the minimum Value and the actual Hue and Chroma at which
+the minimum Value was found.
+.SH "SEE ALSO"
+XcmsCIELabQueryMaxC(3X11),
+XcmsCIELuvQueryMaxC(3X11),
+XcmsQueryBlack(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbDrawImageString.man b/libX11/man/XmbDrawImageString.man
new file mode 100644
index 000000000..335077fdb
--- /dev/null
+++ b/libX11/man/XmbDrawImageString.man
@@ -0,0 +1,217 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbDIStr.man,v 1.3 2001/01/27 18:20:07 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbDrawImageString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbDrawImageString, XwcDrawImageString, Xutf8DrawImageString \- draw image text using a single font set
+.SH SYNTAX
+.HP
+void XmbDrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, char
+*\fIstring\fP\^, int \fInum_bytes\fP\^);
+.HP
+void XwcDrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^,
+wchar_t *\fIstring\fP\^, int \fInum_wchars\fP\^);
+.HP
+void Xutf8DrawImageString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, char
+*\fIstring\fP\^, int \fInum_bytes\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fInum_bytes\fP 1i
+Specifies the number of bytes in the string argument.
+.IP \fInum_wchars\fP 1i
+Specifies the number of characters in the string argument.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.ds Xy
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XmbDrawImageString ,
+.ZN XwcDrawImageString
+and
+.ZN Xutf8DrawImageString
+functions fill a destination rectangle with the background pixel defined
+in the GC and then paint the text with the foreground pixel.
+The filled rectangle is the rectangle returned to overall_logical_return by
+.ZN XmbTextExtents ,
+.ZN XwcTextExtents
+or
+.ZN Xutf8TextExtents
+for the same text and
+.ZN XFontSet .
+.LP
+When the
+.ZN XFontSet
+has missing charsets, each unavailable character is drawn
+with the default string returned by
+.ZN XCreateFontSet .
+The behavior for an invalid codepoint is undefined.
+.LP
+The function
+.ZN Xutf8TextExtents
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XDrawImageString(3X11),
+XDrawString(3X11),
+XDrawText(3X11),
+XmbDrawString(3X11),
+XmbDrawText(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbDrawString.man b/libX11/man/XmbDrawString.man
new file mode 100644
index 000000000..0af25f151
--- /dev/null
+++ b/libX11/man/XmbDrawString.man
@@ -0,0 +1,208 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbDStr.man,v 1.4 2002/04/30 16:45:02 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbDrawString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbDrawString, XwcDrawString, Xutf8DrawString \- draw text using a single font set
+.SH SYNTAX
+.HP
+void XmbDrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, XFontSet
+\fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, char
+*\fIstring\fP\^, int \fInum_bytes\fP\^);
+.HP
+void XwcDrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, XFontSet
+\fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, wchar_t
+*\fIstring\fP\^, int \fInum_wchars\fP\^);
+.HP
+void Xutf8DrawString\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^,
+XFontSet \fIfont_set\fP\^, GC \fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, char
+*\fIstring\fP\^, int \fInum_bytes\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fInum_bytes\fP 1i
+Specifies the number of bytes in the string argument.
+.IP \fInum_wchars\fP 1i
+Specifies the number of characters in the string argument.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.ds Xy
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XmbDrawString ,
+.ZN XwcDrawString
+and
+.ZN Xutf8DrawString
+functions draw the specified text with the foreground pixel.
+When the
+.ZN XFontSet
+has missing charsets, each unavailable character is drawn
+with the default string returned by
+.ZN XCreateFontSet .
+The behavior for an invalid codepoint is undefined.
+.LP
+The function
+.ZN Xutf8DrawString
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XDrawImageString(3X11),
+XDrawString(3X11),
+XDrawText(3X11),
+XmbDrawImageString(3X11),
+XmbDrawText(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbDrawText.man b/libX11/man/XmbDrawText.man
new file mode 100644
index 000000000..b857f5a1f
--- /dev/null
+++ b/libX11/man/XmbDrawText.man
@@ -0,0 +1,257 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbDTxt.man,v 1.4 2003/04/28 22:17:58 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XmbDrawText.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbDrawText __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbDrawText, XwcDrawText, Xutf8DrawText \- draw text using multiple font sets
+.SH SYNTAX
+.HP
+void XmbDrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XmbTextItem *\fIitems\fP\^, int
+\fInitems\fP\^);
+.HP
+void XwcDrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XwcTextItem *\fIitems\fP\^, int
+\fInitems\fP\^);
+.HP
+void Xutf8DrawText\^(\^Display *\fIdisplay\fP\^, Drawable \fId\fP\^, GC
+\fIgc\fP\^, int \fIx\fP\^, int \fIy\fP\^, XmbTextItem *\fIitems\fP\^, int \fInitems\fP\^);
+.SH ARGUMENTS
+.IP \fId\fP 1i
+Specifies the drawable.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIgc\fP 1i
+Specifies the GC.
+.IP \fIitems\fP 1i
+Specifies an array of text items.
+.IP \fInitems\fP 1i
+Specifies the number of text items in the array.
+.ds Xy
+.IP \fIx\fP 1i
+.br
+.ns
+.IP \fIy\fP 1i
+Specify the x and y coordinates\*(Xy.
+.SH DESCRIPTION
+The
+.ZN XmbDrawText ,
+.ZN XwcDrawText
+and
+.ZN Xutf8DrawText
+functions allow complex spacing and font set shifts between text strings.
+Each text item is processed in turn, with the origin of a text
+element advanced in the primary draw direction by the escapement of the
+previous text item.
+A text item delta specifies an additional escapement of the text item
+drawing origin in the primary draw direction.
+A font_set member other than
+.ZN None
+in an item causes the font set to be used for this and subsequent text items
+in the text_items list.
+Leading text items with a font_set member set to
+.ZN None
+will not be drawn.
+.LP
+.ZN XmbDrawText ,
+.ZN XwcDrawText
+and
+.ZN Xutf8DrawText
+do not perform any context-dependent rendering between text segments.
+Clients may compute the drawing metrics by passing each text segment to
+.ZN XmbTextExtents ,
+.ZN XwcTextExtents ,
+.ZN Xutf8TextExtents
+or
+.ZN XmbTextPerCharExtents ,
+.ZN XwcTextPerCharExtents .
+.ZN Xutf8TextPerCharExtents .
+When the
+.ZN XFontSet
+has missing charsets, each unavailable character is drawn
+with the default string returned by
+.ZN XCreateFontSet .
+The behavior for an invalid codepoint is undefined.
+.LP
+The function
+.ZN Xutf8DrawText
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH STRUCTURES
+The
+.ZN XmbTextItem
+structure contains:
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ char *chars; /\&* pointer to string */
+ int nchars; /\&* number of bytes */
+ int delta; /\&* pixel delta between strings */
+ XFontSet font_set; /\&* fonts, None means don't change */
+} XmbTextItem;
+.De
+The
+.ZN XwcTextItem
+structure contains:
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ wchar_t *chars; /\&* pointer to wide char string */
+ int nchars; /\&* number of wide characters */
+ int delta; /\&* pixel delta between strings */
+ XFontSet font_set; /\&* fonts, None means don't change */
+} XwcTextItem;
+.De
+.SH "SEE ALSO"
+XDrawImageString(3X11),
+XDrawString(3X11),
+XDrawText(3X11),
+XmbDrawImageString(3X11),
+XmbDrawString(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbLookupString.man b/libX11/man/XmbLookupString.man
new file mode 100644
index 000000000..c2413aec0
--- /dev/null
+++ b/libX11/man/XmbLookupString.man
@@ -0,0 +1,311 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbLStr.man,v 1.3 2001/01/27 18:20:08 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XmbLookupString __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbLookupString, XwcLookupString, Xutf8LookupString \- obtain composed input from an input method
+.SH SYNTAX
+.HP
+int XmbLookupString\^(\^XIC \fIic\fP\^, XKeyPressedEvent *\fIevent\fP, char
+*\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
+*\fIkeysym_return\fP\^, Status *\fIstatus_return\fP\^);
+.HP
+int XwcLookupString\^(\^XIC \fIic\fP\^, XKeyPressedEvent *\fIevent\fP\^,
+wchar_t *\fIbuffer_return\fP\^, int \fIwchars_buffer\fP\^, KeySym
+*\fIkeysym_return\fP\^, Status *\fIstatus_return\fP\^);
+.HP
+int Xutf8LookupString\^(\^XIC \fIic\fP\^, XKeyPressedEvent *\fIevent\fP, char
+*\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
+*\fIkeysym_return\fP\^, Status *\fIstatus_return\fP\^);
+.SH ARGUMENTS
+.IP \fIbuffer_return\fP 1i
+Returns a multibyte string or wide character string (if any)
+from the input method.
+.IP \fIbytes_buffer\fP 1i
+.br
+.ns
+.IP \fIwchars_buffer\fP 1i
+Specifies space available in the return buffer.
+.ds Ev key event to be used
+.IP \fIevent\fP 1i
+Specifies the \*(Ev.
+.IP \fIic\fP 1i
+Specifies the input context.
+.IP \fIkeysym_return\fP 1i
+Returns the KeySym computed from the event if this argument is not NULL.
+.IP \fIstatus_return\fP 1i
+Returns a value indicating what kind of data is returned.
+.SH DESCRIPTION
+The
+.ZN XmbLookupString ,
+.ZN XwcLookupString
+and
+.ZN Xutf8LookupString
+functions return the string from the input method specified
+in the buffer_return argument.
+If no string is returned,
+the buffer_return argument is unchanged.
+.LP
+The KeySym into which the KeyCode from the event was mapped is returned
+in the keysym_return argument if it is non-NULL and the status_return
+argument indicates that a KeySym was returned.
+If both a string and a KeySym are returned,
+the KeySym value does not necessarily correspond to the string returned.
+.LP
+.ZN XmbLookupString
+and
+.ZN Xutf8LookupString
+return the length of the string in bytes, and
+.ZN XwcLookupString
+returns the length of the string in characters.
+Both
+.ZN XmbLookupString
+and
+.ZN XwcLookupString
+return text in the encoding of the locale bound to the input method
+of the specified input context, and
+.ZN Xutf8LookupString
+returns text in UTF-8 encoding.
+.LP
+Each string returned by
+.ZN XmbLookupString
+and
+.ZN XwcLookupString
+begins in the initial state of the encoding of the locale
+(if the encoding of the locale is state-dependent).
+.NT
+To ensure proper input processing,
+it is essential that the client pass only
+.ZN KeyPress
+events to
+.ZN XmbLookupString ,
+.ZN XwcLookupString
+and
+.ZN Xutf8LookupString .
+Their behavior when a client passes a
+.ZN KeyRelease
+event is undefined.
+.NE
+.LP
+Clients should check the status_return argument before
+using the other returned values.
+These three functions each return a value to status_return
+that indicates what has been returned in the other arguments.
+The possible values returned are:
+.TS
+lw(1.5i) lw(4.3i).
+T{
+.ZN XBufferOverflow
+T} T{
+The input string to be returned is too large for the supplied buffer_return.
+The required size (for
+.ZN XmbLookupString ,
+.ZN Xutf8LookupString
+in bytes; for
+.ZN XwcLookupString
+in characters) is returned as the value of the function,
+and the contents of buffer_return and keysym_return are not modified.
+The client should recall the function with the same event
+and a buffer of adequate size to obtain the string.
+T}
+T{
+.ZN XLookupNone
+T} T{
+No consistent input has been composed so far.
+The contents of buffer_return and keysym_return are not modified,
+and the function returns zero.
+T}
+T{
+.ZN XLookupChars
+T} T{
+Some input characters have been composed.
+They are placed in the buffer_return argument, using the encoding
+described above,
+and the string length is returned as the value of the function.
+The content of the keysym_return argument is not modified.
+T}
+T{
+.ZN XLookupKeySym
+T} T{
+A KeySym has been returned instead of a string
+and is returned in keysym_return.
+The content of the buffer_return argument is not modified,
+and the function returns zero.
+T}
+T{
+.ZN XLookupBoth
+T} T{
+Both a KeySym and a string are returned;
+.ZN XLookupChars
+and
+.ZN XLookupKeySym
+occur simultaneously.
+T}
+.TE
+.LP
+It does not make any difference if the input context passed as an argument to
+.ZN XmbLookupString ,
+.ZN XwcLookupString
+and
+.ZN Xutf8LookupString
+is the one currently in possession of the focus or not.
+Input may have been composed within an input context before it lost the focus,
+and that input may be returned on subsequent calls to
+.ZN XmbLookupString ,
+.ZN XwcLookupString
+or
+.ZN Xutf8LookupString
+even though it does not have any more keyboard focus.
+.LP
+The function
+.ZN Xutf8LookupString
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XLookupKeysym(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbResetIC.man b/libX11/man/XmbResetIC.man
new file mode 100644
index 000000000..793921451
--- /dev/null
+++ b/libX11/man/XmbResetIC.man
@@ -0,0 +1,212 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbRIC.man,v 1.3 2001/01/27 18:20:08 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbResetIC __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbResetIC, XwcResetIC, Xutf8ResetIC \- reset the state of an input context
+.SH SYNTAX
+.HP
+char *XmbResetIC\^(\^XIC \fIic\fP\^);
+.HP
+wchar_t *XwcResetIC\^(\^XIC \fIic\fP\^);
+.HP
+char *Xutf8ResetIC\^(\^XIC \fIic\fP\^);
+.SH ARGUMENTS
+.IP \fIic\fP 1i
+Specifies the input context.
+.SH DESCRIPTION
+When
+.ZN XNResetState
+is set to
+.ZN XIMInitialState ,
+.ZN XmbResetIC ,
+.ZN XwcResetIC
+and
+.ZN Xutf8ResetIC
+reset an input context to its initial state;
+when
+.ZN XNResetState
+is set to
+.ZN XIMPreserveState ,
+the current input context state is preserved.
+In both cases, any input pending on that context is deleted.
+The input method is required to clear the preedit area, if any,
+and update the status accordingly.
+Calling
+.ZN XmbResetIC ,
+.ZN XwcResetIC
+or
+.ZN Xutf8ResetIC
+does not change the focus.
+.LP
+The return value of
+.ZN XmbResetIC
+is its current preedit string as a multibyte string.
+The return value of
+.ZN XwcResetIC
+is its current preedit string as a wide character string.
+The return value of
+.ZN Xutf8ResetIC
+is its current preedit string as an UTF-8 string.
+If there is any preedit text drawn or visible to the user,
+then these procedures must return a non-NULL string.
+If there is no visible preedit text,
+then it is input method implementation-dependent
+whether these procedures return a non-NULL string or NULL.
+.LP
+The client should free the returned string by calling
+.ZN XFree .
+.LP
+The function
+.ZN Xutf8ResetIC
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XCreateIC(3X11),
+XOpenIM(3X11),
+XSetICFocus(3X11),
+XSetICValues(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbTextEscapement.man b/libX11/man/XmbTextEscapement.man
new file mode 100644
index 000000000..85c44d6a3
--- /dev/null
+++ b/libX11/man/XmbTextEscapement.man
@@ -0,0 +1,191 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbTEsc.man,v 1.3 2001/01/27 18:20:08 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbTextEscapement __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbTextEscapement, XwcTextEscapement, Xutf8TextEscapement \- obtain the escapement of text
+.SH SYNTAX
+.HP
+int XmbTextEscapement\^(\^XFontSet \fIfont_set\fP\^, char *\fIstring\fP\^, int
+\fInum_bytes\fP\^);
+.HP
+int XwcTextEscapement\^(\^XFontSet \fIfont_set\fP\^, wchar_t *\fIstring\fP\^,
+int \fInum_wchars\fP\^);
+.HP
+int Xutf8TextEscapement\^(\^XFontSet \fIfont_set\fP\^, char *\fIstring\fP\^,
+int \fInum_bytes\fP\^);
+.SH ARGUMENTS
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fInum_bytes\fP 1i
+Specifies the number of bytes in the string argument.
+.IP \fInum_wchars\fP 1i
+Specifies the number of characters in the string argument.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.SH DESCRIPTION
+The
+.ZN XmbTextEscapement ,
+.ZN XwcTextEscapement
+and
+.ZN Xutf8TextEscapement
+functions return the escapement in pixels of the specified string as a value,
+using the fonts loaded for the specified font set.
+The escapement is the distance in pixels in the primary draw
+direction from the drawing origin to the origin of the next character to
+be drawn, assuming that the rendering of the next character is not
+dependent on the supplied string.
+.LP
+Regardless of the character rendering order,
+the escapement is always positive.
+.LP
+The function
+.ZN Xutf8TextEscapement
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XmbTextExtents(3X11),
+XmbTextPerCharExtents(3X11)
+\fI\*(xL\fP
diff --git a/libX11/man/XmbTextExtents.man b/libX11/man/XmbTextExtents.man
new file mode 100644
index 000000000..7275224f1
--- /dev/null
+++ b/libX11/man/XmbTextExtents.man
@@ -0,0 +1,227 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbTExt.man,v 1.4 2001/01/27 18:20:08 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbTextExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbTextExtents, XwcTextExtents, Xutf8TextExtents \- compute text extents
+.SH SYNTAX
+.HP
+int XmbTextExtents\^(\^XFontSet \fIfont_set\fP\^, char *\fIstring\fP\^, int
+\fInum_bytes\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
+*\fIoverall_logical_return\fP\^);
+.HP
+int XwcTextExtents\^(\^XFontSet \fIfont_set\fP\^, wchar_t *\fIstring\fP\^, int
+\fInum_wchars\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
+*\fIoverall_logical_return\fP\^);
+.HP
+int Xutf8TextExtents\^(\^XFontSet \fIfont_set\fP\^, char *\fIstring\fP\^, int
+\fInum_bytes\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
+*\fIoverall_logical_return\fP\^);
+.SH ARGUMENTS
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fInum_bytes\fP 1i
+Specifies the number of bytes in the string argument.
+.IP \fInum_wchars\fP 1i
+Specifies the number of characters in the string argument.
+.ds Ov dimensions
+.IP \fIoverall_ink_return\fP 1i
+Returns the overall ink \*(Ov.
+.IP \fIoverall_logical_return\fP 1i
+Returns the overall logical \*(Ov.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.SH DESCRIPTION
+The
+.ZN XmbTextExtents ,
+.ZN XwcTextExtents
+and
+.ZN Xutf8TextExtents
+functions set the components of the specified overall_ink_return and
+overall_logical_return
+arguments to the overall bounding box of the string's image
+and a logical bounding box for spacing purposes, respectively.
+They return the value returned by
+.ZN XmbTextEscapement ,
+.ZN XwcTextEscapement
+or
+.ZN Xutf8TextEscapement .
+These metrics are relative to the drawing origin of the string,
+using the fonts loaded for the specified font set.
+.LP
+If the overall_ink_return argument is non-NULL,
+it is set to the bounding box of the string's character ink.
+The overall_ink_return for a nondescending, horizontally drawn
+Latin character is conventionally entirely above the baseline;
+that is, overall_ink_return.height <= \-overall_ink_return.y.
+The overall_ink_return for a nonkerned character
+is entirely at, and to the right of, the origin;
+that is, overall_ink_return.x >= 0.
+A character consisting of a single pixel at the origin would set
+overall_ink_return fields y = 0, x = 0, width = 1, and height = 1.
+.LP
+If the overall_logical_return argument is non-NULL,
+it is set to the bounding box that provides minimum spacing
+to other graphical features for the string.
+Other graphical features, for example, a border surrounding the text,
+should not intersect this rectangle.
+.LP
+When the
+.ZN XFontSet
+has missing charsets,
+metrics for each unavailable character are taken
+from the default string returned by
+.ZN XCreateFontSet
+so that the metrics represent the text as it will actually be drawn.
+The behavior for an invalid codepoint is undefined.
+.LP
+The function
+.ZN Xutf8TextExtents
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XmbTextEscapement(3X11),
+XmbTextPerCharExtents(3X11)
+\fI\*(xL\fP
diff --git a/libX11/man/XmbTextListToTextProperty.man b/libX11/man/XmbTextListToTextProperty.man
new file mode 100644
index 000000000..23501e9b1
--- /dev/null
+++ b/libX11/man/XmbTextListToTextProperty.man
@@ -0,0 +1,461 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XTLTTProp.man,v 1.6 2003/04/28 22:17:57 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XmbTextListToTextProperty.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XmbTextListToTextProperty __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbTextListToTextProperty, XwcTextListToTextProperty, Xutf8TextListToTextProperty, XmbTextPropertyToTextList, XwcTextPropertyToTextList, Xutf8TextPropertyToTextList, XwcFreeStringList, XDefaultString \- convert text lists and text property structures
+.SH SYNTAX
+.HP
+int XmbTextListToTextProperty\^(\^Display *\fIdisplay\fP\^, char
+**\fIlist\fP\^, int \fIcount\fP\^, XICCEncodingStyle \fIstyle\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.HP
+int XwcTextListToTextProperty\^(\^Display *\fIdisplay\fP\^, wchar_t
+**\fIlist\fP\^, int \fIcount\fP\^, XICCEncodingStyle \fIstyle\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.HP
+int Xutf8TextListToTextProperty\^(\^Display *\fIdisplay\fP\^, char
+**\fIlist\fP\^, int \fIcount\fP\^, XICCEncodingStyle \fIstyle\fP\^,
+XTextProperty *\fItext_prop_return\fP\^);
+.HP
+int XmbTextPropertyToTextList\^(\^Display *\fIdisplay\fP\^, XTextProperty
+*\fItext_prop\fP\^, char ***\fIlist_return\fP\^, int *\fIcount_return\fP\^);
+.HP
+int XwcTextPropertyToTextList\^(\^Display *\fIdisplay\fP\^, XTextProperty
+*\fItext_prop\fP\^, wchar_t ***\fIlist_return\fP\^, int
+*\fIcount_return\fP\^);
+.HP
+int Xutf8TextPropertyToTextList\^(\^Display *\fIdisplay\fP\^, XTextProperty
+*\fItext_prop\fP\^, char ***\fIlist_return\fP\^, int *\fIcount_return\fP\^);
+.HP
+void XwcFreeStringList\^(\^wchar_t **\fIlist\fP\^);
+.HP
+char *XDefaultString\^(void)
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.IP \fIlist\fP 1i
+Specifies a list of null-terminated character strings.
+.IP \fIcount\fP 1i
+Specifies the number of strings specified.
+.IP \fIstyle\fP 1i
+Specifies the manner in which the property is encoded.
+.IP \fItext_prop_return\fP 1i
+Returns the
+.ZN XTextProperty
+structure.
+.IP \fItext_prop\fP 1i
+Specifies the
+.ZN XTextProperty
+structure to be used.
+.IP \fIlist_return\fP 1i
+Returns a list of null-terminated character strings.
+.ds Cn strings
+.IP \fIcount_return\fP 1i
+Returns the number of \*(Cn.
+.IP \fIlist\fP 1i
+Specifies the list of strings to be freed.
+.SH DESCRIPTION
+The
+.ZN XmbTextListToTextProperty ,
+.ZN XwcTextListToTextProperty
+and
+.ZN Xutf8TextListToTextProperty
+functions set the specified
+.ZN XTextProperty
+value to a set of null-separated elements representing the concatenation
+of the specified list of null-terminated text strings. The input text
+strings must be given in the current locale encoding (for
+.ZN XmbTextListToTextProperty
+and
+.ZN XwcTextListToTextProperty ),
+or in UTF-8 encoding (for
+.ZN Xutf8TextListToTextProperty ).
+.LP
+The functions set the encoding field of text_prop_return to an
+.ZN Atom
+for the specified display
+naming the encoding determined by the specified style
+and convert the specified text list to this encoding for storage in
+the text_prop_return value field.
+If the style
+.ZN XStringStyle
+or
+.ZN XCompoundTextStyle
+is specified,
+this encoding is ``STRING'' or ``COMPOUND_TEXT'', respectively.
+If the style
+.ZN XUTF8StringStyle
+is specified,
+this encoding is ``UTF8_STRING''.
+(This is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is indicated by the macro
+.ZN X_HAVE_UTF8_STRING .)
+If the style
+.ZN XTextStyle
+is specified,
+this encoding is the encoding of the current locale.
+If the style
+.ZN XStdICCTextStyle
+is specified,
+this encoding is ``STRING'' if the text is fully convertible to STRING,
+else ``COMPOUND_TEXT''.
+A final terminating null byte is stored at the end of the value field
+of text_prop_return but is not included in the nitems member.
+.LP
+If insufficient memory is available for the new value string,
+the functions return
+.ZN XNoMemory .
+If the current locale is not supported,
+the functions return
+.ZN XLocaleNotSupported .
+In both of these error cases,
+the functions do not set text_prop_return.
+.LP
+To determine if the functions are guaranteed not to return
+.ZN XLocaleNotSupported ,
+use
+.ZN XSupportsLocale .
+.LP
+If the supplied text is not fully convertible to the specified encoding,
+the functions return the number of unconvertible characters.
+Each unconvertible character is converted to an implementation-defined and
+encoding-specific default string.
+Otherwise, the functions return
+.ZN Success .
+Note that full convertibility to all styles except
+.ZN XStringStyle
+is guaranteed.
+.LP
+To free the storage for the value field, use
+.ZN XFree .
+.LP
+The
+.ZN XmbTextPropertyToTextList ,
+.ZN XwcTextPropertyToTextList
+and
+.ZN Xutf8TextPropertyToTextList
+functions return a list of text strings representing the
+null-separated elements of the specified
+.ZN XTextProperty
+structure. The returned strings are encoded using the current locale encoding
+(for
+.ZN XmbTextPropertyToTextList
+and
+.ZN XwcTextPropertyToTextList )
+or in UTF-8 (for
+.ZN Xutf8TextPropertyToTextList ).
+The data in text_prop must be format 8.
+.LP
+Multiple elements of the property (for example, the strings in a disjoint
+text selection) are separated by a null byte.
+The contents of the property are not required to be null-terminated;
+any terminating null should not be included in text_prop.nitems.
+.LP
+If insufficient memory is available for the list and its elements,
+.ZN XmbTextPropertyToTextList ,
+.ZN XwcTextPropertyToTextList
+and
+.ZN Xutf8TextPropertyToTextList
+return
+.ZN XNoMemory .
+If the current locale is not supported,
+the functions return
+.ZN XLocaleNotSupported .
+Otherwise, if the encoding field of text_prop is not convertible
+to the encoding of the current locale,
+the functions return
+.ZN XConverterNotFound .
+For supported locales,
+existence of a converter from COMPOUND_TEXT, STRING, UTF8_STRING
+or the encoding of the current locale is guaranteed if
+.ZN XSupportsLocale
+returns
+.ZN True
+for the current locale (but the actual text
+may contain unconvertible characters).
+Conversion of other encodings is implementation-dependent.
+In all of these error cases,
+the functions do not set any return values.
+.LP
+Otherwise,
+.ZN XmbTextPropertyToTextList ,
+.ZN XwcTextPropertyToTextList
+and
+.ZN Xutf8TextPropertyToTextList
+return the list of null-terminated text strings to list_return
+and the number of text strings to count_return.
+.LP
+If the value field of text_prop is not fully convertible to the
+encoding of the current locale,
+the functions return the number of unconvertible characters.
+Each unconvertible character is converted to a string in the
+current locale that is specific to the current locale.
+To obtain the value of this string,
+use
+.ZN XDefaultString .
+Otherwise,
+.ZN XmbTextPropertyToTextList ,
+.ZN XwcTextPropertyToTextList
+and
+.ZN Xutf8TextPropertyToTextList
+return
+.ZN Success .
+.LP
+To free the storage for the list and its contents returned by
+.ZN XmbTextPropertyToTextList
+or
+.ZN Xutf8TextPropertyToTextList ,
+use
+.ZN XFreeStringList .
+To free the storage for the list and its contents returned by
+.ZN XwcTextPropertyToTextList ,
+use
+.ZN XwcFreeStringList .
+.LP
+The
+.ZN XwcFreeStringList
+function frees memory allocated by
+.ZN XwcTextPropertyToTextList .
+.LP
+The
+.ZN XDefaultString
+function returns the default string used by Xlib for text conversion
+(for example, in
+.ZN XmbTextPropertyToTextList ).
+The default string is the string in the current locale that is output
+when an unconvertible character is found during text conversion.
+If the string returned by
+.ZN XDefaultString
+is the empty string ("\^"),
+no character is output in the converted text.
+.ZN XDefaultString
+does not return NULL.
+.LP
+The string returned by
+.ZN XDefaultString
+is independent of the default string for text drawing;
+see
+.ZN XCreateFontSet
+to obtain the default string for an
+.ZN XFontSet .
+.LP
+The behavior when an invalid codepoint is supplied to any Xlib function is
+undefined.
+.LP
+The returned string is null-terminated.
+It is owned by Xlib and should not be modified or freed by the client.
+It may be freed after the current locale is changed.
+Until freed, it will not be modified by Xlib.
+.LP
+The functions
+.ZN Xutf8TextListToTextProperty
+and
+.ZN Xutf8TextPropertyToTextList
+are extensions introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Their presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH STRUCTURES
+The
+.ZN XTextProperty
+structure contains:
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ unsigned char *value; /\&* property data */
+ Atom encoding; /\&* type of property */
+ int format; /\&* 8, 16, or 32 */
+ unsigned long nitems; /\&* number of items in value */
+} XTextProperty;
+.De
+.LP
+The
+.ZN XICCEncodingStyle
+structure contains:
+.LP
+.TS
+lw(.5i) lw(2i) lw(2.5i).
+T{
+\&#define
+T} T{
+.ZN XNoMemory
+T} T{
+\-1
+T}
+T{
+\&#define
+T} T{
+.ZN XLocaleNotSupported
+T} T{
+\-2
+T}
+T{
+\&#define
+T} T{
+.ZN XConverterNotFound
+T} T{
+\-3
+T}
+.TE
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef enum {
+ XStringStyle, /\&* STRING */
+ XCompoundTextStyle, /\&* COMPOUND_TEXT */
+ XTextStyle, /\&* text in owner's encoding (current locale) */
+ XStdICCTextStyle, /\&* STRING, else COMPOUND_TEXT */
+ XUTF8StringStyle /\&* UTF8_STRING */
+} XICCEncodingStyle;
+.De
+.SH "SEE ALSO"
+XSetTextProperty(3X11),
+XStringListToTextProperty(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XmbTextPerCharExtents.man b/libX11/man/XmbTextPerCharExtents.man
new file mode 100644
index 000000000..3f7b2c4ce
--- /dev/null
+++ b/libX11/man/XmbTextPerCharExtents.man
@@ -0,0 +1,257 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XmbTPCEx.man,v 1.4 2001/01/27 18:20:08 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XmbTextPerCharExtents __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XmbTextPerCharExtents, XwcTextPerCharExtents, Xutf8TextPerCharExtents \- obtain per-character information for a text string
+.SH SYNTAX
+.HP
+Status XmbTextPerCharExtents\^(\^XFontSet \fIfont_set\fP\^, char
+*\fIstring\fP\^, int \fInum_bytes\fP\^, XRectangle *\fIink_array_return\fP\^,
+XRectangle *\fIlogical_array_return\fP\^, int \fIarray_size\fP\^, int
+*\fInum_chars_return\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
+*\fIoverall_logical_return\fP\^);
+.HP
+Status XwcTextPerCharExtents\^(\^XFontSet \fIfont_set\fP\^, wchar_t
+*\fIstring\fP\^, int \fInum_wchars\fP\^, XRectangle
+*\fIink_array_return\fP\^, XRectangle *\fIlogical_array_return\fP, int
+\fIarray_size\fP\^, int *\fInum_chars_return\fP\^, XRectangle
+*\fIoverall_ink_return\fP\^, XRectangle *\fIoverall_logical_return\fP\^);
+.HP
+Status Xutf8TextPerCharExtents\^(\^XFontSet \fIfont_set\fP\^, char
+*\fIstring\fP\^, int \fInum_bytes\fP\^, XRectangle *\fIink_array_return\fP\^,
+XRectangle *\fIlogical_array_return\fP\^, int \fIarray_size\fP\^, int
+*\fInum_chars_return\fP\^, XRectangle *\fIoverall_ink_return\fP\^, XRectangle
+*\fIoverall_logical_return\fP\^);
+.SH ARGUMENTS
+.IP \fIarray_size\fP 1i
+Specifies the size of ink_array_return and logical_array_return.
+The caller must pass in arrays of this size.
+.IP \fIfont_set\fP 1i
+Specifies the font set.
+.IP \fIink_array_return\fP 1i
+Returns the ink dimensions for each character.
+.IP \fIlogical_array_return\fP 1i
+Returns the logical dimensions for each character.
+.IP \fInum_bytes\fP 1i
+Specifies the number of bytes in the string argument.
+.IP \fInum_chars_return\fP 1i
+Returns the number of characters in the string argument.
+.IP \fInum_wchars\fP 1i
+Specifies the number of characters in the string argument.
+.ds Ov extents of the entire string
+.IP \fIoverall_ink_return\fP 1i
+Returns the overall ink \*(Ov.
+.IP \fIoverall_logical_return\fP 1i
+Returns the overall logical \*(Ov.
+.IP \fIstring\fP 1i
+Specifies the character string.
+.SH DESCRIPTION
+The
+.ZN XmbTextPerCharExtents ,
+.ZN XwcTextPerCharExtents
+and
+.ZN Xutf8TextPerCharExtents
+functions return the text dimensions of each character of the specified text,
+using the fonts loaded for the specified font set.
+Each successive element of ink_array_return and logical_array_return
+is set to the successive character's drawn metrics,
+relative to the drawing origin of the string and one
+rectangle
+for each character in the supplied text string.
+The number of elements of ink_array_return and logical_array_return
+that have been set is returned to num_chars_return.
+.LP
+Each element of ink_array_return is set to the bounding box
+of the corresponding character's drawn foreground color.
+Each element of logical_array_return is set to the bounding box
+that provides minimum spacing to other graphical features
+for the corresponding character.
+Other graphical features should not intersect any of the
+logical_array_return rectangles.
+.LP
+Note that an
+.ZN XRectangle
+represents the effective drawing dimensions of the character,
+regardless of the number of font glyphs that are used to draw
+the character or the direction in which the character is drawn.
+If multiple characters map to a single character glyph,
+the dimensions of all the
+.ZN XRectangles
+of those characters are the same.
+.LP
+When the
+.ZN XFontSet
+has missing charsets, metrics for each unavailable
+character are taken from the default string returned by
+.ZN XCreateFontSet
+so that the metrics represent the text as it will actually be drawn.
+The behavior for an invalid codepoint is undefined.
+.LP
+If the array_size is too small for the number of characters in the
+supplied text, the functions return zero
+and num_chars_return is set to the number of rectangles required.
+Otherwise, the functions return a nonzero value.
+.LP
+If the overall_ink_return or overall_logical_return argument is non-NULL,
+.ZN XmbTextPerCharExtents ,
+.ZN XwcTextPerCharExtents
+and
+.ZN Xutf8TextPerCharExtents
+return the maximum extent of the string's metrics to overall_ink_return
+or overall_logical_return, as returned by
+.ZN XmbTextExtents ,
+.ZN XwcTextExtents
+or
+.ZN Xutf8TextExtents .
+.LP
+The function
+.ZN Xutf8TextPerCharExtents
+is an extension introduced by The XFree86 Project, Inc. in their 4.0.2
+release. Its presence is
+indicated by the macro
+.ZN X_HAVE_UTF8_STRING .
+.SH "SEE ALSO"
+XmbTextEscapement(3X11),
+XmbTextExtents(3X11)
+\fI\*(xL\fP
diff --git a/libX11/man/XrmEnumerateDatabase.man b/libX11/man/XrmEnumerateDatabase.man
new file mode 100644
index 000000000..67bc1e055
--- /dev/null
+++ b/libX11/man/XrmEnumerateDatabase.man
@@ -0,0 +1,235 @@
+'\" t
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XEnumDB.man,v 1.4 2003/04/28 22:17:54 herrb Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" t
+.TH XrmEnumerateDatabase __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmEnumerateDatabase \- enumerate resource database entries
+.SH SYNTAX
+.TS
+lw(.5i) lw(2i) lw(2.5i).
+T{
+\&#define
+T} T{
+.ZN XrmEnumAllLevels
+T} T{
+0
+T}
+T{
+\&#define
+T} T{
+.ZN XrmEnumOneLevel
+T} T{
+1
+T}
+.TE
+.HP
+Bool XrmEnumerateDatabase\^(\^XrmDatabase \fIdatabase\fP\^, XrmNameList
+\fIname_prefix\fP\^, XrmClassList \fIclass_prefix\fP\^, int \fImode\fP\^, Bool
+(\^*\fIproc\fP\^)\^(\^)\^, XPointer \fIarg\fP\^);
+.SH ARGUMENTS
+.IP \fIdatabase\fP 1i
+Specifies the resource database.
+.IP \fIname_prefix\fP 1i
+Specifies the resource name prefix.
+.IP \fIclass_prefix\fP 1i
+Specifies the resource class prefix.
+.IP \fImode\fP 1i
+Specifies the number of levels to enumerate.
+.IP \fIproc\fP 1i
+Specifies the procedure that is to be called for each matching entry.
+.IP \fIarg\fP 1i
+Specifies the user-supplied argument that will be passed to the procedure.
+.SH DESCRIPTION
+The
+.ZN XrmEnumerateDatabase
+function calls the specified procedure for each resource in the database
+that would match some completion of the given name/class resource prefix.
+The order in which resources are found is implementation-dependent.
+If mode is
+.ZN XrmEnumOneLevel ,
+a resource must match the given name/class prefix with
+just a single name and class appended. If mode is
+.ZN XrmEnumAllLevels ,
+the resource must match the given name/class prefix with one or more names and
+classes appended.
+If the procedure returns
+.ZN True ,
+the enumeration terminates and the function returns
+.ZN True .
+If the procedure always returns
+.ZN False ,
+all matching resources are enumerated and the function returns
+.ZN False .
+.LP
+The procedure is called with the following arguments:
+.LP
+.\" Start marker code here
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+(*\fIproc\fP\^)(\^\fIdatabase\fP, \fIbindings\fP, \fIquarks\fP, \fItype\fP, \fIvalue\fP, \fIarg\fP\^)
+ XrmDatabase *\fIdatabase\fP\^;
+ XrmBindingList \fIbindings\fP\^;
+ XrmQuarkList \fIquarks\fP\^;
+ XrmRepresentation *\fItype\fP\^;
+ XrmValue *\fIvalue\fP\^;
+ XPointer \fIarg\fP\^;
+.De
+.\" End marker code here
+.LP
+The bindings and quarks lists are terminated by
+.ZN NULLQUARK .
+Note that pointers
+to the database and type are passed, but these values should not be modified.
+.LP
+The procedure must not modify the database.
+If Xlib has been initialized for threads, the procedure is called with
+the database locked and the result of a call by the procedure to any
+Xlib function using the same database is not defined.
+.SH "SEE ALSO"
+XrmGetResource(3X11),
+XrmInitialize(3X11),
+XrmPutResource(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XrmGetFileDatabase.man b/libX11/man/XrmGetFileDatabase.man
new file mode 100644
index 000000000..c46994a94
--- /dev/null
+++ b/libX11/man/XrmGetFileDatabase.man
@@ -0,0 +1,324 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGFDBase.man,v 1.2 2001/01/27 18:19:59 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.de EX
+.sp
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+.sp
+..
+.TH XrmGetFileDatabase __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmGetFileDatabase, XrmPutFileDatabase, XrmGetStringDatabase, XrmLocaleOfDatabase, XrmGetDatabase, XrmSetDatabase, XrmDestroyDatabase \- retrieve and store resource databases
+.SH SYNTAX
+.HP
+XrmDatabase XrmGetFileDatabase\^(\^char *\fIfilename\fP\^);
+.HP
+void XrmPutFileDatabase\^(\^XrmDatabase \fIdatabase\fP\^, char
+*\fIstored_db\fP\^);
+.HP
+XrmDatabase XrmGetStringDatabase\^(\^char *\fIdata\fP\^,
+.HP
+char *XrmLocaleOfDatabase\^(\^XrmDatabase \fIdatabase\fP\^);
+.HP
+XrmDatabase XrmGetDatabase\^(\^Display *\fIdisplay\fP\^);
+.HP
+void XrmSetDatabase\^(\^Display *\fIdisplay\fP\^, XrmDatabase
+\fIdatabase\fP\^);
+.HP
+void XrmDestroyDatabase\^(\^XrmDatabase \fIdatabase\fP\^);
+.SH ARGUMENTS
+.IP \fIfilename\fP 1i
+Specifies the resource database file name.
+.IP \fIdatabase\fP 1i
+Specifies the database that is to be used.
+.IP \fIstored_db\fP 1i
+Specifies the file name for the stored database.
+.IP \fIdata\fP 1i
+Specifies the database contents using a string.
+.IP \fIdatabase\fP 1i
+Specifies the resource database.
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.SH DESCRIPTION
+The
+.ZN XrmGetFileDatabase
+function opens the specified file,
+creates a new resource database, and loads it with the specifications
+read in from the specified file.
+The specified file should contain a sequence of entries in valid ResourceLine
+format (see section 15.1); the database that results from reading a file
+with incorrect syntax is implementation-dependent.
+The file is parsed in the current locale,
+and the database is created in the current locale.
+If it cannot open the specified file,
+.ZN XrmGetFileDatabase
+returns NULL.
+.LP
+The
+.ZN XrmPutFileDatabase
+function stores a copy of the specified database in the specified file.
+Text is written to the file as a sequence of entries in valid
+ResourceLine format (see section 15.1).
+The file is written in the locale of the database.
+Entries containing resource names that are not in the Host Portable Character
+Encoding or containing values that are not in the encoding of the database
+locale, are written in an implementation-dependent manner.
+The order in which entries are written is implementation-dependent.
+Entries with representation types other than ``String'' are ignored.
+.LP
+The
+.ZN XrmGetStringDatabase
+function creates a new database and stores the resources specified
+in the specified null-terminated string.
+.ZN XrmGetStringDatabase
+is similar to
+.ZN XrmGetFileDatabase
+except that it reads the information out of a string instead of out of a file.
+The string should contain a sequence of entries in valid ResourceLine
+format (see section 15.1) terminated by a null character;
+the database that results from using a string
+with incorrect syntax is implementation-dependent.
+The string is parsed in the current locale,
+and the database is created in the current locale.
+.LP
+If database is NULL,
+.ZN XrmDestroyDatabase
+returns immediately.
+.LP
+The
+.ZN XrmLocaleOfDatabase
+function returns the name of the locale bound to the specified
+database, as a null-terminated string.
+The returned locale name string is owned by Xlib and should not be
+modified or freed by the client.
+Xlib is not permitted to free the string until the database is destroyed.
+Until the string is freed,
+it will not be modified by Xlib.
+.LP
+The
+.ZN XrmGetDatabase
+function returns the database associated with the specified display.
+It returns NULL if a database has not yet been set.
+.LP
+The
+.ZN XrmSetDatabase
+function associates the specified resource database (or NULL)
+with the specified display.
+The database previously associated with the display (if any) is not destroyed.
+A client or toolkit may find this function convenient for retaining a database
+once it is constructed.
+.SH "FILE SYNTAX"
+The syntax of a resource file is a sequence of resource lines
+terminated by newline characters or the end of the file.
+The syntax of an individual resource line is:
+.LP
+.\" Start marker code here
+.EX
+ResourceLine = Comment | IncludeFile | ResourceSpec | <empty line>
+Comment = "!" {<any character except null or newline>}
+IncludeFile = "#" WhiteSpace "include" WhiteSpace FileName WhiteSpace
+FileName = <valid filename for operating system>
+ResourceSpec = WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value
+ResourceName = [Binding] {Component Binding} ComponentName
+Binding = "\&." | "*"
+WhiteSpace = {<space> | <horizontal tab>}
+Component = "?" | ComponentName
+ComponentName = NameChar {NameChar}
+NameChar = "a"\-"z" | "A"\-"Z" | "0"\-"9" | "_" | "-"
+Value = {<any character except null or unescaped newline>}
+.EE
+.LP
+Elements separated by vertical bar (|) are alternatives.
+Curly braces ({\&.\&.\&.}) indicate zero or more repetitions
+of the enclosed elements.
+Square brackets ([\&.\&.\&.]) indicate that the enclosed element is optional.
+Quotes ("\&.\&.\&.") are used around literal characters.
+.LP
+IncludeFile lines are interpreted by replacing the line with the
+contents of the specified file.
+The word ``include'' must be in lowercase.
+The file name is interpreted relative to the directory of the file in
+which the line occurs (for example, if the file name contains no
+directory or contains a relative directory specification).
+.LP
+If a ResourceName contains a contiguous sequence of two or more Binding
+characters, the sequence will be replaced with single ``\&.'' character
+if the sequence contains only ``\&.'' characters;
+otherwise, the sequence will be replaced with a single ``*'' character.
+.LP
+A resource database never contains more than one entry for a given
+ResourceName. If a resource file contains multiple lines with the
+same ResourceName, the last line in the file is used.
+.LP
+Any white space characters before or after the name or colon in a ResourceSpec
+are ignored.
+To allow a Value to begin with white space,
+the two-character sequence ``\^\\\^\fIspace\fP'' (backslash followed by space)
+is recognized and replaced by a space character,
+and the two-character sequence ``\^\\\^\fItab\fP''
+(backslash followed by horizontal tab)
+is recognized and replaced by a horizontal tab character.
+To allow a Value to contain embedded newline characters,
+the two-character sequence ``\^\\\^n'' is recognized and replaced by a
+newline character.
+To allow a Value to be broken across multiple lines in a text file,
+the two-character sequence ``\^\\\^\fInewline\fP''
+(backslash followed by newline) is
+recognized and removed from the value.
+To allow a Value to contain arbitrary character codes,
+the four-character sequence ``\^\\\^\fInnn\fP'',
+where each \fIn\fP is a digit character in the range of ``0''\^\-``7'',
+is recognized and replaced with a single byte that contains
+the octal value specified by the sequence.
+Finally, the two-character sequence ``\^\\\\'' is recognized
+and replaced with a single backslash.
+.SH "SEE ALSO"
+XrmGetResource(3X11),
+XrmInitialize(3X11),
+XrmPutResource(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XrmGetResource.man b/libX11/man/XrmGetResource.man
new file mode 100644
index 000000000..06d467c34
--- /dev/null
+++ b/libX11/man/XrmGetResource.man
@@ -0,0 +1,326 @@
+'\" e
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XGetRes.man,v 1.3 2001/02/09 03:47:45 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+'\" e
+.TH XrmGetResource __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmGetResource, XrmQGetResource, XrmQGetSearchList, XrmQGetSearchResource \- retrieve database resources and search lists
+.SH SYNTAX
+.HP
+Bool XrmGetResource\^(\^XrmDatabase \fIdatabase\fP\^, char *\fIstr_name\fP\^,
+char *\fIstr_class\fP\^, char **\fIstr_type_return\fP\^, XrmValue
+*\fIvalue_return\fP\^);
+.HP
+Bool XrmQGetResource\^(\^XrmDatabase \fIdatabase\fP\^, XrmNameList
+\fIquark_name\fP\^, XrmClassList \fIquark_class\fP\^, XrmRepresentation
+*\fIquark_type_return\fP\^, XrmValue *\fIvalue_return\fP\^);
+.HP
+typedef XrmHashTable *XrmSearchList;
+.sp
+Bool XrmQGetSearchList\^(\^XrmDatabase \fIdatabase\fP\^, XrmNameList
+\fInames\fP\^, XrmClassList \fIclasses\fP\^, XrmSearchList
+\fIlist_return\fP\^, int \fIlist_length\fP\^);
+.HP
+Bool XrmQGetSearchResource\^(\^XrmSearchList \fIlist\fP\^, XrmName
+\fIname\fP\^, XrmClass \fIclass\fP\^, XrmRepresentation *\fItype_return\fP\^,
+XrmValue *\fIvalue_return\fP\^);
+.SH ARGUMENTS
+.IP \fIclass\fP 1i
+Specifies the resource class.
+.IP \fIclasses\fP 1i
+Specifies a list of resource classes.
+.IP \fIdatabase\fP 1i
+Specifies the database that is to be used.
+.IP \fIlist\fP 1i
+Specifies the search list returned by
+.ZN XrmQGetSearchList .
+.IP \fIlist_length\fP 1i
+Specifies the number of entries (not the byte size) allocated for list_return.
+.IP \fIlist_return\fP 1i
+Returns a search list for further use.
+.IP \fIname\fP 1i
+Specifies the resource name.
+.IP \fInames\fP 1i
+Specifies a list of resource names.
+.IP \fIquark_class\fP 1i
+Specifies the fully qualified class of the value being retrieved (as a quark).
+.IP \fIquark_name\fP 1i
+Specifies the fully qualified name of the value being retrieved (as a quark).
+.IP \fIquark_type_return\fP 1i
+Returns the representation type of the destination (as a quark).
+.IP \fIstr_class\fP 1i
+Specifies the fully qualified class of the value being retrieved (as a string).
+.IP \fIstr_name\fP 1i
+Specifies the fully qualified name of the value being retrieved (as a string).
+.IP \fIstr_type_return\fP 1i
+Returns the representation type of the destination (as a string).
+.IP \fItype_return\fP 1i
+Returns data representation type.
+.IP \fIvalue_return\fP 1i
+Returns the value in the database.
+.SH DESCRIPTION
+The
+.ZN XrmGetResource
+and
+.ZN XrmQGetResource
+functions retrieve a resource from the specified database.
+Both take a fully qualified name/class pair, a destination
+resource representation, and the address of a value
+(size/address pair).
+The value and returned type point into database memory;
+therefore, you must not modify the data.
+.LP
+The database only frees or overwrites entries on
+.ZN XrmPutResource ,
+.ZN XrmQPutResource ,
+or
+.ZN XrmMergeDatabases .
+A client that is not storing new values into the database or
+is not merging the database should be safe using the address passed
+back at any time until it exits.
+If a resource was found, both
+.ZN XrmGetResource
+and
+.ZN XrmQGetResource
+return
+.ZN True ;
+otherwise, they return
+.ZN False .
+.LP
+The
+.ZN XrmQGetSearchList
+function takes a list of names and classes
+and returns a list of database levels where a match might occur.
+The returned list is in best-to-worst order and
+uses the same algorithm as
+.ZN XrmGetResource
+for determining precedence.
+If list_return was large enough for the search list,
+.ZN XrmQGetSearchList
+returns
+.ZN True ;
+otherwise, it returns
+.ZN False .
+.LP
+The size of the search list that the caller must allocate is
+dependent upon the number of levels and wildcards in the resource specifiers
+that are stored in the database.
+The worst case length is %3 sup n%,
+where \fIn\fP is the number of name or class components in names or classes.
+.LP
+When using
+.ZN XrmQGetSearchList
+followed by multiple probes for resources with a common name and class prefix,
+only the common prefix should be specified in the name and class list to
+.ZN XrmQGetSearchList .
+.LP
+The
+.ZN XrmQGetSearchResource
+function searches the specified database levels for the resource
+that is fully identified by the specified name and class.
+The search stops with the first match.
+.ZN XrmQGetSearchResource
+returns
+.ZN True
+if the resource was found;
+otherwise, it returns
+.ZN False .
+.LP
+A call to
+.ZN XrmQGetSearchList
+with a name and class list containing all but the last component
+of a resource name followed by a call to
+.ZN XrmQGetSearchResource
+with the last component name and class returns the same database entry as
+.ZN XrmGetResource
+and
+.ZN XrmQGetResource
+with the fully qualified name and class.
+.SH "MATCHING RULES"
+The algorithm for determining which resource database entry
+matches a given query is the heart of the resource manager.
+All queries must fully specify the name and class of the desired resource
+(use of the characters ``*'' and ``?'' are not permitted).
+The library supports up to 100 components in a full name or class.
+Resources are stored in the database with only partially specified
+names and classes, using pattern matching constructs.
+An asterisk (*) is a loose binding and is used to represent any number
+of intervening components, including none.
+A period (.) is a tight binding and is used to separate immediately
+adjacent components.
+A question mark (?) is used to match any single component name or class.
+A database entry cannot end in a loose binding;
+the final component (which cannot be the character ``?'') must be specified.
+The lookup algorithm searches the database for the entry that most
+closely matches (is most specific for) the full name and class being queried.
+When more than one database entry matches the full name and class,
+precedence rules are used to select just one.
+.LP
+The full name and class are scanned from left to right (from highest
+level in the hierarchy to lowest), one component at a time.
+At each level, the corresponding component and/or binding of each
+matching entry is determined, and these matching components and
+bindings are compared according to precedence rules.
+Each of the rules is applied at each level before moving to the next level,
+until a rule selects a single entry over all others.
+The rules, in order of precedence, are:
+.IP 1. 5
+An entry that contains a matching component (whether name, class,
+or the character ``?'')
+takes precedence over entries that elide the level (that is, entries
+that match the level in a loose binding).
+.IP 2. 5
+An entry with a matching name takes precedence over both
+entries with a matching class and entries that match using the character ``?''.
+An entry with a matching class takes precedence over
+entries that match using the character ``?''.
+.IP 3. 5
+An entry preceded by a tight binding takes precedence over entries
+preceded by a loose binding.
+.SH "SEE ALSO"
+XrmInitialize(3X11),
+XrmMergeDatabases(3X11),
+XrmPutResource(3X11),
+XrmUniqueQuark(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XrmInitialize.man b/libX11/man/XrmInitialize.man
new file mode 100644
index 000000000..c481bef09
--- /dev/null
+++ b/libX11/man/XrmInitialize.man
@@ -0,0 +1,265 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XInitial.man,v 1.4 2003/04/28 22:17:55 herrb Exp $
+.\" $XdotOrg: lib/X11/man/XrmInitialize.man,v 1.2 2004-04-23 18:42:09 eich Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XrmInitialize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec \- initialize the Resource Manager, Resource Manager structures, and parse the command line
+.SH SYNTAX
+.HP
+void XrmInitialize\^(void\^);
+.HP
+void XrmParseCommand\^(\^XrmDatabase *\fIdatabase\fP\^, XrmOptionDescList
+\fItable\fP\^, int \fItable_count\fP\^, char *\fIname\fP\^, int
+*\fIargc_in_out\fP\^, char **\fIargv_in_out\fP\^);
+.SH ARGUMENTS
+.IP \fIargc_in_out\fP 1i
+Specifies the number of arguments and returns the number of remaining arguments.
+.IP \fIargv_in_out\fP 1i
+Specifies the command line arguments
+and returns the remaining arguments.
+.IP \fIdatabase\fP 1i
+Specifies the resource database.
+.IP \fIname\fP 1i
+Specifies the application name.
+.IP \fItable\fP 1i
+Specifies the table of command line arguments to be parsed.
+.IP \fItable_count\fP 1i
+Specifies the number of entries in the table.
+.SH DESCRIPTION
+The
+.ZN XrmInitialize
+function initialize the resource manager.
+It must be called before any other Xrm functions are used.
+.LP
+The
+.ZN XrmParseCommand
+function parses an (argc, argv) pair according to the specified option table,
+loads recognized options into the specified database with type ``String,''
+and modifies the (argc, argv) pair to remove all recognized options.
+If database contains NULL,
+.ZN XrmParseCommand
+creates a new database and returns a pointer to it.
+Otherwise, entries are added to the database specified.
+If a database is created, it is created in the current locale.
+.LP
+The specified table is used to parse the command line.
+Recognized options in the table are removed from argv,
+and entries are added to the specified resource database
+in the order they occur in argv.
+The table entries contain information on the option string,
+the option name, the style of option,
+and a value to provide if the option kind is
+.ZN XrmoptionNoArg .
+The option names are compared byte-for-byte to arguments in argv,
+independent of any locale.
+The resource values given in the table are stored in the resource database
+without modification.
+All resource database entries are created
+using a ``String'' representation type.
+The argc argument specifies the number of arguments in argv
+and is set on return to the remaining number of arguments that were not parsed.
+The name argument should be the name of your application
+for use in building the database entry.
+The name argument is prefixed to the resourceName in the option table
+before storing a database entry.
+The name argument is treated as a single component, even if it
+has embedded periods.
+No separating (binding) character is inserted,
+so the table must contain either a period (.) or an asterisk (*)
+as the first character in each resourceName entry.
+To specify a more completely qualified resource name,
+the resourceName entry can contain multiple components.
+If the name argument and the resourceNames are not in the
+Host Portable Character Encoding,
+the result is implementation-dependent.
+.SH STRUCTURES
+The
+.ZN XrmValue ,
+.ZN XrmOptionKind ,
+and
+.ZN XrmOptionDescRec
+structures contain:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ unsigned int size;
+ XPointer addr;
+} XrmValue, *XrmValuePtr;
+.De
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef enum {
+ XrmoptionNoArg, /\&* Value is specified in XrmOptionDescRec.value */
+ XrmoptionIsArg, /\&* Value is the option string itself */
+ XrmoptionStickyArg, /\&* Value is characters immediately following option */
+ XrmoptionSepArg, /\&* Value is next argument in argv */
+ XrmoptionResArg, /\&* Resource and value in next argument in argv */
+ XrmoptionSkipArg, /\&* Ignore this option and the next argument in argv */
+ XrmoptionSkipLine, /\&* Ignore this option and the rest of argv */
+ XrmoptionSkipNArgs /\&* Ignore this option and the next
+ \ \ \ XrmOptionDescRec.value arguments in argv */
+} XrmOptionKind;
+.De
+.LP
+.Ds 0
+.TA .5i 2.5i
+.ta .5i 2.5i
+typedef struct {
+ char *option; /\&* Option specification string in argv */
+ char *specifier; /\&* Binding and resource name (sans application name) */
+ XrmOptionKind argKind; /\&* Which style of option it is */
+ XPointer value; /\&* Value to provide if XrmoptionNoArg or
+ \ \ \ XrmoptionSkipNArgs */
+} XrmOptionDescRec, *XrmOptionDescList;
+.De
+.SH "SEE ALSO"
+XrmGetResource(3X11),
+XrmMergeDatabases(3X11),
+XrmPutResource(3X11),
+XrmUniqueQuark(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XrmMergeDatabases.man b/libX11/man/XrmMergeDatabases.man
new file mode 100644
index 000000000..e1dc75ad0
--- /dev/null
+++ b/libX11/man/XrmMergeDatabases.man
@@ -0,0 +1,216 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XMDBases.man,v 1.2 2001/01/27 18:20:01 dawes Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XrmMergeDatabases __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmMergeDatabases, XrmCombineDatabase, XrmCombineFileDatabase \- merge resource databases
+.SH SYNTAX
+.HP
+void XrmMergeDatabases(\^XrmDatabase \fIsource_db\fP, XrmDatabase
+*\fItarget_db\fP\^);
+.HP
+void XrmCombineDatabase(\^XrmDatabase \fIsource_db\fP, XrmDatabase
+*\fItarget_db\fP, Bool \fIoverride\fP\^);
+.HP
+Status XrmCombineFileDatabase(\^char *\fIfilename\fP, XrmDatabase
+*\fItarget_db\fP\^, Bool \fIoverride\fP);
+.SH ARGUMENTS
+.IP \fIsource_db\fP 1i
+Specifies the resource database that is to be merged into the target database.
+.IP \fItarget_db\fP 1i
+Specifies the resource database into which the source
+database is to be merged.
+.IP \fIfilename\fP 1i
+Specifies the resource database file name.
+.IP \fIoverride\fP 1i
+Specifies whether source entries override target ones.
+.SH DESCRIPTION
+Calling the
+.ZN XrmMergeDatabases
+function is equivalent to calling the
+.ZN XrmCombineDatabase
+function with an override argument of
+.ZN True .
+.LP
+The
+.ZN XrmCombineDatabase
+function merges the contents of one database into another.
+If the same specifier is used for an entry in both databases,
+the entry in the source_db will replace the entry in the target_db
+if override is
+.ZN True ;
+otherwise, the entry in source_db is discarded.
+If target_db contains NULL,
+.ZN XrmCombineDatabase
+simply stores source_db in it.
+Otherwise, source_db is destroyed by the merge, but the database pointed
+to by target_db is not destroyed.
+The database entries are merged without changing values or types,
+regardless of the locales of the databases.
+The locale of the target database is not modified.
+.LP
+The
+.ZN XrmCombineFileDatabase
+function merges the contents of a resource file into a database.
+If the same specifier is used for an entry in both the file and
+the database,
+the entry in the file will replace the entry in the database
+if override is
+.ZN True ;
+otherwise, the entry in the file is discarded.
+The file is parsed in the current locale.
+If the file cannot be read,
+a zero status is returned;
+otherwise, a nonzero status is returned.
+If target_db contains NULL,
+.ZN XrmCombineFileDatabase
+creates and returns a new database to it.
+Otherwise, the database pointed to by target_db is not destroyed by the merge.
+The database entries are merged without changing values or types,
+regardless of the locale of the database.
+The locale of the target database is not modified.
+.SH "SEE ALSO"
+XrmGetResource(3X11),
+XrmInitialize(3X11),
+XrmPutResource(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XrmPutResource.man b/libX11/man/XrmPutResource.man
new file mode 100644
index 000000000..e42fbf81e
--- /dev/null
+++ b/libX11/man/XrmPutResource.man
@@ -0,0 +1,253 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XPutRes.man,v 1.3 2001/02/09 03:47:46 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XrmPutResource __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmPutResource, XrmQPutResource, XrmPutStringResource, XrmQPutStringResource, XrmPutLineResource \- store database resources
+.SH SYNTAX
+.HP
+void XrmPutResource\^(\^XrmDatabase *\fIdatabase\fP\^, char
+*\fIspecifier\fP\^, char *\fItype\fP\^, XrmValue *\fIvalue\fP\^);
+.HP
+void XrmQPutResource\^(\^XrmDatabase *\fIdatabase\fP\^, XrmBindingList
+\fIbindings\fP\^, XrmQuarkList \fIquarks\fP\^, XrmRepresentation \fItype\fP\^,
+XrmValue *\fIvalue\fP\^);
+.HP
+void XrmPutStringResource\^(\^XrmDatabase *\fIdatabase\fP\^, char
+*\fIspecifier\fP\^, char *\fIvalue\fP\^);
+.HP
+void XrmQPutStringResource\^(\^XrmDatabase *\fIdatabase\fP\^, XrmBindingList
+\fIbindings\fP\^, XrmQuarkList \fIquarks\fP\^, char *\fIvalue\fP\^);
+.HP
+void XrmPutLineResource\^(\^XrmDatabase *\fIdatabase\fP\^, char
+*\fIline\fP\^);
+.SH ARGUMENTS
+.IP \fIbindings\fP 1i
+Specifies a list of bindings.
+.IP \fIdatabase\fP 1i
+Specifies the resource database.
+.IP \fIline\fP 1i
+Specifies the resource name and value pair as a single string.
+.IP \fIquarks\fP 1i
+Specifies the complete or partial name or the class list of the resource.
+.IP \fIspecifier\fP 1i
+Specifies a complete or partial specification of the resource.
+.IP \fItype\fP 1i
+Specifies the type of the resource.
+.IP \fIvalue\fP 1i
+Specifies the value of the resource, which is specified as a string.
+.SH DESCRIPTION
+If database contains NULL,
+.ZN XrmPutResource
+creates a new database and returns a pointer to it.
+.ZN XrmPutResource
+is a convenience function that calls
+.ZN XrmStringToBindingQuarkList
+followed by:
+.LP
+.Ds
+XrmQPutResource(database, bindings, quarks, XrmStringToQuark(type), value)
+.De
+.LP
+If the specifier and type are not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+The value is stored in the database without modification.
+.LP
+If database contains NULL,
+.ZN XrmQPutResource
+creates a new database and returns a pointer to it.
+If a resource entry with the identical bindings and quarks already
+exists in the database, the previous type and value are replaced by the new
+specified type and value.
+The value is stored in the database without modification.
+.LP
+If database contains NULL,
+.ZN XrmPutStringResource
+creates a new database and returns a pointer to it.
+.ZN XrmPutStringResource
+adds a resource with the specified value to the specified database.
+.ZN XrmPutStringResource
+is a convenience function that first calls
+.ZN XrmStringToBindingQuarkList
+on the specifier and then calls
+.ZN XrmQPutResource ,
+using a ``String'' representation type.
+If the specifier is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+The value is stored in the database without modification.
+.LP
+If database contains NULL,
+.ZN XrmQPutStringResource
+creates a new database and returns a pointer to it.
+.ZN XrmQPutStringResource
+is a convenience routine that constructs an
+.ZN XrmValue
+for the value string (by calling
+.ZN strlen
+to compute the size) and
+then calls
+.ZN XrmQPutResource ,
+using a ``String'' representation type.
+The value is stored in the database without modification.
+.LP
+If database contains NULL,
+.ZN XrmPutLineResource
+creates a new database and returns a pointer to it.
+.ZN XrmPutLineResource
+adds a single resource entry to the specified database.
+The line should be in valid ResourceLine format (see section 15.1)
+terminated by a newline or null character;
+the database that results from using a string
+with incorrect syntax is implementation-dependent.
+The string is parsed in the locale of the database.
+If the
+.ZN ResourceName
+is not in the Host Portable Character Encoding,
+the result is implementation-dependent.
+Note that comment lines are not stored.
+.SH "SEE ALSO"
+XrmGetResource(3X11),
+XrmInitialize(3X11),
+XrmMergeDatabases(3X11),
+XrmUniqueQuark(3X11)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/XrmUniqueQuark.man b/libX11/man/XrmUniqueQuark.man
new file mode 100644
index 000000000..baaeac972
--- /dev/null
+++ b/libX11/man/XrmUniqueQuark.man
@@ -0,0 +1,304 @@
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/man/X11/XUQuark.man,v 1.4 2001/02/09 03:47:47 tsi Exp $
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XrmUniqueQuark __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XrmUniqueQuark, XrmStringToQuark, XrmPermStringToQuark, XrmQuarkToString, XrmStringToQuarkList, XrmStringToBindingQuarkList \- manipulate resource quarks
+.SH SYNOPSIS
+.HP
+XrmQuark XrmUniqueQuark\^(void);
+.LP
+\&#define XrmStringToName(string) XrmStringToQuark(string)
+.br
+\&#define XrmStringToClass(string) XrmStringToQuark(string)
+.br
+\&#define XrmStringToRepresentation(string) XrmStringToQuark(string)
+.HP
+int XrmQuark XrmStringToQuark\^(\^char *\fIstring\fP\^);
+.HP
+XrmQuark XrmPermStringToQuark\^(\^char *\fIstring\fP\^);
+.LP
+\&#define XrmStringToName(string) XrmStringToQuark(string)
+.br
+\&#define XrmStringToClass(string) XrmStringToQuark(string)
+.br
+\&#define XrmStringToRepresentation(string) XrmStringToQuark(string)
+.HP
+XrmQuark XrmStringToQuark\^(\^char *\fIstring\fP\^);
+.HP
+XrmQuark XrmPermStringToQuark\^(\^char *\fIstring\fP\^);
+.LP
+\&#define XrmNameToString(name) XrmQuarkToString(name)
+.br
+\&#define XrmClassToString(class) XrmQuarkToString(class)
+.br
+\&#define XrmRepresentationToString(type) XrmQuarkToString(type)
+.HP
+char *XrmQuarkToString\^(\^XrmQuark \fIquark\fP\^);
+.LP
+\&#define XrmStringToNameList(str, name) XrmStringToQuarkList((str), (name))
+.br
+\&#define XrmStringToClassList(str,class) XrmStringToQuarkList((str), (class))
+.sp
+.HP
+void XrmStringToQuarkList\^(\^char *\fIstring\fP\^, XrmQuarkList
+\fIquarks_return\fP\^);
+.HP
+XrmStringToBindingQuarkList\^(\^char *\fIstring\fP\^, XrmBindingList
+\fIbindings_return\fP\^, XrmQuarkList \fIquarks_return\fP\^);
+.SH ARGUMENTS
+.IP \fIbindings_return\fP 1i
+Returns the binding list.
+.IP \fIquark\fP 1i
+Specifies the quark for which the equivalent string is desired.
+.IP \fIquarks_return\fP 1i
+Returns the list of quarks.
+.ds Ql \ or quark list
+.IP \fIstring\fP 1i
+Specifies the string for which a quark\*(Ql is to be allocated.
+.SH DESCRIPTION
+The
+.ZN XrmUniqueQuark
+function allocates a quark that is guaranteed not to represent any string that
+is known to the resource manager.
+.LP
+These functions can be used to convert from string to quark representation.
+If the string is not in the Host Portable Character Encoding,
+the conversion is implementation-dependent.
+The string argument to
+.ZN XrmStringToQuark
+need not be permanently allocated storage.
+.ZN XrmPermStringToQuark
+is just like
+.ZN XrmStringToQuark ,
+except that Xlib is permitted to assume the string argument is permanently
+allocated,
+and, hence, that it can be used as the value to be returned by
+.ZN XrmQuarkToString .
+.LP
+For any given quark, if
+.ZN XrmStringToQuark
+returns a non-NULL value,
+all future calls will return the same value (identical address).
+.LP
+These functions can be used to convert from quark representation to string.
+The string pointed to by the return value must not be modified or freed.
+The returned string is byte-for-byte equal to the original
+string passed to one of the string-to-quark routines.
+If no string exists for that quark,
+.ZN XrmQuarkToString
+returns NULL.
+For any given quark, if
+.ZN XrmQuarkToString
+returns a non-NULL value,
+all future calls will return the same value (identical address).
+.LP
+These functions can be used to convert from string to quark representation.
+If the string is not in the Host Portable Character Encoding,
+the conversion is implementation-dependent.
+The string argument to
+.ZN XrmStringToQuark
+need not be permanently allocated storage.
+.ZN XrmPermStringToQuark
+is just like
+.ZN XrmStringToQuark ,
+except that Xlib is permitted to assume the string argument is permanently
+allocated,
+and, hence, that it can be used as the value to be returned by
+.ZN XrmQuarkToString .
+.LP
+For any given quark, if
+.ZN XrmStringToQuark
+returns a non-NULL value,
+all future calls will return the same value (identical address).
+.LP
+The
+.ZN XrmStringToQuarkList
+function converts the null-terminated string (generally a fully qualified name)
+to a list of quarks.
+The caller must allocate sufficient space for the quarks list before calling
+.ZN XrmStringToQuarkList .
+Note that the string must be in the valid ResourceName format
+(see section 15.1).
+If the string is not in the Host Portable Character Encoding,
+the conversion is implementation-dependent.
+.LP
+A binding list is a list of type
+.ZN XrmBindingList
+and indicates if components of name or class lists are bound tightly or loosely
+(that is, if wildcarding of intermediate components is specified).
+.LP
+.EX
+typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
+.EE
+.LP
+.ZN XrmBindTightly
+indicates that a period separates the components, and
+.ZN XrmBindLoosely
+indicates that an asterisk separates the components.
+.LP
+The
+.ZN XrmStringToBindingQuarkList
+function converts the specified string to a binding list and a quark list.
+The caller must allocate sufficient space for the quarks list and the
+binding list before calling
+.ZN XrmStringToBindingQuarkList .
+If the string is not in the Host Portable Character Encoding
+the conversion is implementation-dependent.
+Component names in the list are separated by a period or
+an asterisk character.
+If the string does not start with period or asterisk,
+a period is assumed.
+For example, ``*a.b*c'' becomes:
+.LP
+.TS
+l l l.
+quarks a b c
+bindings loose tight loose
+.TE
+.SH "SEE ALSO"
+XrmGetResource(3X11),
+XrmInitialize(3X11),
+XrmMergeDatabases(3X11),
+XrmPutResource(3X11)
+.LP
+\fI\*(xL\fP
diff --git a/libX11/man/xkb/Makefile.am b/libX11/man/xkb/Makefile.am
new file mode 100644
index 000000000..542baf297
--- /dev/null
+++ b/libX11/man/xkb/Makefile.am
@@ -0,0 +1,234 @@
+# Have to fake out automake by calling our man pages "DATA" since "MANS" won't
+# accept .3x as a valid man page suffix
+
+libmandir = $(LIB_MAN_DIR)
+
+LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%)
+
+libman_PRE = \
+ XkbActionCtrls.man \
+ XkbAddDeviceLedInfo.man \
+ XkbAddGeomColor.man \
+ XkbAddGeomDoodad.man \
+ XkbAddGeomKey.man \
+ XkbAddGeomKeyAlias.man \
+ XkbAddGeomOutline.man \
+ XkbAddGeomOverlay.man \
+ XkbAddGeomOverlayKey.man \
+ XkbAddGeomOverlayRow.man \
+ XkbAddGeomProperty.man \
+ XkbAddGeomRow.man \
+ XkbAddGeomSection.man \
+ XkbAddGeomShape.man \
+ XkbAddSymInterpret.man \
+ XkbAllocClientMap.man \
+ XkbAllocCompatMap.man \
+ XkbAllocControls.man \
+ XkbAllocDeviceInfo.man \
+ XkbAllocDeviceLedInfo.man \
+ XkbAllocGeomColors.man \
+ XkbAllocGeomDoodads.man \
+ XkbAllocGeomKeyAliases.man \
+ XkbAllocGeomKeys.man \
+ XkbAllocGeomOutlines.man \
+ XkbAllocGeomOverlayKey.man \
+ XkbAllocGeomOverlayRows.man \
+ XkbAllocGeomOverlays.man \
+ XkbAllocGeomPoints.man \
+ XkbAllocGeomProps.man \
+ XkbAllocGeomRows.man \
+ XkbAllocGeomSectionDoodads.man \
+ XkbAllocGeomSections.man \
+ XkbAllocGeomShapes.man \
+ XkbAllocGeometry.man \
+ XkbAllocIndicatorMaps.man \
+ XkbAllocKeyboard.man \
+ XkbAllocNames.man \
+ XkbAllocServerMap.man \
+ XkbApplyCompatMapToKey.man \
+ XkbBell.man \
+ XkbBellEvent.man \
+ XkbChangeControls.man \
+ XkbChangeDeviceInfo.man \
+ XkbChangeEnabledControls.man \
+ XkbChangeIndicators.man \
+ XkbChangeMap.man \
+ XkbChangeNames.man \
+ XkbChangeTypesOfKey.man \
+ XkbComputeRowBounds.man \
+ XkbComputeSectionBounds.man \
+ XkbComputeShapeBounds.man \
+ XkbComputeShapeTop.man \
+ XkbCopyKeyType.man \
+ XkbCopyKeyTypes.man \
+ XkbDeviceBell.man \
+ XkbDeviceBellEvent.man \
+ XkbFindOverlayForKey.man \
+ XkbForceBell.man \
+ XkbForceDeviceBell.man \
+ XkbFreeClientMap.man \
+ XkbFreeCompatMap.man \
+ XkbFreeComponentList.man \
+ XkbFreeControls.man \
+ XkbFreeDeviceInfo.man \
+ XkbFreeGeomColors.man \
+ XkbFreeGeomDoodads.man \
+ XkbFreeGeomKeyAliases.man \
+ XkbFreeGeomKeys.man \
+ XkbFreeGeomOutlines.man \
+ XkbFreeGeomOverlayKeys.man \
+ XkbFreeGeomOverlayRows.man \
+ XkbFreeGeomOverlays.man \
+ XkbFreeGeomPoints.man \
+ XkbFreeGeomProperties.man \
+ XkbFreeGeomRows.man \
+ XkbFreeGeomSections.man \
+ XkbFreeGeomShapes.man \
+ XkbFreeGeometry.man \
+ XkbFreeIndicatorMaps.man \
+ XkbFreeKeyboard.man \
+ XkbFreeNames.man \
+ XkbFreeServerMap.man \
+ XkbGetAccessXTimeout.man \
+ XkbGetAutoRepeatRate.man \
+ XkbGetAutoResetControls.man \
+ XkbGetBounceKeysDelay.man \
+ XkbGetCompatMap.man \
+ XkbGetControls.man \
+ XkbGetControlsChanges.man \
+ XkbGetDetectableAutorepeat.man \
+ XkbGetDeviceButtonActions.man \
+ XkbGetDeviceInfo.man \
+ XkbGetDeviceInfoChanges.man \
+ XkbGetDeviceLedInfo.man \
+ XkbGetGeometry.man \
+ XkbGetIndicatorChanges.man \
+ XkbGetIndicatorMap.man \
+ XkbGetIndicatorState.man \
+ XkbGetKeyActions.man \
+ XkbGetKeyBehaviors.man \
+ XkbGetKeyExplicitComponents.man \
+ XkbGetKeyModifierMap.man \
+ XkbGetKeySyms.man \
+ XkbGetKeyTypes.man \
+ XkbGetKeyVirtualModMap.man \
+ XkbGetKeyboard.man \
+ XkbGetKeyboardByName.man \
+ XkbGetMap.man \
+ XkbGetNameChanges.man \
+ XkbGetNamedGeometry.man \
+ XkbGetNamedIndicator.man \
+ XkbGetNames.man \
+ XkbGetSlowKeysDelay.man \
+ XkbGetState.man \
+ XkbGetStickyKeysOptions.man \
+ XkbGetUpdatedMap.man \
+ XkbGetVirtualMods.man \
+ XkbGetXlibControls.man \
+ XkbIgnoreExtension.man \
+ XkbInitCanonicalKeyTypes.man \
+ XkbKeyAction.man \
+ XkbKeyActionEntry.man \
+ XkbKeyActionsPtr.man \
+ XkbKeyGroupInfo.man \
+ XkbKeyGroupWidth.man \
+ XkbKeyGroupsWidth.man \
+ XkbKeyHasActions.man \
+ XkbKeyNumActions.man \
+ XkbKeyNumGroups.man \
+ XkbKeyNumSyms.man \
+ XkbKeySymEntry.man \
+ XkbKeySymsOffset.man \
+ XkbKeySymsPtr.man \
+ XkbKeyType.man \
+ XkbKeyTypeIndex.man \
+ XkbKeyTypesForCoreSymbols.man \
+ XkbKeycodeToKeysym.man \
+ XkbKeysymToModifiers.man \
+ XkbLatchGroup.man \
+ XkbLatchModifiers.man \
+ XkbLibraryVersion.man \
+ XkbListComponents.man \
+ XkbLockGroup.man \
+ XkbLockModifiers.man \
+ XkbLookupKeyBinding.man \
+ XkbLookupKeySym.man \
+ XkbModActionVMods.man \
+ XkbNoteControlsChanges.man \
+ XkbNoteDeviceChanges.man \
+ XkbNoteIndicatorChanges.man \
+ XkbNoteNameChanges.man \
+ XkbOpenDisplay.man \
+ XkbOutOfRangeGroupInfo.man \
+ XkbOutOfRangeGroupNumber.man \
+ XkbPtrActionX.man \
+ XkbPtrActionY.man \
+ XkbQueryExtension.man \
+ XkbRefreshKeyboardMapping.man \
+ XkbResizeDeviceButtonActions.man \
+ XkbResizeKeyActions.man \
+ XkbResizeKeySyms.man \
+ XkbResizeKeyType.man \
+ XkbSAActionSetCtrls.man \
+ XkbSAGroup.man \
+ XkbSAPtrDfltValue.man \
+ XkbSARedirectSetVMods.man \
+ XkbSARedirectSetVModsMask.man \
+ XkbSARedirectVMods.man \
+ XkbSARedirectVModsMask.man \
+ XkbSAScreen.man \
+ XkbSASetGroup.man \
+ XkbSASetPtrDfltValue.man \
+ XkbSASetScreen.man \
+ XkbSelectEventDetails.man \
+ XkbSelectEvents.man \
+ XkbSetAccessXTimeout.man \
+ XkbSetAutoRepeatRate.man \
+ XkbSetAutoResetControls.man \
+ XkbSetBounceKeysDelay.man \
+ XkbSetCompatMap.man \
+ XkbSetControls.man \
+ XkbSetDebuggingFlags.man \
+ XkbSetDetectableAutorepeat.man \
+ XkbSetDeviceButtonActions.man \
+ XkbSetDeviceInfo.man \
+ XkbSetIgnoreLockMods.man \
+ XkbSetIndicatorMap.man \
+ XkbSetMap.man \
+ XkbSetModActionVMods.man \
+ XkbSetNamedIndicator.man \
+ XkbSetNames.man \
+ XkbSetPtrActionX.man \
+ XkbSetPtrActionY.man \
+ XkbSetServerInternalMods.man \
+ XkbSetXlibControls.man \
+ XkbTranslateKeyCode.man \
+ XkbTranslateKeySym.man \
+ XkbUpdateMapFromCore.man \
+ XkbVirtualModsToReal.man
+
+# What we actually install
+
+if MANPAGES
+libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)
+endif
+
+EXTRA_DIST = $(libman_PRE)
+
+CLEANFILES = $(libman_DATA)
+
+include $(top_srcdir)/cpprules.in
+
+SUFFIXES += .$(LIB_MAN_SUFFIX) .man
+
+XORGRELSTRING = @PACKAGE_STRING@
+ XORGMANNAME = X Version 11
+
+MANDEFS = -D__libmansuffix__=$(LIB_MAN_SUFFIX) \
+ -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
+
+CPP_MAN_FLAGS = $(MANDEFS) $(EXTRAMANDEFS)
+
+.man.$(LIB_MAN_SUFFIX):
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
+
diff --git a/libX11/man/xkb/Makefile.in b/libX11/man/xkb/Makefile.in
new file mode 100644
index 000000000..b8b1f0348
--- /dev/null
+++ b/libX11/man/xkb/Makefile.in
@@ -0,0 +1,656 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Have to fake out automake by calling our man pages "DATA" since "MANS" won't
+# accept .3x as a valid man page suffix
+
+# -*- Makefile -*-
+# Rules for generating files using the C pre-processor
+# (Replaces CppFileTarget from Imake)
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/cpprules.in
+subdir = man/xkb
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/src/config.h \
+ $(top_builddir)/include/X11/XlibConf.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libmandir)"
+libmanDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(libman_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
+ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
+AMTAR = @AMTAR@
+APP_MAN_DIR = @APP_MAN_DIR@
+APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BIGFONT_CFLAGS = @BIGFONT_CFLAGS@
+BIGFONT_LIBS = @BIGFONT_LIBS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
+DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
+DSYMUTIL = @DSYMUTIL@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FILE_MAN_DIR = @FILE_MAN_DIR@
+FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
+I18N_MODULE_LIBS = @I18N_MODULE_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYSYMDEF = @KEYSYMDEF@
+LAUNCHD = @LAUNCHD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_MAN_DIR = @LIB_MAN_DIR@
+LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+LINT = @LINT@
+LINTLIB = @LINTLIB@
+LINT_FLAGS = @LINT_FLAGS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MALLOC_ZERO_CFLAGS = @MALLOC_ZERO_CFLAGS@
+MISC_MAN_DIR = @MISC_MAN_DIR@
+MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
+MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+RAWCPP = @RAWCPP@
+RAWCPPFLAGS = @RAWCPPFLAGS@
+SED = sed
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WCHAR32 = @WCHAR32@
+X11_CFLAGS = @X11_CFLAGS@
+X11_DATADIR = @X11_DATADIR@
+X11_EXTRA_DEPS = @X11_EXTRA_DEPS@
+X11_LIBDIR = @X11_LIBDIR@
+X11_LIBS = @X11_LIBS@
+X11_LOCALEDATADIR = @X11_LOCALEDATADIR@
+X11_LOCALEDIR = @X11_LOCALEDIR@
+X11_LOCALELIBDIR = @X11_LOCALELIBDIR@
+XDMCP_CFLAGS = @XDMCP_CFLAGS@
+XDMCP_LIBS = @XDMCP_LIBS@
+XERRORDB = @XERRORDB@
+XKBPROTO_CFLAGS = @XKBPROTO_CFLAGS@
+XKBPROTO_LIBS = @XKBPROTO_LIBS@
+XKBPROTO_REQUIRES = @XKBPROTO_REQUIRES@
+XKEYSYMDB = @XKEYSYMDB@
+XLOCALEDATADIR = @XLOCALEDATADIR@
+XLOCALEDIR = @XLOCALEDIR@
+XLOCALELIBDIR = @XLOCALELIBDIR@
+XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
+XPROTO_CFLAGS = @XPROTO_CFLAGS@
+XPROTO_LIBS = @XPROTO_LIBS@
+XTHREADLIB = @XTHREADLIB@
+XTHREADS = @XTHREADS@
+XTHREAD_CFLAGS = @XTHREAD_CFLAGS@
+XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
+XUSE_MTSAFE_API = @XUSE_MTSAFE_API@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libmandir = $(LIB_MAN_DIR)
+LIB_MAN_DIR_SUFFIX = $(LIB_MAN_DIR:@mandir@/man%=%)
+libman_PRE = \
+ XkbActionCtrls.man \
+ XkbAddDeviceLedInfo.man \
+ XkbAddGeomColor.man \
+ XkbAddGeomDoodad.man \
+ XkbAddGeomKey.man \
+ XkbAddGeomKeyAlias.man \
+ XkbAddGeomOutline.man \
+ XkbAddGeomOverlay.man \
+ XkbAddGeomOverlayKey.man \
+ XkbAddGeomOverlayRow.man \
+ XkbAddGeomProperty.man \
+ XkbAddGeomRow.man \
+ XkbAddGeomSection.man \
+ XkbAddGeomShape.man \
+ XkbAddSymInterpret.man \
+ XkbAllocClientMap.man \
+ XkbAllocCompatMap.man \
+ XkbAllocControls.man \
+ XkbAllocDeviceInfo.man \
+ XkbAllocDeviceLedInfo.man \
+ XkbAllocGeomColors.man \
+ XkbAllocGeomDoodads.man \
+ XkbAllocGeomKeyAliases.man \
+ XkbAllocGeomKeys.man \
+ XkbAllocGeomOutlines.man \
+ XkbAllocGeomOverlayKey.man \
+ XkbAllocGeomOverlayRows.man \
+ XkbAllocGeomOverlays.man \
+ XkbAllocGeomPoints.man \
+ XkbAllocGeomProps.man \
+ XkbAllocGeomRows.man \
+ XkbAllocGeomSectionDoodads.man \
+ XkbAllocGeomSections.man \
+ XkbAllocGeomShapes.man \
+ XkbAllocGeometry.man \
+ XkbAllocIndicatorMaps.man \
+ XkbAllocKeyboard.man \
+ XkbAllocNames.man \
+ XkbAllocServerMap.man \
+ XkbApplyCompatMapToKey.man \
+ XkbBell.man \
+ XkbBellEvent.man \
+ XkbChangeControls.man \
+ XkbChangeDeviceInfo.man \
+ XkbChangeEnabledControls.man \
+ XkbChangeIndicators.man \
+ XkbChangeMap.man \
+ XkbChangeNames.man \
+ XkbChangeTypesOfKey.man \
+ XkbComputeRowBounds.man \
+ XkbComputeSectionBounds.man \
+ XkbComputeShapeBounds.man \
+ XkbComputeShapeTop.man \
+ XkbCopyKeyType.man \
+ XkbCopyKeyTypes.man \
+ XkbDeviceBell.man \
+ XkbDeviceBellEvent.man \
+ XkbFindOverlayForKey.man \
+ XkbForceBell.man \
+ XkbForceDeviceBell.man \
+ XkbFreeClientMap.man \
+ XkbFreeCompatMap.man \
+ XkbFreeComponentList.man \
+ XkbFreeControls.man \
+ XkbFreeDeviceInfo.man \
+ XkbFreeGeomColors.man \
+ XkbFreeGeomDoodads.man \
+ XkbFreeGeomKeyAliases.man \
+ XkbFreeGeomKeys.man \
+ XkbFreeGeomOutlines.man \
+ XkbFreeGeomOverlayKeys.man \
+ XkbFreeGeomOverlayRows.man \
+ XkbFreeGeomOverlays.man \
+ XkbFreeGeomPoints.man \
+ XkbFreeGeomProperties.man \
+ XkbFreeGeomRows.man \
+ XkbFreeGeomSections.man \
+ XkbFreeGeomShapes.man \
+ XkbFreeGeometry.man \
+ XkbFreeIndicatorMaps.man \
+ XkbFreeKeyboard.man \
+ XkbFreeNames.man \
+ XkbFreeServerMap.man \
+ XkbGetAccessXTimeout.man \
+ XkbGetAutoRepeatRate.man \
+ XkbGetAutoResetControls.man \
+ XkbGetBounceKeysDelay.man \
+ XkbGetCompatMap.man \
+ XkbGetControls.man \
+ XkbGetControlsChanges.man \
+ XkbGetDetectableAutorepeat.man \
+ XkbGetDeviceButtonActions.man \
+ XkbGetDeviceInfo.man \
+ XkbGetDeviceInfoChanges.man \
+ XkbGetDeviceLedInfo.man \
+ XkbGetGeometry.man \
+ XkbGetIndicatorChanges.man \
+ XkbGetIndicatorMap.man \
+ XkbGetIndicatorState.man \
+ XkbGetKeyActions.man \
+ XkbGetKeyBehaviors.man \
+ XkbGetKeyExplicitComponents.man \
+ XkbGetKeyModifierMap.man \
+ XkbGetKeySyms.man \
+ XkbGetKeyTypes.man \
+ XkbGetKeyVirtualModMap.man \
+ XkbGetKeyboard.man \
+ XkbGetKeyboardByName.man \
+ XkbGetMap.man \
+ XkbGetNameChanges.man \
+ XkbGetNamedGeometry.man \
+ XkbGetNamedIndicator.man \
+ XkbGetNames.man \
+ XkbGetSlowKeysDelay.man \
+ XkbGetState.man \
+ XkbGetStickyKeysOptions.man \
+ XkbGetUpdatedMap.man \
+ XkbGetVirtualMods.man \
+ XkbGetXlibControls.man \
+ XkbIgnoreExtension.man \
+ XkbInitCanonicalKeyTypes.man \
+ XkbKeyAction.man \
+ XkbKeyActionEntry.man \
+ XkbKeyActionsPtr.man \
+ XkbKeyGroupInfo.man \
+ XkbKeyGroupWidth.man \
+ XkbKeyGroupsWidth.man \
+ XkbKeyHasActions.man \
+ XkbKeyNumActions.man \
+ XkbKeyNumGroups.man \
+ XkbKeyNumSyms.man \
+ XkbKeySymEntry.man \
+ XkbKeySymsOffset.man \
+ XkbKeySymsPtr.man \
+ XkbKeyType.man \
+ XkbKeyTypeIndex.man \
+ XkbKeyTypesForCoreSymbols.man \
+ XkbKeycodeToKeysym.man \
+ XkbKeysymToModifiers.man \
+ XkbLatchGroup.man \
+ XkbLatchModifiers.man \
+ XkbLibraryVersion.man \
+ XkbListComponents.man \
+ XkbLockGroup.man \
+ XkbLockModifiers.man \
+ XkbLookupKeyBinding.man \
+ XkbLookupKeySym.man \
+ XkbModActionVMods.man \
+ XkbNoteControlsChanges.man \
+ XkbNoteDeviceChanges.man \
+ XkbNoteIndicatorChanges.man \
+ XkbNoteNameChanges.man \
+ XkbOpenDisplay.man \
+ XkbOutOfRangeGroupInfo.man \
+ XkbOutOfRangeGroupNumber.man \
+ XkbPtrActionX.man \
+ XkbPtrActionY.man \
+ XkbQueryExtension.man \
+ XkbRefreshKeyboardMapping.man \
+ XkbResizeDeviceButtonActions.man \
+ XkbResizeKeyActions.man \
+ XkbResizeKeySyms.man \
+ XkbResizeKeyType.man \
+ XkbSAActionSetCtrls.man \
+ XkbSAGroup.man \
+ XkbSAPtrDfltValue.man \
+ XkbSARedirectSetVMods.man \
+ XkbSARedirectSetVModsMask.man \
+ XkbSARedirectVMods.man \
+ XkbSARedirectVModsMask.man \
+ XkbSAScreen.man \
+ XkbSASetGroup.man \
+ XkbSASetPtrDfltValue.man \
+ XkbSASetScreen.man \
+ XkbSelectEventDetails.man \
+ XkbSelectEvents.man \
+ XkbSetAccessXTimeout.man \
+ XkbSetAutoRepeatRate.man \
+ XkbSetAutoResetControls.man \
+ XkbSetBounceKeysDelay.man \
+ XkbSetCompatMap.man \
+ XkbSetControls.man \
+ XkbSetDebuggingFlags.man \
+ XkbSetDetectableAutorepeat.man \
+ XkbSetDeviceButtonActions.man \
+ XkbSetDeviceInfo.man \
+ XkbSetIgnoreLockMods.man \
+ XkbSetIndicatorMap.man \
+ XkbSetMap.man \
+ XkbSetModActionVMods.man \
+ XkbSetNamedIndicator.man \
+ XkbSetNames.man \
+ XkbSetPtrActionX.man \
+ XkbSetPtrActionY.man \
+ XkbSetServerInternalMods.man \
+ XkbSetXlibControls.man \
+ XkbTranslateKeyCode.man \
+ XkbTranslateKeySym.man \
+ XkbUpdateMapFromCore.man \
+ XkbVirtualModsToReal.man
+
+
+# What we actually install
+@MANPAGES_TRUE@libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)
+EXTRA_DIST = $(libman_PRE)
+CLEANFILES = $(libman_DATA)
+SUFFIXES = .pre .$(LIB_MAN_SUFFIX) .man
+WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
+CPP_FILES_FLAGS = $(WCHAR32_FLAGS)
+
+# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
+# to cpp, because that trick does not work on all ANSI C preprocessors.
+# Delete line numbers from the cpp output (-P is not portable, I guess).
+# Allow XCOMM to be preceded by whitespace and provide a means of generating
+# output lines with trailing backslashes.
+# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
+CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
+ -e '/^\#line *[0-9][0-9]* *.*$$/d' \
+ -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
+ -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
+ -e '/^[ ]*XHASH/s/XHASH/\#/' \
+ -e '/\@\@$$/s/\@\@$$/\\/'
+
+XORGRELSTRING = @PACKAGE_STRING@
+XORGMANNAME = X Version 11
+MANDEFS = -D__libmansuffix__=$(LIB_MAN_SUFFIX) \
+ -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
+
+CPP_MAN_FLAGS = $(MANDEFS) $(EXTRAMANDEFS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .pre .$(LIB_MAN_SUFFIX) .man
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/xkb/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/xkb/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-libmanDATA: $(libman_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(libmandir)" || $(MKDIR_P) "$(DESTDIR)$(libmandir)"
+ @list='$(libman_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(libmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libmandir)/$$f'"; \
+ $(libmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libmandir)/$$f"; \
+ done
+
+uninstall-libmanDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libman_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(libmandir)/$$f'"; \
+ rm -f "$(DESTDIR)$(libmandir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(libmandir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-libmanDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-libmanDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-libmanDATA install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-libmanDATA
+
+
+# Allow people to comment out lines by starting them with '##'
+.pre:
+ $(SED) -e '/^\#\#/d' $< | $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) | $(CPP_SED_MAGIC) > $@
+
+.man.$(LIB_MAN_SUFFIX):
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libX11/man/xkb/XkbActionCtrls.man b/libX11/man/xkb/XkbActionCtrls.man
new file mode 100644
index 000000000..243619013
--- /dev/null
+++ b/libX11/man/xkb/XkbActionCtrls.man
@@ -0,0 +1,146 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbActionCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbActionCtrls \- Returns the ctrls fields of act converted to an unsigned int
+.SH SYNOPSIS
+.B unsigned int XkbActionCtrls macro
+(
+.I act
+)
+.br
+ XkbCtrlsAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract controls
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbCtrlsAction structure change the state of the
+boolean controls.
+
+The
+.I type
+field can have any one of the values shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Controls Action Types
+_
+Type Effect
+_
+XkbSA_SetControls T{
+A key press enables any boolean controls specified in the ctrls fields that were
+not already enabled at
+the time of the key press.
+A key release disables any controls enabled by the key press.
+This action can cause XkbControlsNotify events.
+T}
+XkbSA_LockControls T{
+If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables
+any controls specified in
+the ctrls fields that were not already enabled at the time of the key press.
+.br
+If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release
+disables any controls
+specified in the ctrls fields that were not already disabled at the time of the
+key press.
+.br
+This action can cause XkbControlsNotify events.
+T}
+.TE
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 2.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 2 Control Action Flags
+_
+Flag Meaning
+_
+XkbSA_LockNoLock T{
+If set, and the action type is XkbSA_LockControls, the server only disables
+controls.
+T}
+XkbSA_LockNoUnlock T{
+If set, and the action type is XkbSA_LockControls, the server only enables
+controls.
+T}
+.TE
+
+The XkbSA_SetControls action implements a key that enables a boolean control
+when pressed and disables it
+when released. The XkbSA_LockControls action is used to implement a key that
+toggles the state of a
+boolean control each time it is pressed and released. The XkbSA_LockNoLock and
+XkbSA_LockNoUnlock flags
+allow modifying the toggling behavior to only unlock or only lock the boolean
+control.
+
+The
+.I ctrls0, ctrls1, ctrls2,
+and
+.I ctrls3
+fields represent the boolean controls in the
+.I enabled_ctrls
+field of the controls structure. Xkb macros, to convert between the two formats.
+
+.I XkbActionCtrls
+returns the
+.I ctrls
+fields of
+.I act
+converted to an unsigned int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbCtrlsAction {
+ unsigned char type; /\(** XkbSA_SetControls, XkbSA_LockControls */
+ unsigned char flags; /\(** with type, controls enabling and disabling
+of controls */
+ unsigned char ctrls3; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls2; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls1; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls0; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ } XkbCtrlsAction;
+.fi
diff --git a/libX11/man/xkb/XkbAddDeviceLedInfo.man b/libX11/man/xkb/XkbAddDeviceLedInfo.man
new file mode 100644
index 000000000..90db51c51
--- /dev/null
+++ b/libX11/man/xkb/XkbAddDeviceLedInfo.man
@@ -0,0 +1,131 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddDeviceLedInfo \- Initialize an XkbDeviceLedInfoRec structure
+.SH SYNOPSIS
+.B XkbDeviceLedInfoPtr XkbAddDeviceLedInfo
+(
+.I device_info,
+.I led_class,
+.I led_id
+)
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ unsigned int \fIled_class\fP\^;
+.br
+ unsigned int \fIled_id\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+structure in which to add LED info
+.TP
+.I \- led_class
+input extension class for LED device of interest
+.TP
+.I \- led_id
+input extension ID for LED device of interest
+.SH DESCRIPTION
+.LP
+.I XkbAddDeviceLedInfo
+first checks to see whether an entry matching
+.I led_class
+and
+.I led_id
+already exists in the
+.I device_info->leds
+array. If it finds a matching entry, it returns a pointer to that entry. Otherwise, it checks to be sure
+there is at least one empty entry in
+.I device_info->leds
+and extends it if there is not enough room. It then increments
+.I device_info->num_leds
+and fills in the next available entry in
+.I device_info->leds
+with
+.I led_class
+and
+.I led_id.
+
+If successful,
+.I XkbAddDeviceLedInfo
+returns a pointer to the XkbDeviceLedInfoRec structure that was initialized. If unable to allocate
+sufficient storage, or if
+.I device_info
+points to an invalid XkbDeviceInfoRec structure, or if
+.I led_class
+or
+.I led_id
+are inappropriate,
+.I XkbAddDeviceLedInfo
+returns NULL.
+
+To allocate additional space for button actions in an XkbDeviceInfoRec structure, use
+.I XkbResizeDeviceButtonActions.
+
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ typedef struct {
+ char * name; /\(** name for device */
+ Atom type; /\(** name for class of devices */
+ unsigned short device_spec; /\(** device of interest */
+ Bool has_own_state; /\(** True=>this device has its own state */
+ unsigned short supported; /\(** bits indicating supported capabilities */
+ unsigned short unsupported; /\(** bits indicating unsupported capabilities */
+ unsigned short num_btns; /\(** number of entries in btn_acts */
+ XkbAction * btn_acts; /\(** button actions */
+ unsigned short sz_leds; /\(** total number of entries in LEDs vector */
+ unsigned short num_leds; /\(** number of valid entries in LEDs vector */
+ unsigned short dflt_kbd_fb; /\(** input extension ID of default (core kbd) indicator */
+ unsigned short dflt_led_fb; /\(** input extension ID of default indicator feedback */
+ XkbDeviceLedInfoPtr leds; /\(** LED descriptions */
+ } XkbDeviceInfoRec, *XkbDeviceInfoPtr;
+
+
+ typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+ } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbResizeDeviceButtonActions (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomColor.man b/libX11/man/xkb/XkbAddGeomColor.man
new file mode 100644
index 000000000..4d6df3dc2
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomColor.man
@@ -0,0 +1,110 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomColor __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomColor \- Add one color name to an existing keyboard geometry
+description
+.SH SYNOPSIS
+.B XkbColorPtr XkbAddGeomColor
+(
+.I geom,
+.I spec,
+.I pixel
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ char * \fIspec\fP\^;
+.br
+ unsigned int \fIpixel\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- spec
+color to be added
+.TP
+.I \- pixel
+color to be added
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomColor
+adds the specified color
+.I name
+and
+.I pixel
+to the specified geometry
+.I geom.
+The top-level geometry description includes a list of up to MaxColors (32)
+.I color names.
+A color
+.I name
+is a string whose interpretation is not specified by Xkb and neither is the
+.I pixel
+value's interpretation. All other geometry data structures refer to colors using
+their indices in this global list or pointers to colors in this list.
+.I XkbAddGeomColor
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the color. To allocate space for an arbitrary number of colors to a
+geometry, use the
+.I XkbAllocGeomColors
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbColor {
+ unsigned int pixel; /\(** color */
+ char * spec; /\(** color name */
+ } XkbColorRec,*XkbColorPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomColors (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbAddGeomDoodad.man b/libX11/man/xkb/XkbAddGeomDoodad.man
new file mode 100644
index 000000000..f6be93cb1
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomDoodad.man
@@ -0,0 +1,123 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomDoodad __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomDoodad \- Add one doodad to a section of a keyboard geometry or to the
+top-level geometry
+.SH SYNOPSIS
+.B XkbDoodadPtr XkbAddGeomDoodad
+(
+.I geom ,
+.I section,
+.I name
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ Atom \fIname\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to which the doodad is added
+.TP
+.I \- section
+section, if any, to which the doodad is added
+.TP
+.I \- name
+name of the new doodad
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+A
+.I doodad
+describes some visible aspect of the keyboard that is not a key and is not a
+section.
+.I XkbAddGeomDoodad
+adds a doodad with name specified by
+.I name
+to the geometry
+.I geom
+if
+.I section
+is NULL or to the section of the geometry specified by
+.I section
+if
+.I section
+is not NULL.
+.I XkbAddGeomDoodad
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the doodad. If there is already a doodad with the name
+.I name
+in the doodad array for the geometry (if
+.I section
+is NULL) or the section (if
+.I section
+is non-NULL), a pointer to that doodad is returned. To allocate space for an
+arbitrary number of doodads to a section, use the
+.I XkbAllocGeomSectionDoodads
+function. To allocate space for an arbitrary number of doodads to a keyboard
+geometry, use the
+.I XkbAllocGeomDoodads
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef union _XkbDoodad {
+ XkbAnyDoodadRec any;
+ XkbShapeDoodadRec shape;
+ XkbTextDoodadRec text;
+ XkbIndicatorDoodadRec indicator;
+ XkbLogoDoodadRec logo;
+ } XkbDoodadRec, *XkbDoodadPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomDoodads (__libmansuffix__),
+.BR XkbAllocGeomSectionDoodads (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomKey.man b/libX11/man/xkb/XkbAddGeomKey.man
new file mode 100644
index 000000000..a4040dcbb
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomKey.man
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomKey \- Add one key at the end of an existing row of keys
+.SH SYNOPSIS
+.B XkbKeyPtr XkbAddGeomKey
+(
+.I row
+)
+.br
+ XkbRowPtr \fIrow\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row to be updated
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case
+the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the values of the
+element's structure from the arguments. For other functions, you must explicitly write code to fill
+the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary name. Programs that
+display images of keyboards can use geometry properties as hints, but they are not interpreted by
+Xkb. No other geometry structures refer to geometry properties.
+
+Keys are grouped into rows.
+.I XkbAddGeomKey
+adds one key to the end of the specified
+.I row.
+The key is allocated and zeroed.
+.I XkbAddGeomKey
+returns NULL if
+.I row
+is empty or if it was not able to allocate space for the key. To allocate space for an arbitrary
+number of keys to a row, use
+.I XkbAllocGeomKeys.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbKey { /\(** key in a row */
+ XkbKeyNameRec name; /\(** key name */
+ short gap; /\(** gap in mm/10 from previous key in row */
+ unsigned char shape_ndx; /\(** index of shape for key */
+ unsigned char color_ndx; /\(** index of color for key body */
+ } XkbKeyRec, *XkbKeyPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomKeys (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomKeyAlias.man b/libX11/man/xkb/XkbAddGeomKeyAlias.man
new file mode 100644
index 000000000..09997324a
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomKeyAlias.man
@@ -0,0 +1,99 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomKeyAlias __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomKeyAlias \- Add one key alias to an existing keyboard geometry
+description
+.SH SYNOPSIS
+.B XkbKeyAliasPtr XkbAddGeomKeyAlias
+(
+.I geom,
+.I alias,
+.I real
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ char * \fIalias\fP\^;
+.br
+ char * \fIreal\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- alias
+alias to be added
+.TP
+.I \- real
+real name to be bound to the new alias
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomKeyAlias
+adds one key alias with the value
+.I alias
+to the geometry
+.I geom,
+and associates it with the key whose real name is
+.I real. XkbAddGeomKeyAlias
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the alias. To allocate space for an arbitrary number of aliases, use
+the
+.I XkbAllocGeomKeyAliases
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct {
+ char real[XkbKeyNameLength]; /\(** this key name must be in the keys array */
+ char alias[XkbKeyNameLength]; /\(** symbolic key name as alias for the key */
+ } XkbKeyAliasRec,*XkbKeyAliasPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomKeyAliases (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomOutline.man b/libX11/man/xkb/XkbAddGeomOutline.man
new file mode 100644
index 000000000..521614ef4
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomOutline.man
@@ -0,0 +1,94 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomOutline __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOutline \- Add one outline to an existing shape
+.SH SYNOPSIS
+.B XkbOutlinePtr XkbAddGeomOutline
+(
+.I shape,
+.I sz_points
+)
+.br
+ XkbShapePtr \fIshape\fP\^;
+.br
+ int \fIsz_points\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape to be updated
+.TP
+.I \- sz_points
+number of points to be reserved
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+An outline consists of an arbitrary number of points.
+.I XkbAddGeomOutline
+adds an outline to the specified
+.I shape
+by reserving
+.I sz_points
+points for it. The new outline is allocated and zeroed.
+.I XkbAddGeomOutline
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space. To allocate space for an arbitrary number of outlines to a shape, use
+.I XkbAllocGeomOutlines.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOutline {
+ unsigned short num_points; /\(** number of points in the outline */
+ unsigned short sz_points; /\(** size of the points array */
+ unsigned short corner_radius; /\(** draw corners as circles with this radius */
+ XkbPointPtr points; /\(** array of points defining the outline */
+ } XkbOutlineRec, *XkbOutlinePtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomOutlines (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomOverlay.man b/libX11/man/xkb/XkbAddGeomOverlay.man
new file mode 100644
index 000000000..40cb85418
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomOverlay.man
@@ -0,0 +1,105 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomOverlay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOverlay \- Add one overlay to a section
+.SH SYNOPSIS
+.B XkbOverlayPtr XkbAddGeomOverlay
+(
+.I section,
+.I name,
+.I sz_rows
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ Atom \fIname\fP\^;
+.br
+ int \fIsz_rows\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section to which an overlay will be added
+.TP
+.I \- name
+name of the overlay
+.TP
+.I \- sz_rows
+number of rows to reserve in the overlay
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomOverlay
+adds an overlay with the specified name to the specified
+.I section.
+The new overlay is created with space allocated for
+.I sz_rows
+rows. If an overlay with name
+.I name
+already exists in the section, a pointer to the existing overlay is returned.
+.I XkbAddGeomOverlay
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the overlay. To allocate space for an arbitrary number of overlays to
+a section, use the
+.I XkbAllocGeomOverlay
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOverlayRec {
+ Atom name; /\(** overlay name */
+ XkbSectionPtr section_under; /\(** the section under this overlay */
+ unsigned short num_rows; /\(** number of rows in the rows array */
+ unsigned short sz_rows; /\(** size of the rows array */
+ XkbOverlayRowPtr rows; /\(** array of rows in the overlay */
+ XkbBoundsPtr bounds; /\(** bounding box for the overlay */
+ } XkbOverlayRec,*XkbOverlayPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomOverlay (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomOverlayKey.man b/libX11/man/xkb/XkbAddGeomOverlayKey.man
new file mode 100644
index 000000000..dfb8a4225
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomOverlayKey.man
@@ -0,0 +1,95 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomOverlayKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOverlayKey \- Add a key to an existing overlay row
+.SH SYNOPSIS
+.B XkbOverlayKeyPtr XkbAddGeomOverlayKey
+(
+.I overlay,
+.I row,
+.I under
+)
+.br
+ XkbOverlayPtr \fIoverlay\fP\^;
+.br
+ XkbRowPtr \fIrow\fP\^;
+.br
+ char * \fIunder\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+overlay to be updated
+.TP
+.I \- row
+row in overlay to be updated
+.TP
+.I \- under
+primary name of the key to be considered
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomOverlayKey
+adds one key to the
+.I row
+in the
+.I overlay.
+If there is no key named
+.I under
+in the row of the underlying section,
+.I XkbAddGeomOverlayKey
+returns NULL.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOverlayKey {
+ XkbKeyNameRec over; /\(** name of this overlay key */
+ XkbKeyNameRec under; /\(** name of the key under this overlay key */
+ } XkbOverlayKeyRec,*XkbOverlayKeyPtr;
+.fi
+
diff --git a/libX11/man/xkb/XkbAddGeomOverlayRow.man b/libX11/man/xkb/XkbAddGeomOverlayRow.man
new file mode 100644
index 000000000..c6866fa03
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomOverlayRow.man
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomOverlayRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOverlayRow \- Add a row to an existing overlay
+.SH SYNOPSIS
+.B XkbOverlayRowPtr XkbAddGeomOverlayRow
+(
+.I overlay,
+.I row_under,
+.I sz_keys
+)
+.br
+ XkbOverlayPtr \fIoverlay\fP\^;
+.br
+ XkbRowPtr \fIrow_under\fP\^;
+.br
+ int \fIsz_keys\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+overlay to be updated
+.TP
+.I \- row_under
+row to be overlayed in the section overlay overlays
+.TP
+.I \- sz_keys
+number of keys to reserve in the row
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomOverlayRow
+adds one row to the
+.I overlay.
+The new row contains space for
+.I sz_keys
+keys. If
+. I row_under
+specifies a row that doesn't exist on the underlying section,
+.I XkbAddGeomOverlayRow
+returns NULL and doesn't change the overlay.
+.I XkbAddGeomOverlayRow
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the overlay.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOverlayRow {
+ unsigned short row_under; /\(** index into the row under this overlay row */
+ unsigned short num_keys; /\(** number of keys in the keys array */
+ unsigned short sz_keys; /\(** size of the keys array */
+ XkbOverlayKeyPtr keys; /\(** array of keys in the overlay row */
+ } XkbOverlayRowRec,*XkbOverlayRowPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbAddGeomProperty.man b/libX11/man/xkb/XkbAddGeomProperty.man
new file mode 100644
index 000000000..f80b7715d
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomProperty.man
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomProperty __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomProperty \- Add one property to an existing keyboard geometry
+description
+.SH SYNOPSIS
+.B XkbPropertyPtr XkbAddGeomProperty
+(
+.I geom,
+.I name,
+.I value
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ char * \fIname\fP\^;
+.br
+ char * \fIvalue\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- name
+name of the new property
+.TP
+.I \- value
+value for the new property
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomProperty
+adds one property with the specified
+.I name
+and
+.I value
+to the keyboard geometry specified by
+.I geom. XkbAddGeomProperty
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the property. To allocate space for an arbitrary number of properties,
+use the
+.I XkbAllocGeomProps
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbProperty {
+ char * name; /\(** property name */
+ char * value; /\(** property value */
+ } XkbPropertyRec,*XkbPropertyPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomProps (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomRow.man b/libX11/man/xkb/XkbAddGeomRow.man
new file mode 100644
index 000000000..a74bddb98
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomRow.man
@@ -0,0 +1,88 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomRow \- Add a row to a section
+.SH SYNOPSIS
+.B XkbRowPtr XkbAddGeomRow
+(
+.I section,
+.I sz_keys
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ int \fIsz_keys\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section to be updated
+.TP
+.I \- sz_keys
+number of keys to be reserved
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the arguments. For other functions, you must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to geometry properties.
+
+One of the components of a keyboard geometry section is one or more rows of keys.
+.I XkbAddGeomRow
+adds one row to the specified
+.I section.
+The newly created row contains space for the number of keys specified in
+.I sz_keys.
+They are allocated and zeroed, but otherwise uninitialized.
+.I XkbAddGeomRow
+returns NULL if any of the parameters is empty or if it was not able to allocate space for the row. To allocate space for an arbitrary number of rows to a section, use the
+.I XkbAllocGeomRows
+function.
+.SH STRUCTURES
+.LP
+.nf
+typedef struct _XkbRow {
+ short top;
+ short left;
+ unsigned short num_keys;
+ unsigned short sz_keys;
+ int vertical;
+ XkbKeyPtr keys;
+ XkbBoundsRec bounds;
+} XkbRowRec, *XkbRowPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomRows (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomSection.man b/libX11/man/xkb/XkbAddGeomSection.man
new file mode 100644
index 000000000..96df43068
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomSection.man
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomSection __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomSection \- Add one section to an existing keyboard geometry
+.SH SYNOPSIS
+.B XkbSectionPtr XkbAddGeomSection
+(
+.I geom,
+.I name,
+.I sz_rows,
+.I sz_doodads,
+.I sz_overlays
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ Atom \fIname\fP\^;
+.br
+ int \fIsz_rows\fP\^;
+.br
+ int \fIsz_doodads\fP\^;
+.br
+ int \fIsz_overlays\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- name
+name of the new section
+.TP
+.I \- sz_rows
+number of rows to reserve in the section
+.TP
+.I \- sz_doodads
+number of doodads to reserve in the section
+.TP
+.I \- sz_overlays
+number of overlays to reserve in the section
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+A keyboard geometry contains an arbitrary number of sections.
+.I XkbAddGeomSection
+adds one section to an existing keyboard geometry
+.I geom.
+The new section contains space for the number of rows, doodads, and overlays
+specified by
+.I sz_rows, sz_doodads,
+and
+.I sz_overlays.
+The new section is allocated and zeroed and given the name specified by
+.I name.
+If a section with name
+.I name
+already exists in the geometry, a pointer to the existing section is returned.
+.I XkbAddGeomSection
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the section. To allocate space for an arbitrary number of sections to
+a geometry, use
+.I XkbAllocGeomSections.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct _XkbSection {
+ Atom name; /\(** section name */
+ unsigned char priority; /\(** drawing priority, 0=>highest, 255=>lowest */
+ short top; /\(** top coordinate of section origin */
+ short left; /\(** left coordinate of row origin */
+ unsigned short width; /\(** section width, in mm/10 */
+ unsigned short height; /\(** section height, in mm/10 */
+ short angle; /\(** angle of section rotation, counterclockwise */
+ unsigned short num_rows; /\(** number of rows in the rows array */
+ unsigned short num_doodads; /\(** number of doodads in the doodads array */
+ unsigned short num_overlays; /\(** number of overlays in the overlays array */
+ unsigned short sz_rows; /\(** size of the rows array */
+ unsigned short sz_doodads; /\(** size of the doodads array */
+ unsigned short sz_overlays; /\(** size of the overlays array */
+ XkbRowPtr rows; /\(** section rows array */
+ XkbDoodadPtr doodads; /\(** section doodads array */
+ XkbBoundsRec bounds; /\(** bounding box for the section, before rotation*/
+ XkbOverlayPtr overlays; /\(** section overlays array */
+} XkbSectionRec, *XkbSectionPtr;
+
+.fi
+.I top
+and
+.I left
+are the origin of the section, relative to the origin of the keyboard, in mm/10. angle is in 1/10 degrees.
+.SH "SEE ALSO"
+.BR XkbAllocGeomSections (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomShape.man b/libX11/man/xkb/XkbAddGeomShape.man
new file mode 100644
index 000000000..8743aa537
--- /dev/null
+++ b/libX11/man/xkb/XkbAddGeomShape.man
@@ -0,0 +1,103 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddGeomShape __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomShape \- Add a shape to a keyboard geometry
+.SH SYNOPSIS
+.B XkbShapePtr XkbAddGeomShape
+(
+.I geom,
+.I name,
+.I sz_outlines
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ Atom \fIname\fP\^;
+.br
+ int \fIsz_outlines\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- name
+name of the new shape
+.TP
+.I \- sz_outlines
+number of outlines to be reserved
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the
+arguments. For other functions, you must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of
+keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to
+geometry properties.
+
+A geometry contains an arbitrary number of shapes, each of which is made up of an arbitrary number of outlines.
+.I XkbAddGeomShape
+adds a shape to a geometry
+.I geom
+by allocating space for
+.I sz_outlines
+outlines for it and giving it the name specified by
+.I name.
+If a shape with name
+.I name
+already exists in the geometry, a pointer to the existing shape is returned.
+.I XkbAddGeomShape
+returns NULL if any of the parameters is empty or if it was not able to allocate space. To allocate space for an arbitrary
+number of geometry shapes, use
+.I XkbAllocGeomShapes.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbShape {
+ Atom name; /\(** shape's name */
+ unsigned short num_outlines; /\(** number of outlines for the shape */
+ unsigned short sz_outlines; /\(** size of the outlines array */
+ XkbOutlinePtr outlines; /\(** array of outlines for the shape */
+ XkbOutlinePtr approx; /\(** pointer into the array to the approximating outline */
+ XkbOutlinePtr primary; /\(** pointer into the array to the primary outline */
+ XkbBoundsRec bounds; /\(** bounding box for the shape; encompasses all outlines */
+ } XkbShapeRec, *XkbShapePtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomShapes (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddSymInterpret.man b/libX11/man/xkb/XkbAddSymInterpret.man
new file mode 100644
index 000000000..b9aa4f63c
--- /dev/null
+++ b/libX11/man/xkb/XkbAddSymInterpret.man
@@ -0,0 +1,81 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAddSymInterpret __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddSymInterpret \- Add a symbol interpretation to the list of symbol
+interpretations in an XkbCompatRec
+.SH SYNOPSIS
+.B XkbSymInterpretPtr XkbAddSymInterpret
+(
+.I xkb,
+.I si,
+.I updateMap,
+.I changes
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbSymInterpretPtr \fIsi\fP\^;
+.br
+ Bool \fIupdateMap\fP\^;
+.br
+ XkbChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be updated
+.TP
+.I \- si
+symbol interpretation to be added
+.TP
+.I \- updateMap
+True=>apply compatibility map to keys
+.TP
+.I \- changes
+changes are put here
+.SH DESCRIPTION
+.LP
+.I XkbAddSymInterpret
+adds
+.I si
+to the list of symbol interpretations in
+.I xkb.
+If
+.I updateMap
+is True, it (re)applies the compatibility map to all of the keys on the
+keyboard. If
+.I changes
+is non-NULL, it reports the parts of the keyboard that were affected (unless
+.I updateMap
+is True, not much changes).
+.I XkbAddSymInterpret
+returns a pointer to the actual new symbol interpretation in the list or NULL if
+it failed.
diff --git a/libX11/man/xkb/XkbAllocClientMap.man b/libX11/man/xkb/XkbAllocClientMap.man
new file mode 100644
index 000000000..e371753b9
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocClientMap.man
@@ -0,0 +1,178 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocClientMap \- Allocate and initialize an empty client map description
+record
+.SH SYNOPSIS
+.B Status XkbAllocClientMap
+(
+.I xkb,
+.I which,
+.I type_count
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fItype_count\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to allocate client map
+.TP
+.I \- which
+mask selecting map components to allocate
+.TP
+.I \- type_count
+value of num_types field in map to be allocated
+.SH DESCRIPTION
+.LP
+Calling
+.I XkbGetMap
+should be sufficient for most applications to get client and server maps. As a
+result, most applications do not need to directly allocate client and server
+maps.
+
+If you change the number of key types or construct map components without
+loading the necessary components from the X server, do not allocate any map
+components directly using
+.I malloc
+or
+.I Xmalloc.
+Instead, use the Xkb allocators,
+.I XkbAllocClientMap,
+and
+.I XkbAllocServerMap.
+
+Similarly, use the Xkb destructors,
+.I XkbFreeClientMap,
+and
+.I XkbFreeServerMap
+instead of
+.I free
+or
+.I Xfree.
+
+.I XkbAllocClientMap
+allocates and initializes an empty client map in the
+.I map
+field of the keyboard description specified by
+.I xkb.
+The
+.I which
+parameter specifies the particular components of the client map structure to
+allocate and is a mask composed by a bitwise inclusive OR of one or more of the
+masks shown in Table 1.
+.bp
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocClientMap Masks
+_
+Mask Effect
+_
+XkbKeyTypesMask T{
+The type_count field specifies the number of entries to preallocate for the
+types field of the client map. If the type_count field is less than
+XkbNumRequiredTypes returns BadValue.
+T}
+.sp
+XkbKeySymsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the syms and key_sym_map fields of the client map. The fields are
+allocated to contain the maximum number of entries necessary for max_key_code -
+min_key_code + 1 keys.
+T}
+.sp
+XkbModifierMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the modmap field of the client map. The field is allocated to contain
+the maximum number of entries necessary for max_key_code - min_key_code + 1
+keys.
+T}
+.TE
+
+NOTE: The
+.I min_key_code
+and
+.I max_key_code
+fields of the
+.I xkb
+parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
+are set in the
+.I which
+parameter. If they are not valid,
+.I XkbAllocClientMap
+returns BadValue.
+
+If the client map of the keyboard description is not NULL, and any fields are
+already allocated in the client map,
+.I XkbAllocClientMap
+does not overwrite the existing values; it simply ignores that part of the
+request. The only exception is the
+.I types
+array. If
+.I type_count
+is greater than the current
+.I num_types
+field of the client map,
+.I XkbAllocClientMap
+resizes the
+.I types
+array and resets the
+.I num_types
+field accordingly.
+
+If
+.I XkbAllocClientMap
+is successful, it returns Success. Otherwise, it can return either BadMatch,
+BadAlloc, or BadValue errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbAllocClientMap (__libmansuffix__),
+.BR XkbAllocServerMap (__libmansuffix__),
+.BR XkbFreeClientMap, (__libmansuffix__),
+.BR XkbFreeServerMap (__libmansuffix__),
+.BR XkbGetMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocCompatMap.man b/libX11/man/xkb/XkbAllocCompatMap.man
new file mode 100644
index 000000000..82336976b
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocCompatMap.man
@@ -0,0 +1,122 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocCompatMap \- Allocate a new compatibility map if you do not already have one available
+.SH SYNOPSIS
+.B Status XkbAllocCompatMap
+(
+.I xkb,
+.I which,
+.I num_si
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fInum_si\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to allocate compat map
+.TP
+.I \- which
+mask of compatibility map components to allocate
+.TP
+.I \- num_si
+number of symbol interpretations to allocate
+.SH DESCRIPTION
+.LP
+.I xkb
+specifies the keyboard description for which compatibility maps are to be allocated. The compatibility map is the
+.I compat
+field in this structure.
+
+.I which
+specifies the compatibility map components to be allocated (see XkbGetCompatMap).
+.I which
+is an inclusive OR of the bits shown in Table 1.
+
+.TS
+c s s
+l l l.
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+.I num_si
+specifies the total number of entries to allocate in the symbol interpretation vector
+.I (xkb.compat.sym_interpret).
+
+.I XkbAllocCompatMap
+returns Success if successful, BadMatch if
+.I xkb
+is NULL, or BadAlloc if errors are encountered when attempting to allocate storage.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct {
+ KeySym sym; /\(** keysym of interest or NULL */
+ unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */
+ unsigned char match; /\(** specifies how mods is interpreted */
+ unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */
+ unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */
+ XkbAnyAction act; /\(** action to bind to symbol position on key */
+ } XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetCompatMap (__libmansuffix__)
+.SH NOTES
+.LP
+Note that symbol interpretations in a compatibility map (the
+.I sym_interpret
+vector of XkbSymInterpretRec structures) are also allocated using this same function. To ensure that there is sufficient space in the symbol interpretation vector for entries to be added, use
+.I XkbAllocCompatMap
+specifying
+.I which
+as XkbSymInterpretMask and the number of free symbol interpretations needed in
+.I num_si.
diff --git a/libX11/man/xkb/XkbAllocControls.man b/libX11/man/xkb/XkbAllocControls.man
new file mode 100644
index 000000000..d62ce9b94
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocControls.man
@@ -0,0 +1,150 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocControls \- Allocates an XkbControlsRec structure in the XkbDescRec
+.SH SYNOPSIS
+.B Status XkbAllocControls
+(
+.I xkb,
+.I which
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description in which to allocate ctrls rec
+.TP
+.I \- which
+mask of components of ctrls to allocate
+.SH DESCRIPTION
+.LP
+The need to allocate an XkbControlsRec structure seldom arises; Xkb creates one
+when an application calls
+.I XkbGetControls
+or a related function. For those situations where there is not an XkbControlsRec
+structure allocated in the XkbDescRec, allocate one by calling
+.I XkbAllocControls.
+
+.I XkbAllocControls
+allocates the
+.I ctrls
+field of the
+.I xkb
+parameter, initializes all fields to zero, and returns Success. If the
+.I ctrls
+field is not NULL,
+.I XkbAllocControls
+simply returns Success. If
+.I xkb
+is NULL,
+.I XkbAllocControls
+reports a BadMatch error. If the
+.I ctrls
+field could not be allocated, it reports a BadAlloc error.
+
+The
+.I which
+mask specifies the individual fields of the
+.I ctrls
+structure to be allocated and can contain any of the valid masks defined in
+Table 1.
+(SHOULD THIS COMMENT BE LEFT IN????)
+Because none of the currently existing controls have any structures associated
+with them, which is currently of little practical value in this call.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+.nh
+.SH "RETURN VALUES"
+.TP 15
+SUCCESS
+allocates the ctrls field of the xkb parameter, initializes all fields to zero
+.sp
+.in 20
+the ctrls field is not NULL
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocDeviceInfo.man b/libX11/man/xkb/XkbAllocDeviceInfo.man
new file mode 100644
index 000000000..c0f60426b
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocDeviceInfo.man
@@ -0,0 +1,114 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocDeviceInfo \- Obtain an XkbDeviceInfoRec structure
+.SH SYNOPSIS
+.B XkbDeviceInfoPtr XkbAllocDeviceInfo
+(
+.I device_spec,
+.I n_buttons,
+.I sz_leds
+)
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIn_buttons\fP\^;
+.br
+ unsigned int \fIsz_leds\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_spec
+device ID with which structure will be used
+.TP
+.I \- n_buttons
+number of button actions to allocate space for
+.TP
+.I \- sz_leds
+number of LED feedbacks to allocate space for
+.SH DESCRIPTION
+.LP
+.I XkbAllocDeviceInfo
+allocates space for an XkbDeviceInfoRec structure and initializes that structure's
+.I device_spec
+field with the device ID specified by
+.I device_spec.
+If
+.I n_buttons
+is nonzero,
+.I n_buttons
+XkbActions are linked into the XkbDeviceInfoRec structure and initialized to zero. If
+.I sz_leds
+is nonzero,
+.I sz_leds
+XkbDeviceLedInfoRec structures are also allocated and linked into the XkbDeviceInfoRec structure. If
+you request XkbDeviceLedInfoRec structures be allocated using this request, you must initialize them
+explicitly.
+
+To obtain an XkbDeviceLedInfoRec structure, use
+.I XkbAllocDeviceLedInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ typedef struct {
+ char * name; /\(** name for device */
+ Atom type; /\(** name for class of devices */
+ unsigned short device_spec; /\(** device of interest */
+ Bool has_own_state; /\(** True=>this device has its own state */
+ unsigned short supported; /\(** bits indicating supported capabilities */
+ unsigned short unsupported; /\(** bits indicating unsupported capabilities */
+ unsigned short num_btns; /\(** number of entries in btn_acts */
+ XkbAction * btn_acts; /\(** button actions */
+ unsigned short sz_leds; /\(** total number of entries in LEDs vector */
+ unsigned short num_leds; /\(** number of valid entries in LEDs vector */
+ unsigned short dflt_kbd_fb; /\(** input extension ID of default (core kbd) indicator */
+ unsigned short dflt_led_fb; /\(** input extension ID of default indicator feedback */
+ XkbDeviceLedInfoPtr leds; /\(** LED descriptions */
+ } XkbDeviceInfoRec, *XkbDeviceInfoPtr;
+
+
+ typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+ } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocDeviceLedInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocDeviceLedInfo.man b/libX11/man/xkb/XkbAllocDeviceLedInfo.man
new file mode 100644
index 000000000..180dd1d8a
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocDeviceLedInfo.man
@@ -0,0 +1,125 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocDeviceLedInfo \- Obtain an XkbDeviceLedInfoRec structure
+.SH SYNOPSIS
+.B Status XkbAllocDeviceLedInfo
+(
+.I device_info,
+.I num_needed
+)
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+structure in which to allocate LED space
+.TP
+.I \- num_needed
+number of indicators to allocate space for
+.SH DESCRIPTION
+.LP
+.I XkbAllocDeviceLedInfo
+allocates space for an XkbDeviceLedInfoRec and places it in
+.I device_info.
+If
+.I num_needed
+is nonzero,
+.I num_needed
+XkbIndicatorMapRec structures are also allocated and linked into the XkbDeviceLedInfoRec structure. If you request XkbIndicatorMapRec structures be allocated using this request, you must initialize them explicitly. All other fields are initialized to zero.
+
+To initialize an XkbDeviceLedInfoRec structure, use
+.I XkbAddDeviceLedInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ typedef struct {
+ char * name; /\(** name for device */
+ Atom type; /\(** name for class of devices */
+ unsigned short device_spec; /\(** device of interest */
+ Bool has_own_state; /\(** True=>this device has its own state */
+ unsigned short supported; /\(** bits indicating supported capabilities */
+ unsigned short unsupported; /\(** bits indicating unsupported capabilities */
+ unsigned short num_btns; /\(** number of entries in btn_acts */
+ XkbAction * btn_acts; /\(** button actions */
+ unsigned short sz_leds; /\(** total number of entries in LEDs vector */
+ unsigned short num_leds; /\(** number of valid entries in LEDs vector */
+ unsigned short dflt_kbd_fb; /\(** input extension ID of default (core kbd) indicator */
+ unsigned short dflt_led_fb; /\(** input extension ID of default indicator feedback */
+ XkbDeviceLedInfoPtr leds; /\(** LED descriptions */
+ } XkbDeviceInfoRec, *XkbDeviceInfoPtr;
+
+
+ typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+ } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+
+.fi
+Each indicator has its own set of attributes that specify whether clients can explicitly set its state and whether it tracks the keyboard state. The attributes of each indicator are held in the maps array, which is an array of XkbIndicatorRec structures:
+.nf
+
+ typedef struct {
+ unsigned char flags; /\(** how the indicator can be changed */
+ unsigned char which_groups; /\(** match criteria for groups */
+ unsigned char groups; /\(** which keyboard groups the indicator watches */
+ unsigned char which_mods; /\(** match criteria for modifiers */
+ XkbModsRec mods; /\(** which modifiers the indicator watches */
+ unsigned int ctrls; /\(** which controls the indicator watches */
+ } XkbIndicatorMapRec, *XkbIndicatorMapPtr;
+
+.fi
+This indicator map specifies for each indicator:
+
+.IP \(bu 5
+The conditions under which the keyboard modifier state affects the indicator
+.IP \(bu 5
+The conditions under which the keyboard group state affects the indicator
+.IP \(bu 5
+The conditions under which the state of the boolean controls affects the indicator
+.IP \(bu 5
+The effect (if any) of attempts to explicitly change the state of the indicator using the functions XkbSetControls or XChangeKeyboardControl
+.SH "SEE ALSO"
+.BR XkbAddDeviceLedInfo (__libmansuffix__),
+.BR XkbSetControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomColors.man b/libX11/man/xkb/XkbAllocGeomColors.man
new file mode 100644
index 000000000..9efe169da
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomColors.man
@@ -0,0 +1,82 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomColors \- Allocate geometry colors
+.SH SYNOPSIS
+.B Status XkbAllocGeomColors
+(
+.I geom,
+.I num_needed
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which colors should be allocated
+.TP
+.I \- num_needed
+number of new colors required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomColors
+allocates space for
+.I num_needed
+colors and adds them to the specified geometry
+.I geom.
+A color name is a string whose interpretation is not specified by Xkb. All other
+geometry data structures refer to colors using their indices in this global list
+or pointers to colors in this list.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomDoodads.man b/libX11/man/xkb/XkbAllocGeomDoodads.man
new file mode 100644
index 000000000..f2d2fa383
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomDoodads.man
@@ -0,0 +1,81 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomDoodads \- Allocate doodads that are global to a keyboard geometry
+.SH SYNOPSIS
+.B Status XkbAllocGeomDoodads
+(
+.I geom,
+.I num_needed
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which doodads should be allocated
+.TP
+.I \- num_needed
+number of new doodads required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomDoodads
+allocates
+.I num_needed
+doodads and adds them to the specified geometry
+.I geom.
+No initialization of the doodads is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomKeyAliases.man b/libX11/man/xkb/XkbAllocGeomKeyAliases.man
new file mode 100644
index 000000000..381bed1ae
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomKeyAliases.man
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomKeyAliases \- Allocate geometry key aliases
+.SH SYNOPSIS
+.B Status XkbAllocGeomKeyAliases
+(
+.I geom,
+.I num_needed
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which key aliases should be allocated
+.TP
+.I \- num_needed
+number of new key aliases required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomKeyAliases
+allocates space for
+.I num_needed
+key aliases and adds them to the specified geometry
+.I geom.
+A key alias is a pair of strings that associates an alternate name for a key
+with the real name for that key.
+
+To free geometry key aliases, use
+.I XkbFreeGeomKeyAliases.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomKeyAliases (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomKeys.man b/libX11/man/xkb/XkbAllocGeomKeys.man
new file mode 100644
index 000000000..dcd5d786f
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomKeys.man
@@ -0,0 +1,80 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomKeys \- Allocate space for an arbitrary number of keys to a row
+.SH SYNOPSIS
+.B Status XkbAllocGeomKeys
+(
+.I row,
+.I num_needed
+)
+.br
+ XkbRowPtr \fIrow\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row to which keys should be allocated
+.TP
+.I \- num_needed
+number of new keys required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomKeys
+allocates
+.I num_needed
+keys and adds them to the
+.I row.
+No initialization of the keys is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomOutlines.man b/libX11/man/xkb/XkbAllocGeomOutlines.man
new file mode 100644
index 000000000..779829175
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomOutlines.man
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOutlines \- Allocate space for an arbitrary number of outlines to a
+shape
+.SH SYNOPSIS
+.B Status XkbAllocGeomOutlines
+(
+.I shape,
+.I num_needed
+)
+.br
+ XkbShapePtr \fIshape\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape for which outlines should be allocated
+.TP
+.I \- num_needed
+number of new outlines required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOutlines
+allocates space for
+.I num_needed
+outlines in the specified
+.I shape.
+The outlines are not initialized.
+
+To free geometry outlines, use
+.I XkbFreeGeomOutlines.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomOutlines (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomOverlayKey.man b/libX11/man/xkb/XkbAllocGeomOverlayKey.man
new file mode 100644
index 000000000..f33dd366c
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomOverlayKey.man
@@ -0,0 +1,76 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOverlayKeys \- Allocate keys in an overlay row
+.SH SYNOPSIS
+.B Status XkbAllocGeomOverlayKeys
+(
+.I row,
+.I num_needed
+)
+.br
+ XkbRowPtr \fIrow\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+section for which rows should be allocated
+.TP
+.I \- num_needed
+number of new rows required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOverlayKeys
+allocates
+.I num_needed
+keys and adds them to the
+.I row.
+No initialization of the keys is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomOverlayRows.man b/libX11/man/xkb/XkbAllocGeomOverlayRows.man
new file mode 100644
index 000000000..8b18092f7
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomOverlayRows.man
@@ -0,0 +1,85 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomOverlayRows 3Xkb "Release 6.1" "X Version 11" "XKBLIB FUNCTION"
+.SH NAME
+XkbAllocGeomOverlayRows \- Allocate rows in a overlay
+.SH SYNOPSIS
+.B Status XkbAllocGeomOverlayRows
+(
+.I overlay,
+.I num_needed
+)
+.br
+ XkbSectionPtr \fIoverlay\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+section for which rows should be allocated
+.TP
+.I \- num_needed
+number of new rows required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOverlayRows
+allocates
+.I num_needed
+rows and adds them to the
+.I overlay.
+No initialization of the rows is done.
+
+To free rows in an overlay, use
+.I XkbFreeGeomOverlayRows.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomOverlayRows (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomOverlays.man b/libX11/man/xkb/XkbAllocGeomOverlays.man
new file mode 100644
index 000000000..6320f1c2d
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomOverlays.man
@@ -0,0 +1,75 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOverlays \- Allocate overlays in a section
+.SH SYNOPSIS
+.B Status XkbAllocGeomOverlays
+(
+.I section,
+.I num_needed
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section for which overlays should be allocated
+.TP
+.I \- num_needed
+number of new overlays required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOverlays
+allocates
+.I num_needed
+overlays and adds them to the
+.I section.
+No initialization of the overlays is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomPoints.man b/libX11/man/xkb/XkbAllocGeomPoints.man
new file mode 100644
index 000000000..f9e8cd0a2
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomPoints.man
@@ -0,0 +1,80 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomPoints \- Allocate points in an outline
+.SH SYNOPSIS
+.B Status XkbAllocGeomPoints
+(
+.I outline,
+.I num_needed
+)
+.br
+ XkbOutlinePtr \fIoutline\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- outline
+outline for which points should be allocated
+.TP
+.I \- num_needed
+number of new points required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomPoints
+allocates space for
+.I num_needed
+points in the specified
+.I outline.
+The points are not initialized.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomProps.man b/libX11/man/xkb/XkbAllocGeomProps.man
new file mode 100644
index 000000000..56c086e19
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomProps.man
@@ -0,0 +1,83 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomProps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomProps \- Allocate geometry properties
+.SH SYNOPSIS
+.B Status XkbAllocGeomProps
+(
+.I geom,
+.I num_needed
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+_summary_
+.TP
+.I \- num_needed
+_summary_
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomProps
+allocates space for
+.I num_needed
+properties and adds them to the specified geometry
+.I geom.
+No initialization of the properties is done. A geometry property associates an
+arbitrary string with an equally arbitrary name. Geometry properties can be used
+to provide hints to programs that display images of keyboards, but they are not
+interpreted by Xkb. No other geometry structures refer to geometry properties.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomRows.man b/libX11/man/xkb/XkbAllocGeomRows.man
new file mode 100644
index 000000000..daa87114f
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomRows.man
@@ -0,0 +1,80 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomRows \- Allocate rows in a section
+.SH SYNOPSIS
+.B Status XkbAllocGeomRows
+(
+.I section,
+.I num_needed
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section for which rows should be allocated
+.TP
+.I \- num_needed
+number of new rows required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomRows
+allocates
+.I num_needed
+rows and adds them to the
+.I section.
+No initialization of the rows is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomSectionDoodads.man b/libX11/man/xkb/XkbAllocGeomSectionDoodads.man
new file mode 100644
index 000000000..2f0e7847d
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomSectionDoodads.man
@@ -0,0 +1,87 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomSectionDoodads 3Xkb "Release 6.1" "X Version 11" "XKBLIB
+FUNCTION"
+.SH NAME
+XkbAllocGeomSectionDoodads \- Allocate doodads that are specific to a section
+.SH SYNOPSIS
+.B Status XkbAllocGeomSectionDoodads
+(
+.I section,
+.I num_needed
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section for which doodads should be allocated
+.TP
+.I \- num_needed
+number of new doodads required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomSectionDoodads
+allocates
+.I num_needed
+doodads and adds them to the specified
+.I section.
+No initialization of the doodads is done.
+
+To free geometry doodads, use
+.I XkbFreeGeomDoodads.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomDoodads (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomSections.man b/libX11/man/xkb/XkbAllocGeomSections.man
new file mode 100644
index 000000000..7eb8fad46
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomSections.man
@@ -0,0 +1,85 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomSections \- Allocate geometry sections
+.SH SYNOPSIS
+.B Status XkbAllocGeomSections
+(
+.I geom,
+.I num_needed
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which sections should be allocated
+.TP
+.I \- num_needed
+number of new sections required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomSections
+allocates
+.I num_needed
+sections and adds them to the geometry
+.I geom.
+No initialization of the sections is done.
+
+To free geometry sections, use
+.I XkbFreeGeomSections.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomSections (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomShapes.man b/libX11/man/xkb/XkbAllocGeomShapes.man
new file mode 100644
index 000000000..e197636a3
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeomShapes.man
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomShapes \- Allocate space for an arbitrary number of geometry shapes
+.SH SYNOPSIS
+.B Status XkbAllocGeomShapes
+(
+.I geom,
+.I num_needed
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fInum_needed\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which shapes should be allocated
+.TP
+.I \- num_needed
+number of new shapes required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomShapes
+allocates space for
+.I num_needed
+shapes in the specified geometry
+.I geom.
+The shapes are not initialized.
+
+To free geometry shapes, use
+.I XkbFreeGeomShapes.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomShapes (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbAllocGeometry.man b/libX11/man/xkb/XkbAllocGeometry.man
new file mode 100644
index 000000000..7de54d772
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocGeometry.man
@@ -0,0 +1,97 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeometry \- Allocate an entire geometry
+.SH SYNOPSIS
+.B Status XkbAllocGeometry
+(
+.I xkb,
+.I sizes
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbGeometrySizesPtr \fIsizes\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for which geometry is to be allocated
+.TP
+.I \- sizes
+initial sizes for all geometry components
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeometry
+allocates a keyboard geometry and adds it to the keyboard description specified
+by
+.I xkb.
+The keyboard description should be obtained via the
+.I XkbGetKeyboard
+or
+.I XkbAllocKeyboard
+functions. The
+.I sizes
+parameter specifies the number of elements to be reserved for the subcomponents
+of the keyboard geometry and can be zero or more. These subcomponents include
+the
+.I properties, colors, shapes, sections, and doodads.
+
+To free an entire geometry, use
+.I XkbFreeGeometry.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbAllocKeyboard (__libmansuffix__),
+.BR XkbFreeGeometry (__libmansuffix__),
+.BR XkbGetKeyboard (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbAllocIndicatorMaps.man b/libX11/man/xkb/XkbAllocIndicatorMaps.man
new file mode 100644
index 000000000..f64cc0520
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocIndicatorMaps.man
@@ -0,0 +1,75 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocIndicatorMaps \- Allocates, directly, the
+.I indicators
+member of the keyboard description record
+.SH SYNOPSIS
+.B Status XkbAllocIndicatorMaps
+(
+.I xkb
+)
+.br
+ variable_type *\fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description structure
+.SH DESCRIPTION
+.LP
+The
+.I xkb
+parameter must point to a valid keyboard description. If it doesn't,
+.I XkbAllocIndicatorMaps
+returns a BadMatch error. Otherwise,
+.I XkbAllocIndicatorMaps
+allocates and initializes the
+.I indicators
+member of the keyboard description record and returns Success. If
+.I XkbAllocIndicatorMaps
+was unable to allocate the indicators record, it reports a BadAlloc error.
+.SH RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbAllocIndicatorMaps
+function returns Success if it is successful in allocating and initializing the
+.I indicators
+member of the keyboard description record.
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbAllocKeyboard.man b/libX11/man/xkb/XkbAllocKeyboard.man
new file mode 100644
index 000000000..d1c38cdb8
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocKeyboard.man
@@ -0,0 +1,62 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocKeyboard \- Creates a keyboard description from scratch
+.SH SYNOPSIS
+.B XkbDescRec XkbAllocKeyboard
+(
+.I void
+)
+.if n .ti +5n
+.if t .ti +.5i
+.SH DESCRIPTION
+.LP
+Applications seldom need to directly allocate a keyboard description; calling
+.I XkbGetKeyboard
+usually suffices. In the event you need to create a keyboard description from
+scratch, however, use
+.I XkbAllocKeyboard
+rather than directly calling
+.I malloc.
+
+If
+.I XkbAllocKeyboard
+fails to allocate the keyboard description, it returns NULL.
+Otherwise, it returns a pointer to an empty keyboard description structure. The
+.I device_spec
+field will have been initialized to XkbUseCoreKbd. You may then
+either fill in the structure components or use Xkb functions to obtain values
+for the structure components from a keyboard device.
+.SH "SEE ALSO"
+.BR malloc (3F),
+.BR XkbUseCoreKbd (__libmansuffix__),
+.BR XkbGetKeyboard (__libmansuffix__)
+
+
diff --git a/libX11/man/xkb/XkbAllocNames.man b/libX11/man/xkb/XkbAllocNames.man
new file mode 100644
index 000000000..eec606b5f
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocNames.man
@@ -0,0 +1,132 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocNames \- Allocate symbolic names structures
+.SH SYNOPSIS
+.B Status XkbAllocNames
+(
+.I xkb,
+.I which,
+.I num_rg,
+.I num_key_aliases
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ int \fInum_rg\fP\^;
+.br
+ int \fInum_key_aliases\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for which names are to be allocated
+.TP
+.I \- which
+mask of names to be allocated
+.TP
+.I \- num_rg
+total number of radio group names needed
+.TP
+.I \- num_key_aliases
+total number of key aliases needed
+.SH DESCRIPTION
+.LP
+Most applications do not need to directly allocate symbolic names structures. Do
+not allocate a names structure directly using
+.I malloc
+or
+.I Xmalloc
+if your application changes the number of key aliases or radio groups or
+constructs a symbolic names structure without loading the necessary components
+from the X server. Instead use
+.I XkbAllocNames.
+
+.I XkbAllocNames
+can return BadAlloc, BadMatch, and BadValue errors. The
+.I which
+parameter is the bitwise inclusive OR of the valid names mask bits defined in
+Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+Do not free symbolic names structures directly using
+.I free
+or
+.I XFree.
+Use
+.I XkbFreeNames
+instead.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocServerMap.man b/libX11/man/xkb/XkbAllocServerMap.man
new file mode 100644
index 000000000..9994b35e5
--- /dev/null
+++ b/libX11/man/xkb/XkbAllocServerMap.man
@@ -0,0 +1,135 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbAllocServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocServerMap \- Allocate and initialize an empty server map description record
+.SH SYNOPSIS
+.B Status XkbAllocServerMap
+(
+.I xkb,
+.I which,
+.I count_acts
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fIcount_acts\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to allocate server map
+.TP
+.I \- which
+mask selecting map components to allocate
+.TP
+.I \- count_acts
+value of num_acts field in map to be allocated
+.SH DESCRIPTION
+.LP
+.I XkbAllocServerMap
+allocates and initializes an empty server map in the
+.I server
+field of the keyboard description specified by
+.I xkb.
+The
+.I which
+parameter specifies the particular components of the server map structure to allocate, as specified in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocServerMap Masks
+_
+Mask Effect
+_
+XkbExplicitComponentsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the explicit field of the server map.
+T}
+.sp
+XkbKeyActionsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to allocate the key_acts field of the server map. The count_acts parameter is used to allocate the acts field of the server map.
+T}
+.sp
+XkbKeyBehaviorsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to allocate the behaviors field of the server map.
+T}
+.sp
+XkbVirtualModMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to allocate the vmodmap field of the server map.
+T}
+
+.TE
+
+If the server map of the keyboard description is not NULL and any fields are already allocated in the server map,
+.I XkbAllocServerMap
+does not overwrite the existing values. The only exception is with the
+.I acts
+array. If the
+.I count_acts
+parameter is greater than the current
+.I num_acts
+field of the server map,
+.I XkbAllocServerMap
+resizes the
+.I acts
+array and resets the
+.I num_acts
+field accordingly.
+
+If
+.I XkbAllocServerMap
+is successful, it returns Success. Otherwise, it can return either BadMatch or BadAlloc errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH NOTES
+.LP
+The
+.I min_key_code
+and
+.I max_key_code
+fields of the
+.I xkb
+parameter must be legal values. If they are not valid,
+.I XkbAllocServerMap
+returns BadValue.
diff --git a/libX11/man/xkb/XkbApplyCompatMapToKey.man b/libX11/man/xkb/XkbApplyCompatMapToKey.man
new file mode 100644
index 000000000..921496077
--- /dev/null
+++ b/libX11/man/xkb/XkbApplyCompatMapToKey.man
@@ -0,0 +1,376 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbApplyCompatMapToKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbApplyCompatMapToKey \- Apply the new compatibility mapping to an individual
+key to get its semantics updated
+.SH SYNOPSIS
+.B Bool XkbApplyCompatMapToKey
+(
+.I xkb,
+.I key,
+.I changes
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkey\fP\^;
+.br
+ XkbChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be updated
+.TP
+.I \- key
+key to be updated
+.TP
+.I \- changes
+notes changes to the Xkb keyboard description
+.SH DESCRIPTION
+.LP
+.I XkbApplyCompatMapToKey
+essentially performs the operation described in Core Keyboard Mapping to Xkb
+Keyboard Mapping Transformation to a specific key. This updates the behavior,
+actions, repeat status, and virtual modifier bindings of the key.
+
+.B Core Keyboard Mapping to Xkb Keyboard Mapping Transformation
+
+When a core protocol keyboard mapping request is received by the server, the
+server's core keyboard map is updated, and then the Xkb map maintained by the
+server is updated. Because a client may have explicitly configured some of the
+Xkb keyboard mapping in the server, this automatic regeneration of the Xkb
+keyboard mapping from the core protocol keyboard mapping should not modify any
+components of the Xkb keyboard mapping that were explicitly set by a client. The
+client must set explicit override controls to prevent this from happening (see
+Explicit Components-Avoiding Automatic Remapping by the Server). The core-to-Xkb
+mapping is done as follows:
+
+.B Explicit Components-Avoiding Automatic Remapping by the Server
+
+Whenever a client remaps the keyboard using core protocol requests, Xkb examines
+the map to determine likely default values for the components that cannot be
+specified using the core protocol.
+
+This automatic remapping might replace definitions explicitly requested by an
+application, so the Xkb keyboard description defines an explicit components mask
+for each key. Any aspects of the automatic remapping listed in the explicit
+components mask for a key are not changed by the automatic keyboard mapping.
+
+The explicit components masks are held in the
+.I explicit
+field of the server map, which is an array indexed by keycode. Each entry in
+this array is a mask that is a bitwise inclusive OR of the values shown in Table
+1.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 1 Explicit Component Masks
+_
+Bit in Explicit Mask Value Protects Against
+_
+ExplicitKeyType1 (1<<0) T{
+Automatic determination of the key type associated with Group1.
+T}
+ExplicitKeyType2 (1<<1) T{
+Automatic determination of the key type associated with Group2.
+T}
+ExplicitKeyType3 (1<<2) T{
+Automatic determination of the key type associated with Group3.
+T}
+ExplicitKeyType4 (1<<3) T{
+Automatic determination of the key type associated with Group4.
+T}
+ExplicitInterpret (1<<4) T{
+Application of any of the fields of a symbol interpretation to the key in
+question.
+T}
+ExplicitAutoRepeat (1<<5) T{
+Automatic determination of auto-repeat status for the key, as specified in a
+symbol interpretation.
+T}
+ExplicitBehavior (1<<6) T{
+Automatic assignment of the XkbKB_Lock behavior to the key, if the
+XkbSI_LockingKey flag is set in a symbol interpretation.
+T}
+ExplicitVModMap (1<<7) T{
+Automatic determination of the virtual modifier map for the key based on the
+actions assigned to the key and the symbol interpretations that match the key.
+T}
+.TE
+.TP 4
+1.
+Map the symbols from the keys in the core keyboard map to groups and symbols on
+keys in the Xkb keyboard map. The core keyboard mapping is of fixed width, so
+each key in the core mapping has the same number of symbols associated with it.
+The Xkb mapping allows a different number of symbols to be associated with each
+key; those symbols may be divided into a different number of groups (1-4) for
+each key. For each key, this process therefore involves partitioning the fixed
+number of symbols from the core mapping into a set of variable-length groups
+with a variable number of symbols in each group. For example, if the core
+protocol map is of width five, the partition for one key might result in one
+group with two symbols and another with three symbols. A different key might
+result in two groups with two symbols plus a third group with one symbol. The
+core protocol map requires at least two symbols in each of the first two groups.
+.TP 4
+1a.
+For each changed key, determine the number of groups represented in the new core
+keyboard map. This results in a tentative group count for each key in the Xkb
+map.
+.TP 4
+1b.
+For each changed key, determine the number of symbols in each of the groups
+found in step 1a. There is one explicit override control associated with each of
+the four possible groups for each Xkb key, ExplicitKeyType1 through
+ExplicitKeyType4. If no explicit override control is set for a group, the number
+of symbols used for that group from the core map is two. If the explicit
+override control is set for a group on the key, the number of symbols used for
+that Xkb group from the core map is the width of the Xkb group with one
+exception: because of the core protocol requirement for at least two symbols in
+each of groups one and two, the number of symbols used for groups one and two is
+the maximum of 2 or the width of the Xkb group.
+.TP 4
+1c.
+For each changed key, assign the symbols in the core map to the appropriate
+group on the key. If the total number of symbols required by the Xkb map for a
+particular key needs more symbols than the core protocol map contains, the
+additional symbols are taken to be NoSymbol keysyms appended to the end of the
+core set. If the core map contains more symbols than are needed by the Xkb map,
+trailing symbols in the core map are discarded. In the absence of an explicit
+override for group one or two, symbols are assigned in order by group; the first
+symbols in the core map are assigned to group one, in order, followed by group
+two, and so on. For example, if the core map contained eight symbols per key,
+and a particular Xkb map contained 2 symbols for G1 and G2 and three for G3, the
+symbols would be assigned as (G is group, L is shift level):
+.nf
+
+ G1L1 G1L2 G2L1 G2L2 G3L1 G3L2 G3L3
+
+.fi
+If an explicit override control is set for group one or two, the symbols are
+taken from the core set in a somewhat different order. The first four symbols
+from the core set are assigned to G1L1, G1L2, G2L1, G2L2, respectively. If group
+one requires more symbols, they are taken next, and then any additional symbols
+needed by group two. Group three and four symbols are taken in complete sequence
+after group two. For example, a key with four groups and three symbols in each
+group would take symbols from the core set in the following order:
+.nf
+
+ G1L1 G1L2 G2L1 G2L2 G1L3 G2L3 G3L1 G3L2 G3L3 G4L1 G4L2 G4L3
+
+.fi
+As previously noted, the core protocol map requires at lease two symbols in
+groups one and two. Because of this, if an explicit override control for an Xkb
+key is set and group one and / or group two is of width one, it is not possible
+to generate the symbols taken from the core protocol set and assigned to
+position G1L2 and / or G2L2.
+.TP 4
+1d.
+For each group on each changed key, assign a key type appropriate for the
+symbols in the group.
+.TP 4
+1e.
+For each changed key, remove any empty or redundant groups.
+
+At this point, the groups and their associated symbols have been assigned to the
+corresponding key definitions in the Xkb map.
+.TP 4
+2.
+Apply symbol interpretations to modify key operation. This phase is completely
+skipped if the ExplicitInterpret override control bit is set in the explicit
+controls mask for the Xkb key (see Explicit Components-Avoiding Automatic
+Remapping by the Server).
+.TP 4
+2a.
+For each symbol on each changed key, attempt to match the symbol and modifiers
+from the Xkb map to a symbol interpretation describing how to generate the
+symbol.
+.TP 4
+2b.
+When a match is found in step 2a, apply the symbol interpretation to change the
+semantics associated with the symbol in the Xkb key map. If no match is found,
+apply a default interpretation.
+.LP
+The symbol interpretations used in step 2 are configurable and may be specified
+using XkbSymInterpretRec structures referenced by the sym_interpret field of an
+XkbCompatMapRec.
+
+.B Symbol Interpretations - the XkbSymInterpretRec Structure
+
+Symbol interpretations are used to guide the X server when it modifies the Xkb
+keymap in step 2. An initial set of symbol interpretations is loaded by the
+server when it starts. A client may add new ones using XkbSetCompatMap.
+
+Symbol interpretations result in key semantics being set. When a symbol
+interpretation is applied, the following components of server key event
+processing may be modified for the particular key involved:
+.nf
+
+ Virtual modifier map
+ Auto repeat
+ Key behavior (may be set to XkbKB_Lock)
+ Key action
+
+.fi
+The XkbSymInterpretRec structure specifies a symbol interpretation:
+.nf
+
+typedef struct {
+ KeySym sym; /\(** keysym of interest or NULL */
+ unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */
+ unsigned char match; /\(** specifies how mods is interpreted */
+ unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */
+ unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */
+ XkbAnyAction act; /\(** action to bind to symbol position on key */
+} XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+.fi
+If sym is not NULL, it limits the symbol interpretation to keys on which that
+particular keysym is selected by the modifiers matching the criteria specified
+by
+.I mods
+and
+.I match.
+If
+.I sym
+is NULL, the interpretation may be applied to any symbol selected on a key when
+the modifiers match the criteria specified by
+.I mods
+and
+.I match.
+
+.I match
+must be one of the values shown in Table 2 and specifies how the real modifiers
+specified in
+.I mods
+are to be interpreted.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 2 Symbol Interpretation Match Criteria
+_
+Match Criteria Value Effect
+_
+XkbSI_NoneOf (0) T{
+None of the bits that are on in mods can be set, but other bits can be.
+T}
+XkbSI_AnyOfOrNone (1) T{
+Zero or more of the bits that are on in mods can be set, as well as others.
+T}
+XkbSI_AnyOf (2) T{
+One or more of the bits that are on in mods can be set, as well as any others.
+T}
+XkbSI_AllOf (3) T{
+All of the bits that are on in mods must be set, but others may be set as well.
+T}
+XkbSI_Exactly (4) T{
+All of the bits that are on in mods must be set, and no other bits may be set.
+T}
+.TE
+
+In addition to the above bits,
+.I match
+may contain the XkbSI_LevelOneOnly bit, in which case the modifier match
+criteria specified by
+.I mods
+and
+.I match
+applies only if
+.I sym
+is in level one of its group; otherwise,
+.I mods
+and
+.I match
+are ignored and the symbol matches a condition where no modifiers are set.
+.nf
+
+\&#define XkbSI_LevelOneOnly (0x80) /\(** use mods + match only if sym is level 1 */
+
+.fi
+If no matching symbol interpretation is found, the server uses a default
+interpretation where:
+.nf
+
+ sym = 0
+ flags = XkbSI_AutoRepeat
+ match = XkbSI_AnyOfOrNone
+ mods = 0
+ virtual_mod = XkbNoModifier
+ act = SA_NoAction
+
+.fi
+When a matching symbol interpretation is found in step 2a, the interpretation is
+applied to modify the Xkb map as follows.
+
+The
+.I act
+field specifies a single action to be bound to the symbol position; any key event that selects the symbol
+causes the action to be taken. Valid actions are defined in Key Actions.
+
+If the Xkb keyboard map for the key does not have its ExplicitVModMap control set, the XkbSI_LevelOneOnly bit
+and symbol position are examined. If the XkbSI_LevelOneOnly bit is not set in
+.I match
+or the symbol is in position G1L1, the
+.I virtual_mod
+field is examined. If
+.I virtual_mod
+is not XkbNoModifier,
+.I virtual_mod
+specifies a single virtual modifier to be added to the virtual modifier map for the key.
+.I virtual_mod
+is specified as an index in the range [0..15].
+
+If the matching symbol is in position G1L1 of the key, two bits in the flags field potentially specify
+additional behavior modifications:
+.nf
+
+\&#define XkbSI_AutoRepeat (1<<0) /\(** key repeats if sym is in position G1L1 */
+\&#define XkbSI_LockingKey (1<<1) /\(** set KB_Lock behavior if sym is in psn G1L1 */
+
+.fi
+If the Xkb keyboard map for the key does not have its ExplicitAutoRepeat control set, its auto repeat behavior
+is set based on the value of the XkbSI_AutoRepeat bit. If the XkbSI_AutoRepeat bit is set, the auto-repeat
+behavior of the key is turned on; otherwise, it is turned off.
+
+If the Xkb keyboard map for the key does not have its ExplicitBehavior control set, its locking behavior is
+set based on the value of the XkbSI_LockingKey bit. If XkbSI_LockingKey is set, the key behavior is set to
+KB_Lock; otherwise, it is turned off.
+.SH "SEE ALSO"
+.BR XkbKeyAction (__libmansuffix__),
+.BR XkbKeyActionEntry (__libmansuffix__),
+.BR XkbKeyActionsPtr (__libmansuffix__),
+.BR XkbKeyHasActions (__libmansuffix__),
+.BR XkbKeyNumActions (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbBell.man b/libX11/man/xkb/XkbBell.man
new file mode 100644
index 000000000..2a8a0e1fc
--- /dev/null
+++ b/libX11/man/xkb/XkbBell.man
@@ -0,0 +1,344 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbBell \- Rings the bell on the default keyboard
+.SH SYNOPSIS
+.B Bool XkbBell
+(
+.I display,
+.I window,
+.I percent,
+.I name
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Window \fIwindow\fP\^;
+.br
+ int \fIpercent\fP\^;
+.br
+ Atom \fIname\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+event window, or None
+.TP
+.I \- percent
+relative volume, which can range from -100 to 100 inclusive
+.TP
+.I \- name
+a bell name, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing
+clients to
+attach symbolic names to bells, disable audible bells, and receive an event
+whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed
+to any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id
+pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point
+of view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is
+associated with
+the name.)
+
+.LP
+You can also ask to receive XkbBellNotify events when the server rings the
+default bell
+or if any client has requested events only (without the bell sounding) for any
+of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that
+replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate
+feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the
+functions that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed
+or
+repeating, Xkb can provide feedback for the controls by using special beep
+codes. The
+AccessXFeedback control is used to configure the specific types of operations
+that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to
+an Atom
+and then using this name when you call the functions listed in this chapter. If
+an event
+is generated as a result, the name is then passed to all other clients
+interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that
+there is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event
+containing the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in
+Table 1 below; the name is included in any bell event sent to clients that have
+requested to receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4I) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{ SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system
+bell. This
+is useful if you need to use an audio server instead of the system beep. For
+example,
+when an audio client starts, it could disable the audible bell (the system bell)
+and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the
+audio client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell
+event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one
+feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbBell
+calls
+.I XBell
+with the specified
+.I display
+and
+.I percent,
+and returns False. Otherwise,
+.I XkbBell
+calls
+.I XkbDeviceBell
+with the specified
+.I display, window, percent,
+and
+.I name,
+a
+.I device_spec
+of XkbUseCoreKbd, a
+.I bell_class
+of XkbDfltXIClass, and a
+.I bell_id
+of XkbDfltXIId, and returns True.
+
+If you have disabled the audible bell, the server does not ring the system bell,
+although it does generate a XkbBellNotify event.
+
+You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH "RETURN VALUES"
+.TP 15
+FALSE
+The XkbBell function returns FALSE if XlibDisplayNoXkb is set.
+.SH STRUCTURES
+.LP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is
+not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep
+*/
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (3X11),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
+
+
+
+
+
diff --git a/libX11/man/xkb/XkbBellEvent.man b/libX11/man/xkb/XkbBellEvent.man
new file mode 100644
index 000000000..4b4edc145
--- /dev/null
+++ b/libX11/man/xkb/XkbBellEvent.man
@@ -0,0 +1,341 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbBellEvent \- Provides a function that initiates a bell event for the keyboard
+without ringing the bell
+.SH SYNOPSIS
+.B Bool XkbBellEvent
+(
+.I display,
+.I window,
+.I percent,
+.I name
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ Window \fI window \fP\^;
+.br
+ int \fI percent \fP\^;
+.br
+ Atom \fI name \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+the event window, or None
+.TP
+.I \- percent,
+relative volume, which can range from -100 to 100 inclusive
+.TP
+.I \- name
+a bell name, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing
+clients to
+attach symbolic names to bells, disable audible bells, and receive an event
+whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed
+to any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id
+pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point
+of view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is
+associated with
+the name.)
+
+You can also ask to receive XkbBellNotify events when the server rings the
+default bell
+or if any client has requested events only (without the bell sounding) for any
+of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that
+replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate
+feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the
+functions that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed
+or
+repeating, Xkb can provide feedback for the controls by using special beep
+codes. The
+AccessXFeedback control is used to configure the specific types of operations
+that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to
+an Atom
+and then using this name when you call the functions listed in this chapter. If
+an event
+is generated as a result, the name is then passed to all other clients
+interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that
+there is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event
+containing the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in
+Table 1; the name is included in any bell event sent to clients that have
+requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system
+bell. This
+is useful if you need to use an audio server instead of the system beep. For
+example,
+when an audio client starts, it could disable the audible bell (the system bell)
+and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the
+audio client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell
+event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one
+feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an
+XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbBellEvent
+immediately returns False. Otherwise,
+.I XkbBellEvent
+calls
+.I XkbDeviceBellEvent
+with the specified
+.I display, window, percent,
+and
+.I name,
+a
+.I device_spec
+of XkbUseCoreKbd, a
+.I bell_class
+of XkbDfltXIClass, and a
+.I bell_id
+of XkbDfltXIId, and returns what
+.I XkbDeviceBellEvent
+returns.
+
+.I XkbBellEvent
+generates a XkbBellNotify event.
+
+You can call
+.I XkbBellEvent
+without first initializing the keyboard extension.
+.SH "RETURN VALUES"
+.TP 15
+False
+The
+.I XkbBellEvent
+immediately returns False, if a compatible keyboard extension isn't present in
+the X server.
+.SH STRUCTURES
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is
+not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep
+*/
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBellEvent (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
+
+
+
diff --git a/libX11/man/xkb/XkbChangeControls.man b/libX11/man/xkb/XkbChangeControls.man
new file mode 100644
index 000000000..e44140079
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeControls.man
@@ -0,0 +1,336 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeControls \- Provides a flexible method for updating the controls in a
+server to match those in
+the changed keyboard description
+.SH SYNOPSIS
+.B Bool XkbChangeControls
+(
+.I dpy,
+.I xkb,
+.I changes
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbControlsChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- xkb
+keyboard description with changed xkb->ctrls
+.TP
+.I \- changes
+which parts of xkb->ctrls have changed
+.SH DESCRIPTION
+.LP
+The XkbControlsChangesRec structure allows applications to track modifications
+to an XkbControlsRec
+structure and thereby reduce the amount of traffic sent to the server. The same
+XkbControlsChangesRec
+structure may be used in several successive modifications to the same
+XkbControlsRec structure, then
+subsequently used to cause all of the changes, and only the changes, to be
+propagated to the server.
+
+The
+.I changed_ctrls
+field is a mask specifying which logical sets of data in the controls structure
+have been modified. In
+this context, modified means
+.I set,
+that is, if a value is set to the same value it previously contained, it has
+still been modified, and is
+noted as changed. Valid values for
+.I changed_ctrls
+are any combination of the masks listed in Table 1 that have "ok" in the
+.I changed_ctrls
+column. Setting a bit implies the corresponding data fields from the "Relevant
+XkbControlsRec Data
+Fields" column in Table 1 have been modified. The
+.I enabled_ctrls_changes
+field specifies which bits in the
+.I enabled_ctrls
+field have changed. If the number of keyboard groups has changed, the
+.I num_groups_changed
+field is set to True.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s s
+l l l l l
+l l l l l
+l l l l l
+l l l l l
+lw(1.5i) lw(1.5i) l lw(1.5i) l.
+Table 1 Xkb Controls
+_
+Control Control
+ Selection Relevant
+ Mask XkbControlsRec Boolean Control
+ (which parameter) DataFields enabled_ctrls bit Section
+_
+T{
+AccessXFeedback
+T} T{
+XkbAccessXFeedbackMask
+T} ax_options: T{
+XkbAccessXFeedbackMask
+T} 10.6.3
+ XkbAX_*FBMask
+T{
+AccessXKeys
+T} T{
+XkbAccessXKeysMask
+T} 10.6.1
+T{
+AccessXTimeout
+T} T{
+XkbAccessXTimeoutMask
+T} ax_timeout T{
+XkbAccessXTimeoutMask
+T} 10.6.2
+ axt_opts_mask
+ axt_opts_values
+ axt_ctrls_mask
+ axt_ctrls_values
+T{
+AudibleBell
+T} T{
+XkbAudibleBellMask
+T} 9.2
+T{
+AutoReset
+T} 10.1.2
+T{
+BounceKeys
+T} T{
+XkbBounceKeysMask
+T} debounce_delay T{
+XkbBounceKeysMask
+T} 10.6.7
+T{
+Detectable-
+T} 10.3.3
+T{
+Autorepeat
+T}
+T{
+EnabledControls
+T} T{
+XkbControlsEnabledMask
+T} enabled_ctrls T{
+Non-Boolean Control
+T} 10.1.1
+T{
+GroupsWrap
+T} T{
+XkbGroupsWrapMask
+T} groups_wrap T{
+Non-Boolean Control
+T} 10.7.1
+T{
+IgnoreGroupLock
+T} T{
+XkbIgnoreGroupLockMask
+T} 10.7.3
+T{
+IgnoreLockMods
+T} T{
+XkbIgnoreLockModsMask
+T} ignore_lock T{
+Non-Boolean Control
+T} 5.1
+T{
+InternalMods
+T} T{
+XkbInternalModsMask
+T} internal T{
+Non-Boolean Control
+T} 5.1
+T{
+MouseKeys
+T} T{
+XkbMouseKeysMask
+T} mk_dflt_btn T{
+XkbMouseKeysMask
+T} 10.5.1
+T{
+MouseKeysAccel
+T} T{
+XkbMouseKeysAccelMask
+T} mk_delay T{
+XkbMouseKeysAccelMask
+T} 10.5.2
+ mk_interval
+ mk_time_to_max
+ mk_max_speed
+ mk_curve
+T{
+Overlay1
+T} T{
+XkbOverlay1Mask
+T} 10.4
+T{
+Overlay2
+T} T{
+XkbOverlay2Mask
+T} 10.4
+T{
+PerKeyRepeat
+T} T{
+XkbPerKeyRepeatMask
+T} per_key_repeat T{
+Non-Boolean Control
+T} 10.3.1
+T{
+RepeatKeys
+T} T{
+XkbRepeatKeysMask
+T} repeat_delay T{
+XkbRepeatKeysMask
+T} 10.3
+ repeat_interval
+T{
+SlowKeys
+T} T{
+XkbSlowKeysMask
+T} slow_keys_delay T{
+XkbSlowKeysMask
+T} 10.6.6
+T{
+StickyKeys
+T} T{
+XkbStickyKeysMask
+T} ax_options: T{
+XkbStickyKeysMask
+T} 10.6.8
+ XkbAX_TwoKeysMask
+ XkbAX_LatchToLockMask
+.TE
+
+Table 2 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 2 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+
+
+
+If you have an Xkb description with controls that have been modified and an
+XkbControlsChangesRec that
+describes the changes that have been made, the
+.I XkbChangeControls
+function provides a flexible method for updating the controls in a server to
+match those in the changed
+keyboard description.
+
+.I XkbChangeControls
+copies any controls fields specified by
+.I changes
+from the keyboard description controls structure,
+.I xkb->ctrls,
+to the server specified by
+.I dpy.
+.SH STRUCTURES
+.LP
+The XkbControlsChangesRec structure is defined as follows:
+.nf
+
+typedef struct _XkbControlsChanges {
+ unsigned int changed_ctrls; /\(** bits indicating changed control data
+*/
+ unsigned int enabled_ctrls_changes; /\(** bits indicating enabled/disabled
+controls */
+ Bool num_groups_changed; /\(** True if number of keyboard groups
+changed */
+} XkbControlsChangesRec,*XkbControlsChangesPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbChangeDeviceInfo.man b/libX11/man/xkb/XkbChangeDeviceInfo.man
new file mode 100644
index 000000000..e427ff738
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeDeviceInfo.man
@@ -0,0 +1,88 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an
+XkbDeviceChangesRec
+.SH SYNOPSIS
+.B Bool XkbChangeDeviceInfo
+(
+.I dpy,
+.I device_info,
+.I changes
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ XkbDeviceChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+local copy of device state and configuration
+.TP
+.I \- changes
+note specifying changes in device_info
+.SH DESCRIPTION
+.LP
+.I XkbChangeDeviceInfo
+updates the server's description of the device specified in
+.I device_info->device_spec
+with the changes specified in
+.I changes
+and contained in
+.I device_info.
+The update is made by an
+.I XkbSetDeviceInfo
+request.
+.SH STRUCTURES
+.LP
+Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events
+and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the
+structure may then be used in subsequent operations to update either a server configuration or a
+local copy of an Xkb extension device configuration. The changes structure is defined as follows:
+.nf
+
+typedef struct _XkbDeviceChanges {
+ unsigned int changed; /\(** bits indicating what has changed */
+ unsigned short first_btn; /\(** number of first button which changed, if any */
+ unsigned short num_btns; /\(** number of buttons that have changed */
+ XkbDeviceLedChangesRec leds;
+} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbSetDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbChangeEnabledControls.man b/libX11/man/xkb/XkbChangeEnabledControls.man
new file mode 100644
index 000000000..5470a15e8
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeEnabledControls.man
@@ -0,0 +1,180 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeEnabledControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeEnabledControls \- Manipulates the EnabledControls control
+.SH SYNOPSIS
+.B Bool XkbChangeEnabledControls
+(
+.I dpy,
+.I device_spec,
+.I mask,
+.I values
+)
+.br
+ Display *\fI dpy \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned int \fI mask \fP\^;
+.br
+ unsigned int \fI values \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_spec
+ keyboard device to modify
+.TP
+.I \- mask
+1 bit -> controls to enable / disable
+.TP
+.I \- values
+1 bit => enable, 0 bit => disable
+.SH DESCRIPTION
+.LP
+The EnabledControls control is a bit mask where each bit that is turned on means the
+corresponding control is enabled, and when turned off, disabled. It corresponds to the
+.I enabled_ctrls
+field of an XkbControlsRec structure (see STRUCTURES). The bits describing which controls are
+turned on or off are defined in Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select controls for
+modification and to enable and disable the control. Note that the same mask bit is used to
+specify general modifications to the parameters used to configure the control (which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no "ok" in column)
+are for controls that have no configurable attributes; and for controls that are not boolean
+controls and therefore cannot be enabled or disabled.
+.bp
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+The
+.I mask
+parameter specifies the boolean controls to be enabled or disabled, and the
+.I values
+mask specifies the new state for those controls. Valid values for both of these
+masks are composed of a bitwise inclusive OR of bits taken from the set of mask
+bits in Table 1, using only those masks with "ok" in the
+.I enabled_ctrls
+column.
+
+If the X server does not support a compatible version of Xkb or the Xkb
+extension has not been properly initialized,
+.I XkbChangeEnabledControls
+returns False; otherwise, it sends the request to the X server and returns True.
+
+Note that the EnabledControls control only enables and disables controls; it
+does not configure them. Some controls, such as the AudibleBell control, have no
+configuration attributes and are therefore manipulated solely by enabling and
+disabling them. Others, however, have additional attributes to configure their
+behavior. For example, the RepeatControl control uses
+.I repeat_delay
+and
+.I repeat_interval
+fields to describe the timing behavior of keys that repeat. The RepeatControl
+behavior is turned on or off depending on the value of the XkbRepeatKeysMask
+bit, but you must use other means, as described in this chapter, to configure
+its behavior in detail.
+.SH "RETURN VALUES"
+.TP 15
+True
+The X server supports a compatible version of Xkb.
+.TP 15
+False
+The X server does not support a compatible version of Xkb or the Xkb extension has not been properly initialized.
+.SH STRUCTURES
+.LP
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
diff --git a/libX11/man/xkb/XkbChangeIndicators.man b/libX11/man/xkb/XkbChangeIndicators.man
new file mode 100644
index 000000000..a0604ced4
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeIndicators.man
@@ -0,0 +1,172 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeIndicators __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeIndicators \- Changes indicator maps or state without passing the
+entire keyboard description
+.SH SYNOPSIS
+.B Bool XkbChangeIndicators
+(
+.I dpy,
+.I xkb,
+.I changes,
+.I state
+)
+.br
+ Display *\fI dpy \fP\^;
+.br
+ XkbDescPtr \fI xkb \fP\^;
+.br
+ XkbIndicatorChangesPtr \fI changes \fP\^;
+.br
+ unsigned int \fI state \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description from which names are to be taken.
+.TP
+.I \- changes
+indicators to be updated on the server
+.TP
+.I \- state
+new state of indicators listed in changes->state_changes
+.SH DESCRIPTION
+.LP
+The XkbIndicatorChangesRec identifies small modifications to the indicator map.
+Use it with the function
+.I XkbChangeIndicators
+to reduce the amount of traffic sent to the server (see STRUCTURES).
+
+The
+.I state_changes
+field is a mask that specifies the indicators that have changed state, and
+.I map_changes
+is a mask that specifies the indicators whose maps have changed.
+
+.I XkbChangeIndicators
+copies any maps specified by
+.I changes
+from the keyboard description,
+.I xkb,
+to the server specified by
+.I dpy.
+If any bits are set in the
+.I state_changes
+field of
+.I changes, XkbChangeIndicators
+also sets the state of those indicators to the values specified in the
+.I state
+mask. A 1 bit in
+.I state
+turns the corresponding indicator on, a 0 bit turns it off.
+
+In addition, it can also generate XkbIndicatorStateNotify and
+XkbIndicatorMapNotify events.
+
+Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events
+to all interested clients. Similarly, whenever an indicator's map changes, the
+server sends XkbIndicatorMapNotify events to all interested clients.
+
+To receive XkbIndicatorStateNotify events, use
+.I XkbSelectEvents
+with both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify
+events, use
+.I XkbSelectEvents
+with XkbIndicatorMapNotifyMask.
+
+To receive events for only specific indicators, use
+.I XkbSelectEventDetails.
+Set the
+.I event_type
+parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
+.I bits_to_change
+and
+.I values_for_bits
+detail parameters to a mask where each bit specifies one indicator, turning on those
+bits that specify the indicators for which you want to receive events.
+
+.I xkb_type
+is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the
+event is a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
+
+The
+.I changed
+parameter is a mask that is the bitwise inclusive OR of the indicators that have
+changed. If the event is of type XkbIndicatorMapNotify,
+.I changed
+reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
+.I changed
+reports the indicators that have changed state.
+.I state
+is a mask that specifies the current state of all indicators, whether they have
+changed or not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
+.SH STRUCTURES
+.LP
+.nf
+ typedef struct _XkbIndicatorChanges {
+ unsigned int state_changes;
+ unsigned int map_changes;
+ }XkbIndicatorChangesRec,*XkbIndicatorChangesPtr;
+
+.fi
+Both types of indicator events use the same structure:
+
+.nf
+ typedef struct _XkbIndicatorNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** specifies state or map notify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd*/
+ unsigned int changed; /\(** mask of indicators with new state or map */
+ unsigned int state; /\(** current state of all indicators */
+ } XkbIndicatorNotifyEvent;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.SH "SEE ALSO"
+.BR XkbIndicatorMapNotify (__libmansuffix__),
+.BR XkbIndicatorStateNotify (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbChangeMap.man b/libX11/man/xkb/XkbChangeMap.man
new file mode 100644
index 000000000..e65a5ec5a
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeMap.man
@@ -0,0 +1,149 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeMap \- Update only partial components of a keyboard description, modify
+the appropriate fields in the server and map components of a local copy of the
+keyboard description
+.SH SYNOPSIS
+.B Bool XkbChangeMap
+(
+.I dpy,
+.I xkb,
+.I changes
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbMapChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- xkb
+description from which new values are taken
+.TP
+.I \- changes
+identifies component parts to update
+.SH DESCRIPTION
+.LP
+To update only partial components of a keyboard description, modify the
+appropriate fields in the server and map components of a local copy of the
+keyboard description, then call
+.I XkbChangeMap
+with an XkbMapChangesRec structure indicating which components have changed.
+
+.I XkbChangeMap
+copies any components specified by the
+.I changes
+structure from the keyboard description,
+.I xkb,
+to the X server specified by
+.I dpy.
+
+If any components specified by
+.I changes
+are not present in the
+.I xkb
+parameter,
+.I XkbChangeMap
+returns False. Otherwise, it sends a request to the server and returns True.
+
+.I XkbChangeMap
+can generate BadAlloc, BadLength, and BadValue protocol errors.
+.SH "RETURN VALUES"
+.TP 15
+True
+The XkbChangeMap function returns True if the components specified by
+.I changes
+are present in the
+.I xkb
+parameter.
+.TP 15
+False
+The XkbChangeMap function returns False if the components specified by
+.I changes
+are not present in the
+.I xkb
+parameter.
+.SH STRUCTURES
+.LP
+Use the XkbMapChangesRec structure to identify and track partial modifications
+to the mapping components and to reduce the amount of traffic between the server
+and clients.
+.nf
+
+typedef struct _XkbMapChanges {
+ unsigned short changed; /\(** identifies valid components in
+structure */
+ KeyCode min_key_code; /\(** lowest numbered keycode for device
+*/
+ KeyCode max_key_code; /\(** highest numbered keycode for device
+*/
+ unsigned char first_type; /\(** index of first key type modified */
+ unsigned char num_types; /\(** # types modified */
+ KeyCode first_key_sym; /\(** first key whose key_sym_map changed
+*/
+ unsigned char num_key_syms; /\(** # key_sym_map entries changed */
+ KeyCode first_key_act; /\(** first key whose key_acts entry
+changed */
+ unsigned char num_key_acts; /\(** # key_acts entries changed */
+ KeyCode first_key_behavior; /\(** first key whose behaviors changed */
+ unsigned char num_key_behaviors; /\(** # behaviors entries changed */
+ KeyCode first_key_explicit; /\(** first key whose explicit entry
+changed */
+ unsigned char num_key_explicit; /\(** # explicit entries changed */
+ KeyCode first_modmap_key; /\(** first key whose modmap entry changed
+*/
+ unsigned char num_modmap_keys; /\(** # modmap entries changed */
+ KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */
+ unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */
+ unsigned char pad1; /\(** reserved */
+ unsigned short vmods; /\(** mask indicating which vmods changed
+*/
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbChangeNames.man b/libX11/man/xkb/XkbChangeNames.man
new file mode 100644
index 000000000..75f815d6d
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeNames.man
@@ -0,0 +1,200 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeNames \- _summary-line_
+.SH SYNOPSIS
+.B Bool XkbChangeNames
+(
+.I dpy,
+.I which,
+.I Xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIXkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of names or map components to be updated
+.TP
+.I \- Xkb
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+.I XkbChangeNames
+provides a more flexible method for changing symbolic names than
+.I XkbSetNames
+and requires the use of an XkbNameChangesRec structure.
+
+.I XkbChangeNames
+copies any names specified by
+.I changes
+from the keyboard description,
+.I xkb,
+to the X server specified by
+.I dpy. XkbChangeNames
+aborts and returns False if any illegal type names or type shift level names are
+specified by changes.
+
+To change the symbolic names in the server, first modify a local copy of the
+keyboard description and then use either
+.I XkbSetNames,
+or, to save network traffic, use a XkbNameChangesRec structure and call
+.I XkbChangeNames
+to download the changes to the server.
+.I XkbSetNames
+and
+.I XkbChangeNames
+can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation
+errors.
+.SH STRUCTURES
+.LP
+The XkbNameChangesRec allows applications to identify small modifications to the
+symbolic names and
+effectively reduces the amount of traffic sent to the server:
+.nf
+
+ typedef struct _XkbNameChanges {
+ unsigned int changed; /\(** name components that have changed
+*/
+ unsigned char first_type; /\(** first key type with a new name */
+ unsigned char num_types; /\(** number of types with new names */
+ unsigned char first_lvl; /\(** first key type with new level
+names */
+ unsigned char num_lvls; /\(** number of key types with new level
+names */
+ unsigned char num_aliases; /\(** if key aliases changed, total
+number of key aliases */
+ unsigned char num_rg; /\(** if radio groups changed, total
+number of radio groups */
+ unsigned char first_key; /\(** first key with a new name */
+ unsigned char num_keys; /\(** number of keys with new names */
+ unsigned short changed_vmods; /\(** mask of virtual modifiers for
+which names have changed */
+ unsigned long changed_indicators; /\(** mask of indicators for which names
+were changed */
+ unsigned char changed_groups; /\(** mask of groups for which names
+were changed */
+ } XkbNameChangesRec, *XkbNameChangesPtr
+
+.fi
+The
+.I changed
+field specifies the name components that have changed and is the bitwise
+inclusive OR of the valid names
+mask bits defined in Table 1. The rest of the fields in the structure specify
+the ranges that have changed
+for the various kinds of symbolic names, as shown in Table 2.
+
+Xkb provides several functions that work with symbolic names. Each of these
+functions uses a mask to
+specify individual fields of the structures described above. These masks and
+their relationships to the
+fields in a keyboard description are shown in Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+.TS
+c s s s
+l l l l.
+Table 2 XkbNameChanges Fields
+_
+Mask Fields Component Field
+_
+XkbKeyTypeNamesMask first_type, Xkb->map type[*].name
+ num_types
+XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*]
+ num_lvls
+XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*]
+XkbRGNamesMask num_rg Xkb->names radio_groups[*]
+XkbKeyNamesMask first_key, Xkb->names keys[*]
+ num_keys
+XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*]
+XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*]
+XkbGroupNamesMask changed_groups Xkb->names groups[*]
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbChangeTypesOfKey.man b/libX11/man/xkb/XkbChangeTypesOfKey.man
new file mode 100644
index 000000000..ce2ef46a9
--- /dev/null
+++ b/libX11/man/xkb/XkbChangeTypesOfKey.man
@@ -0,0 +1,222 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key
+.SH SYNOPSIS
+.B Status XkbChangeTypesOfKey
+(
+.I xkb,
+.I key,
+.I n_groups,
+.I groups,
+.I new_types_in,
+.I p_changes
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ int \fIkey\fP\^;
+.br
+ int \fIn_groups\fP\^;
+.br
+ unsigned int \fIgroups\fP\^;
+.br
+ int * \fInew_types_in\fP\^;
+.br
+ XkbMapChangesPtr \fIp_changes\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be changed
+.TP
+.I \- key
+keycode for key of interest
+.TP
+.I \- n_groups
+new number of groups for key
+.TP
+.I \- groups
+mask indicating groups to change
+.TP
+.I \- new_types_in
+indices for new groups specified in groups
+.TP
+.I \- p_changes
+notes changes made to xkb
+.SH DESCRIPTION
+.LP
+.I XkbChangeTypesOfKey
+reallocates the symbols and actions bound to the key, if necessary, and
+initializes any new symbols
+or actions to NoSymbol or NoAction, as appropriate. If the p_changes parameter
+is not NULL,
+.I XkbChangeTypesOfKey
+adds the XkbKeySymsMask to the changes field of
+.I p_changes
+and modifies the
+.I first_key_sym
+and
+.I num_key_syms
+fields of
+.I p_changes
+to include the
+.I key
+that was changed. See STRUCTURE for more information on the XkbMapChangesPtr
+structure. If
+successful,
+.I XkbChangeTypesOfKey
+returns Success.
+
+The
+.I n_groups
+parameter specifies the new number of groups for the key. The
+.I groups
+parameter is a mask specifying the groups for which new types are supplied and
+is a bitwise
+inclusive OR of the following masks: XkbGroup1Mask, XkbGroup2Mask,
+XkbGroup3Mask, and XkbGroup4Mask.
+
+The
+.I new_types_in
+parameter is an integer array of length
+.I n_groups.
+Each entry represents the type to use for the associated group and is an index
+into
+.I xkb->map->types.
+The
+.I new_types_in
+array is indexed by group index; if
+.I n_groups
+is four and
+.I groups
+only has Group1Mask and Group3Mask set,
+.I new_types_in
+looks like this:
+.nf
+
+ new_types_in[0] = type for Group1
+ new_types_in[1] = ignored
+ new_types_in[2] = type for Group3
+ new_types_in[3] = ignored
+
+.fi
+For convenience, Xkb provides the following constants to use as indices to the
+groups:
+
+.TS
+c s
+l l
+l l.
+Table 1 Group Index Constants
+_
+Constant Name Value
+_
+XkbGroup1Index 0
+XkbGroup2Index 1
+XkbGroup3Index 2
+XkbGroup4Index 3
+.TE
+
+If the Xkb extension has not been properly initialized,
+.I XkbChangeTypesOfKey
+returns BadAccess. If the
+.I xkb
+parameter it not valid (that is, it is NULL or it does not contain a valid
+client map),
+.I XkbChangeTypesOfKey
+returns BadMatch. If the
+.I key
+is not a valid keycode,
+.I n_groups
+is greater than XkbNumKbdGroups, or the
+.I groups
+mask does not contain any of the valid group mask bits,
+.I XkbChangeTypesOfKey
+returns BadValue. If it is necessary to resize the key symbols or key actions
+arrays and any
+allocation errors occur,
+.I XkbChangeTypesOfKey
+returns BadAlloc.
+.SH STRUCTURES
+.LP
+Use the XkbMapChangesRec structure to identify and track partial modifications
+to the mapping
+components and to reduce the amount of traffic between the server and clients.
+.nf
+
+typedef struct _XkbMapChanges {
+ unsigned short changed; /\(** identifies valid components in
+structure */
+ KeyCode min_key_code; /\(** lowest numbered keycode for device
+*/
+ KeyCode max_key_code; /\(** highest numbered keycode for device
+*/
+ unsigned char first_type; /\(** index of first key type modified */
+ unsigned char num_types; /\(** # types modified */
+ KeyCode first_key_sym; /\(** first key whose key_sym_map changed
+*/
+ unsigned char num_key_syms; /\(** # key_sym_map entries changed */
+ KeyCode first_key_act; /\(** first key whose key_acts entry
+changed */
+ unsigned char num_key_acts; /\(** # key_acts entries changed */
+ KeyCode first_key_behavior; /\(** first key whose behaviors changed */
+ unsigned char num_key_behaviors; /\(** # behaviors entries changed */
+ KeyCode first_key_explicit; /\(** first key whose explicit entry
+changed */
+ unsigned char num_key_explicit; /\(** # explicit entries changed */
+ KeyCode first_modmap_key; /\(** first key whose modmap entry changed
+*/
+ unsigned char num_modmap_keys; /\(** # modmap entries changed */
+ KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */
+ unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */
+ unsigned char pad1; /\(** reserved */
+ unsigned short vmods; /\(** mask indicating which vmods changed
+*/
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and
+range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbComputeRowBounds.man b/libX11/man/xkb/XkbComputeRowBounds.man
new file mode 100644
index 000000000..523505e0b
--- /dev/null
+++ b/libX11/man/xkb/XkbComputeRowBounds.man
@@ -0,0 +1,64 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbComputeRowBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeRowBounds \- Update the bounding box of a row
+.SH SYNOPSIS
+.B Bool XkbComputeRowBounds
+(
+.I geom,
+.I section,
+.I row
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ XkbRowPtr \fIrow\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry that contains the section
+.TP
+.I \- section
+section that contains the row
+.TP
+.I \- row
+row to be examined and updated
+.SH DESCRIPTION
+.LP
+.I XkbComputeRowBounds
+checks the bounds of all keys in the
+.I row
+and updates the bounding box of the row if necessary.
+.I XkbComputeRowBounds
+returns False if any of the arguments is NULL; otherwise, it returns True.
diff --git a/libX11/man/xkb/XkbComputeSectionBounds.man b/libX11/man/xkb/XkbComputeSectionBounds.man
new file mode 100644
index 000000000..0ba9348ad
--- /dev/null
+++ b/libX11/man/xkb/XkbComputeSectionBounds.man
@@ -0,0 +1,62 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbComputeSectionBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeSectionBounds \- Update the bounding box of a section
+.SH SYNOPSIS
+.B Bool XkbComputeSectionBounds
+(
+.I geom,
+.I section
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry that contains the section
+.TP
+.I \- section
+section to be examined and updated
+.SH DESCRIPTION
+.LP
+ If you add or delete a row to or from a section, or if you change the geometry
+of any of the rows in that section, you may need to update the bounding box for
+that section.
+
+.I XkbComputeSectionBounds
+examines all the rows of the
+.I section
+and updates the bounding box of that section so that it contains all rows.
+.I XkbComputeSectionBounds
+returns False if any of the arguments is NULL; otherwise, it returns True.
diff --git a/libX11/man/xkb/XkbComputeShapeBounds.man b/libX11/man/xkb/XkbComputeShapeBounds.man
new file mode 100644
index 000000000..c77093d80
--- /dev/null
+++ b/libX11/man/xkb/XkbComputeShapeBounds.man
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbComputeShapeBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeShapeBounds \- Updates the bounding box of a shape
+.SH SYNOPSIS
+.B Bool XkbComputeShapeBounds
+(
+.I shape
+)
+.br
+ XkbShapePtr \fIshape\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape to be examined
+.SH DESCRIPTION
+.LP
+Xkb provides a number of convenience functions to help use a keyboard geometry. These include
+functions to return the bounding box of a shape's top surface and to update the bounding box
+of a shape row or section.
+
+A shape is made up of a number of outlines. Each outline is a polygon made up of a number of
+points. The bounding box of a shape is a rectangle that contains all the outlines of that
+shape.
+
+A ShapeRec contains a BoundsRec that describes the bounds of the shape. If you add or delete
+an outline to or from a shape, the bounding box must be updated.
+
+.I XkbComputeShapeBounds
+updates the BoundsRec contained in the
+.I shape
+by examining all the outlines of the shape and setting the BoundsRec to the minimum x and
+minimum y, and maximum x and maximum y values found in those outlines.
+.I XkbComputeShapeBounds
+returns False if
+.I shape
+is NULL or if there are no outlines for the shape; otherwise, it returns True.
+
+If you add or delete a key to or from a row, or if you update the shape of one of the keys in that row, you may need to update the bounding box of that row. To update the bounding box of a row, use
+.I XkbComputeRowBounds.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct _XkbShape {
+ Atom name; /\(** shape's name */
+ unsigned short num_outlines; /\(** number of outlines for the shape */
+ unsigned short sz_outlines; /\(** size of the outlines array */
+ XkbOutlinePtr outlines; /\(** array of outlines for the shape */
+ XkbOutlinePtr approx; /\(** pointer into the array to the approximating outline */
+ XkbOutlinePtr primary; /\(** pointer into the array to the primary outline */
+ XkbBoundsRec bounds; /\(** bounding box for the shape; encompasses all outlines */
+} XkbShapeRec, *XkbShapePtr;
+
+typedef struct _XkbBounds {
+ short x1,y1; /\(** upper left corner of the bounds, in mm/10 */
+ short x2,y2; /\(** lower right corner of the bounds, in mm/10 */
+} XkbBoundsRec, *XkbBoundsPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbComputeRowBounds (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbComputeShapeTop.man b/libX11/man/xkb/XkbComputeShapeTop.man
new file mode 100644
index 000000000..db71a7e4a
--- /dev/null
+++ b/libX11/man/xkb/XkbComputeShapeTop.man
@@ -0,0 +1,87 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbComputeShapeTop __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeShapeTop \- Determines the bounding box of the top surface of a shape
+.SH SYNOPSIS
+.B Bool XkbComputeShapeTop
+(
+.I shape,
+.I bounds_rtrn
+)
+.br
+ XkbShapePtr \fIshape\fP\^;
+.br
+ XkbBoundsPtr \fIbounds_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape to be examined
+.TP
+.I \- bounds_rtrn
+backfilled with the bounding box for the shape
+.SH DESCRIPTION
+.LP
+Xkb provides a number of convenience functions to help use a keyboard geometry.
+These include functions to return the bounding box of a shape's top surface and
+to update the bounding box of a shape row or section.
+
+A shape is made up of a number of outlines. Each outline is a polygon made up of
+a number of points. The bounding box of a shape is a rectangle that contains all
+the outlines of that shape.
+
+.I XkbComputeShapeTop
+returns a BoundsRec that contains two x and y coordinates. These coordinates
+describe the corners of a rectangle that contains the outline that describes the
+top surface of the shape. The top surface is defined to be the approximating
+outline if the
+.I approx
+field of
+.I shape
+is not NULL. If
+.I approx
+is NULL, the top surface is defined as the last outline in the
+.I shape's
+array of outlines.
+.I XkbComputeShapeTop
+returns False if
+.I shape
+is NULL or if there are no outlines for the shape; otherwise, it returns True.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct _XkbBounds {
+ short x1,y1; /\(** upper left corner of the bounds, in mm/10 */
+ short x2,y2; /\(** lower right corner of the bounds, in mm/10 */
+} XkbBoundsRec, *XkbBoundsPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbCopyKeyType.man b/libX11/man/xkb/XkbCopyKeyType.man
new file mode 100644
index 000000000..36967046a
--- /dev/null
+++ b/libX11/man/xkb/XkbCopyKeyType.man
@@ -0,0 +1,106 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbCopyKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbCopyKeyType \- Copy one XkbKeyTypeRec structures
+.SH SYNOPSIS
+.B Status XkbCopyKeyType
+(
+.I from,
+.I into
+)
+.br
+ XkbKeyTypePtr \fIfrom\fP\^;
+.br
+ XkbKeyTypePtr \fIinto\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- from
+pointer to XkbKeyTypeRec to be copied
+.TP
+.I \- into
+pointer to XkbKeyTypeRec to be changed
+.SH DESCRIPTION
+.LP
+.I XkbCopyKeyType
+copies the key type specified by
+.I from
+to the key type specified by
+.I into.
+Both must point to legal XkbKeyTypeRec structures. Xkb assumes
+.I from
+and
+.I into
+point to different places. As a result, overlaps can be fatal.
+.I XkbCopyKeyType
+frees any existing
+.I map, preserve,
+and
+.I level_names
+in
+.I into
+prior to copying. If any allocation errors occur while copying
+.I from
+to
+.I into, XkbCopyKeyType
+returns BadAlloc. Otherwise,
+.I XkbCopyKeyType
+copies
+.I from
+to
+.I into
+and returns Success.
+.SH STRUCTURES
+.LP
+Key types are used to determine the shift level of a key given the current state of the
+keyboard. The set of all possible key types for the Xkb keyboard description are held in the
+.I types
+field of the client map, whose total size is stored in
+.I size_types,
+and whose total number of valid entries is stored in
+.I num_types.
+Key types are defined using the following structure:
+.nf
+
+typedef struct { /\(** Key Type */
+ XkbModsRec mods; /\(** modifiers used to compute shift level */
+ unsigned char num_levels; /\(** total # shift levels, do not modify directly */
+ unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) */
+ XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level */
+ XkbModsPtr preserve; /\(** mods to preserve for corresponding map entry */
+ Atom name; /\(** name of key type */
+ Atom * level_names; /\(** array of names of each shift level */
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbCopyKeyTypes.man b/libX11/man/xkb/XkbCopyKeyTypes.man
new file mode 100644
index 000000000..abf0f7e1d
--- /dev/null
+++ b/libX11/man/xkb/XkbCopyKeyTypes.man
@@ -0,0 +1,130 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbCopyKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbCopyKeyTypes \- Copy more than one XkbKeyTypeRec structure
+.SH SYNOPSIS
+.B Status XkbCopyKeyTypes
+(
+.I from,
+.I into,
+.I num_types
+)
+.br
+ XkbKeyTypePtr \fIfrom\fP\^;
+.br
+ XkbKeyTypePtr \fIinto\fP\^;
+.br
+ int \fInum_types\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- from
+pointer to array of XkbKeyTypeRecs to copy
+.TP
+.I \- into
+pointer to array of XkbKeyTypeRecs to change
+.TP
+.I \- num_types
+number of types to copy
+.SH DESCRIPTION
+.LP
+.I XkbCopyKeyTypes
+copies
+.I num_types
+XkbKeyTypeRec structures from the array specified by
+.I from
+into the array specified by
+.I into.
+It is intended for copying between, rather than within, keyboard descriptions,
+so it
+doesn't check for overlaps. The same rules that apply to the
+.I from
+and
+.I into
+parameters in
+.I XkbCopyKeyType
+apply to each entry of the
+.I from
+and
+.I into
+arrays of
+.I XkbCopyKeyTypes.
+If any allocation errors occur while copying
+.I from
+to
+.I into, XkbCopyKeyTypes
+returns BadAlloc. Otherwise,
+.I XkbCopyKeyTypes
+copies
+.I from
+to
+.I into
+and returns Success.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbCopyKeyTypes function returns Success when there are no allocation
+errors.
+.SH STRUCTURES
+.LP
+Key types are used to determine the shift level of a key given the current state
+of the
+keyboard. The set of all possible key types for the Xkb keyboard description are
+held in
+the
+.I types
+field of the client map, whose total size is stored in
+.I size_types,
+and whose total number of valid entries is stored in
+.I num_types.
+Key types are defined using the following structure:
+.nf
+
+typedef struct { /\(** Key Type */
+ XkbModsRec mods; /\(** modifiers used to compute shift level */
+ unsigned char num_levels; /\(** total # shift levels, do not modify
+directly */
+ unsigned char map_count; /\(** # entries in map, preserve (if non-NULL)
+*/
+ XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level
+*/
+ XkbModsPtr preserve; /\(** mods to preserve for corresponding map
+entry */
+ Atom name; /\(** name of key type */
+ Atom * level_names; /\(** array of names of each shift level */
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.SH "SEE ALSO"
+.BR XkbCopyKeyType (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbDeviceBell.man b/libX11/man/xkb/XkbDeviceBell.man
new file mode 100644
index 000000000..d5d05cdea
--- /dev/null
+++ b/libX11/man/xkb/XkbDeviceBell.man
@@ -0,0 +1,313 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbDeviceBell \- Rings the bell on an X input extension device or the default keyboard
+.SH SYNOPSIS
+.B Bool XkbDeviceBell
+(
+.I display,
+.I window,
+.I device_spec,
+.I bell_class,
+.I bell_id,
+.I percent,
+.I name
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ Window \fI window \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned int \fI bell_class \fP\^;
+.br
+ unsigned int \fI bell_id \fP\^;
+.br
+ int \fI percent \fP\^;
+.br
+ Atom \fI name \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+window for which the bell is generated, or None
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- bell_class
+X input extension bell class of the bell to be rung
+.TP
+.I \- bell_id
+X input extension bell ID of the bell to be rung
+.TP
+.I \- percent
+bell volume, from -100 to 100 inclusive
+.TP
+.I \- name
+a name for the bell, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell with a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients to
+attach symbolic names to bells, disable audible bells, and receive an event whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of view,
+merely a name, and not connected with any physical sound-generating device. Some client
+application must generate the sound, or visual feedback, if any, that is associated with
+the name.)
+
+You can also ask to receive XkbBellNotify events when the server rings the default bell
+or if any client has requested events only (without the bell sounding) for any of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell control
+to prevent the server from also generating a sound and avoid cacophony. If you disable
+audible bells and request to receive XkbBellNotify events, you can generate feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or
+repeating, Xkb can provide feedback for the controls by using special beep codes. The
+AccessXFeedback control is used to configure the specific types of operations that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an Atom
+and then using this name when you call the functions listed in this chapter. If an event
+is generated as a result, the name is then passed to all other clients interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that there is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the screen)
+must be generated by a client application upon receipt of the bell event containing the
+name. There is no default name for the default keyboard bell. The server does generate
+some predefined bells for the AccessX controls. These named bells are shown in the Table 1
+; the name is included in any bell event sent to clients that have requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell. This
+is useful if you need to use an audio server instead of the system beep. For example,
+when an audio client starts, it could disable the audible bell (the system bell) and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell events.
+
+The input extension has two types of feedbacks that can generate bells - bell feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+The Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+Set
+.I percent
+to be the volume relative to the base volume for the keyboard as described for .I XBell.
+
+Note that
+.I bell_class
+and
+.I bell_id
+indicate the bell to physically ring.
+.I name
+is simply an arbitrary moniker for the client application's use.
+
+To determine the current feedback settings of an extension input device, use
+.I XGetFeedbackControl.
+See the X input extension documentation for more information on
+.I XGetFeedbackControl
+and related data structures.
+
+If a compatible keyboard extension is not present in the X server,
+.I XkbDeviceBell
+immediately returns False. Otherwise,
+.I XkbDeviceBell
+rings the bell as specified for the display and keyboard device and returns True. If you have disabled the audible bell, the server does not ring the system bell, although it does generate a
+.I XkbBellNotify
+event.
+
+You can call
+.I XkbDeviceBell
+without first initializing the keyboard extension.
+.SH STRUCTURES
+Xkb generates XkbBellNotify events for all bells except for those resulting from calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (3X11),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XGetFeedbackControl (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbDeviceBellEvent.man b/libX11/man/xkb/XkbDeviceBellEvent.man
new file mode 100644
index 000000000..a28a868f9
--- /dev/null
+++ b/libX11/man/xkb/XkbDeviceBellEvent.man
@@ -0,0 +1,344 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbDeviceBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbDeviceBellEvent \- Creates a bell event for an X input extension device or
+for the keyboard, without ringing the corresponding bell
+.SH SYNOPSIS
+.B Bool XkbDeviceBellEvent
+(
+.I display,
+.I window,
+.I device_spec,
+.I bell_class,
+.I bell_id,
+.I percent,
+.I name
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ Window \fI window \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned int \fI bell_class \fP\^;
+.br
+ unsigned int \fI bell_id \fP\^;
+.br
+ int \fI percent \fP\^;
+.br
+ Atom \fI name \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+event window, or None
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- bell_class
+input extension bell class for the event
+.TP
+.I \- bell_id
+input extension bell ID for the event
+.TP
+.I \- percent
+volume for the bell, which can range from -100 to 100 inclusive
+.TP
+.I \- name
+a bell name, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell with
+a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients to
+attach symbolic names to bells, disable audible bells, and receive an event whenever
+the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to
+any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of
+view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is associated
+with
+the name.)
+
+You can also ask to receive XkbBellNotify events when the server rings the default
+bell
+or if any client has requested events only (without the bell sounding) for any of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that replaces
+the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions
+that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or
+repeating, Xkb can provide feedback for the controls by using special beep codes. The
+AccessXFeedback control is used to configure the specific types of operations that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an
+Atom
+and then using this name when you call the functions listed in this chapter. If an
+event
+is generated as a result, the name is then passed to all other clients interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that there is
+no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event containing
+the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in the
+Table 1
+below; the name is included in any bell event sent to clients that have requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell.
+This
+is useful if you need to use an audio server instead of the system beep. For example,
+when an audio client starts, it could disable the audible bell (the system bell) and
+then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio
+client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an
+XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbDeviceBellEvent
+immediately returns False. Otherwise,
+.I XkbDeviceBellEvent
+causes an XkbBellNotify event to be sent to all interested clients and returns
+True. Set
+.I percent
+to be the volume relative to the base volume for the keyboard as described for
+.I XBell.
+
+In addition,
+.I XkbDeviceBellEvent
+may generate Atom protocol errors as well as XkbBellNotify events. You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbDeviceBellEvent
+sends an XkbBellNotify event to to all interested clients and returns
+True.
+.TP 15
+False
+If a compatible keyboard extension isn't present in the X server,
+.I XkbDeviceBellEvent
+immediately returns False
+.SH STRUCTURES
+.TP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask
+in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (3X11),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
+
+
+
diff --git a/libX11/man/xkb/XkbFindOverlayForKey.man b/libX11/man/xkb/XkbFindOverlayForKey.man
new file mode 100644
index 000000000..783fddf12
--- /dev/null
+++ b/libX11/man/xkb/XkbFindOverlayForKey.man
@@ -0,0 +1,66 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFindOverlayForKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFindOverlayForKey \- Find the alternate name by using the primary name for a
+key that is part of an overlay
+.SH SYNOPSIS
+.B char * XkbFindOverlayForKey
+(
+.I geom,
+.I section,
+.I under
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ char * \fIunder\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry that contains the section
+.TP
+.I \- section
+section to be searched for matching keys
+.TP
+.I \- under
+primary name of the key to be considered
+.SH DESCRIPTION
+.LP
+Keys that can generate multiple keycodes may be associated with multiple names.
+Such keys have a primary name and an alternate name.
+
+.I XkbFindOverlayForKey
+uses the primary name of the key,
+.I under,
+to look up the alternate name, which it returns.
diff --git a/libX11/man/xkb/XkbForceBell.man b/libX11/man/xkb/XkbForceBell.man
new file mode 100644
index 000000000..b149974a2
--- /dev/null
+++ b/libX11/man/xkb/XkbForceBell.man
@@ -0,0 +1,326 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbForceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbForceBell \- Overrides user preference settings for audible bells to ring the
+bell on the default keyboard
+.SH SYNOPSIS
+.B Bool XkbForceBell
+(
+.I display,
+.I percent
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ int \fI percent \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- percent
+volume for the bell, which can range from -100 to 100 inclusive
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients
+to
+attach symbolic names to bells, disable audible bells, and receive an event whenever
+the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to
+any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of
+view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is associated
+with
+the name.)
+
+.LP
+You can also ask to receive XkbBellNotify events when the server rings the default
+bell
+or if any client has requested events only (without the bell sounding) for any of
+the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that replaces
+the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions
+that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or
+repeating, Xkb can provide feedback for the controls by using special beep codes.
+The
+AccessXFeedback control is used to configure the specific types of operations that
+generate feedback.
+
+.B Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an
+Atom
+and then using this name when you call the functions listed in this chapter. If an
+event
+is generated as a result, the name is then passed to all other clients interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that there
+is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event containing
+the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in the
+Table 1; the name is included in any bell event sent to clients that have requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+.B Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell.
+This
+is useful if you need to use an audio server instead of the system beep. For
+example,
+when an audio client starts, it could disable the audible bell (the system bell) and
+then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio
+client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback
+of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated when a bell function is
+called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbForceBell
+calls
+.I XBell
+with the specified
+.I display
+and
+.I percent
+and returns False. Otherwise,
+.I XkbForceBell
+calls
+.I XkbForceDeviceBell
+with the specified
+.I display
+and
+.I percent, device_spec
+=XkbUseCoreKbd,
+.I bell_class
+= XkbDfltXIClass,
+.I bell_id
+= XkbDfltXIId,
+.I window
+= None, and
+.I name
+= NULL, and returns what
+.I XkbForceDeviceBell
+returns.
+
+.I XkbForceBell
+does not cause an XkbBellNotify event.
+
+You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH "RETURNS VALUES"
+.TP 15
+False
+The
+.I XkbForceBell
+function returns False when a compatible keyboard extension isn't present in the X server.
+.SH STRUCTURES
+.LP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (3X11),
+.BR XkbBell (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbForceDeviceBell.man b/libX11/man/xkb/XkbForceDeviceBell.man
new file mode 100644
index 000000000..6842aa696
--- /dev/null
+++ b/libX11/man/xkb/XkbForceDeviceBell.man
@@ -0,0 +1,319 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbForceDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbForceDeviceBell \- Rings the bell on any keyboard, overriding user preference
+settings for audible bells
+.SH SYNOPSIS
+.B Bool XkbForceDeviceBell
+(
+.I display,
+.I window,
+.I device_spec,
+.I bell_class,
+.I bell_id,
+.I percent
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ Window \fI window \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned int \fI bell_class \fP\^;
+.br
+ unsigned int \fI bell_id \fP\^;
+.br
+ int \fI percent \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+event window, or None
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- bell_class
+input extension class of the bell to be rung
+.TP
+.I \- bell_id
+input extension ID of the bell to be rung
+.TP
+.I \- percent
+relative volume, which can range from -100 to 100 inclusive
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients
+to
+attach symbolic names to bells, disable audible bells, and receive an event
+whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to
+any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of
+view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is associated
+with
+the name.)
+
+.LP
+You can also ask to receive XkbBellNotify events when the server rings the default
+bell
+or if any client has requested events only (without the bell sounding) for any of
+the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that
+replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate
+feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions
+that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or repeating, Xkb
+can provide feedback for the controls by using special beep codes. The AccessXFeedback control
+is used to configure the specific types of operations that generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an Atom
+and then using this name when you call the functions listed in this chapter. If an event
+is generated as a result, the name is then passed to all other clients interested in receiving
+XkbBellNotify events. Note that these are arbitrary names and that there is no binding to any
+sounds. Any sounds or other effects (such as visual bells on the screen) must be generated by a
+client application upon receipt of the bell event containing the name. There is no default name
+for the default keyboard bell. The server does generate some predefined bells for the AccessX
+controls. These named bells are shown in Table 1; the name is included in any bell event sent to
+clients that have requested to receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell. This
+is useful if you need to use an audio server instead of the system beep. For example,
+when an audio client starts, it could disable the audible bell (the system bell) and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client could
+then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event occurs.
+This is the default. If you set XkbAudibleBellMask off and a bell event occurs, the server does
+not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell events.
+
+The input extension has two types of feedbacks that can generate bells - bell feedback and
+keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of each type;
+set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated
+when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbForceDeviceBell
+immediately returns False. Otherwise,
+.I XkbForceDeviceBell
+rings the bell as specified for the display and keyboard device and returns
+True. Set
+.I percent
+to be the volume relative to the base volume for the keyboard as described for
+.I XBell.
+
+There is no
+.I name
+parameter because
+.I XkbForceDeviceBell
+does not cause an XkbBellNotify event.
+
+You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH STRUCTURES
+.LP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+.SH "SEE ALSO"
+.BR XBell (3X11),
+.BR XkbBell (__libmansuffix__),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
+
+
+
+
diff --git a/libX11/man/xkb/XkbFreeClientMap.man b/libX11/man/xkb/XkbFreeClientMap.man
new file mode 100644
index 000000000..1a5610c9c
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeClientMap.man
@@ -0,0 +1,215 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeClientMap \- Free memory used by the client map member of an XkbDescRec
+structure
+.SH SYNOPSIS
+.B void XkbFreeClientMap
+(
+.I xkb,
+.I which,
+.I free_all
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing client map to free
+.TP
+.I \- which
+mask identifying components of map to free
+.TP
+.I \- free_all
+True => free all client components and map itself
+.SH DESCRIPTION
+.LP
+.I XkbFreeClientMap
+frees the components of client map specified by
+.I which
+in the XkbDescRec structure specified by the
+.I xkb
+parameter and sets the corresponding structure component values to NULL. The
+.I which
+parameter specifies a combination of the client map masks shown in Table 1.
+
+If
+.I free_all
+is True,
+.I which
+is ignored;
+.I XkbFreeClientMap
+frees every non-NULL structure component in the client map, frees the
+XkbClientMapRec
+structure referenced by the
+.I map
+member of the
+.I xkb
+parameter, and sets the
+.I map
+member to NULL.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocClientMap Masks
+_
+Mask Effect
+_
+XkbKeyTypesMask T{
+The type_count field specifies the number of entries to preallocate for the
+types field of the client map. If the type_count field is less than
+XkbNumRequiredTypes returns BadValue.
+T}
+.sp
+XkbKeySymsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the syms and key_sym_map fields of the client map. The fields are
+allocated to contain the maximum number of entries necessary for max_key_code -
+min_key_code + 1 keys.
+T}
+.sp
+XkbModifierMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the modmap field of the client map. The field is allocated to contain
+the maximum number of entries necessary for max_key_code - min_key_code + 1
+keys.
+T}
+.TE
+
+NOTE: The
+.I min_key_code
+and
+.I max_key_code
+fields of the
+.I xkb
+parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
+are set in the
+.I which
+parameter. If they are not valid,
+.I XkbAllocClientMap
+returns BadValue.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The
+.I map
+field of the complete Xkb keyboard description is a pointer to the Xkb client
+map, which is
+of type XkbClientMapRec:
+.nf
+
+ typedef struct { /\(** Client Map */
+ unsigned char size_types; /\(** # occupied entries in types */
+ unsigned char num_types; /\(** # entries in types */
+ XkbKeyTypePtr types; /\(** vector of key types used by this keymap */
+ unsigned short size_syms; /\(** length of the syms array */
+ unsigned short num_syms; /\(** # entries in syms */
+ KeySym * syms; /\(** linear 2d tables of keysyms, 1 per key */
+ XkbSymMapPtr key_sym_map; /\(** 1 per keycode, maps keycode to syms */
+ unsigned char * modmap; /\(** 1 per keycode, real mods bound to key */
+} XkbClientMapRec, *XkbClientMapPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbAllocClientMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbFreeCompatMap.man b/libX11/man/xkb/XkbFreeCompatMap.man
new file mode 100644
index 000000000..8b7263f58
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeCompatMap.man
@@ -0,0 +1,178 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeCompatMap \- Free an entire compatibility map or selected portions of one
+.SH SYNOPSIS
+.B void XkbFreeCompatMap
+(
+.I xkb,
+.I which,
+.I free_map
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_map\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description in which to free compatibility map
+.TP
+.I \- which
+mask of compatibility map components to free
+.TP
+.I \- free_map
+True => free XkbCompatMap structure itself
+.SH DESCRIPTION
+.LP
+.I which
+specifies the compatibility map components to be freed (see XkbGetCompatMap).
+.I which
+is an inclusive OR of the bits shown in Table 1.
+
+.TS
+c s s
+l l l.
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+.I free_map
+indicates whether the XkbCompatMap structure itself should be freed. If
+.I free_map
+is True,
+.I which
+is ignored, all non-NULL compatibility map components are freed, and the
+.I compat
+field in the XkbDescRec referenced by
+.I xkb
+is set to NULL.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbCompatMapRec {
+ XkbSymInterpretPtr sym_interpret; /\(** symbol based key semantics*/
+ XkbModsRec groups[XkbNumKbdGroups]; /\(** group => modifier map */
+ unsigned short num_si; /\(** # structures used in sym_interpret */
+ unsigned short size_si; /\(** # structures allocated in sym_interpret */
+ } XkbCompatMapRec, *XkbCompatMapPtr;
+
+.fi
+
+The complete description of an Xkb keyboard is given by an XkbDescRec. The component
+structures in the XkbDescRec represent the major Xkb components outlined in Figure 1.1.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the keyboard.
+The other fields specify structure components of the keyboard description and are
+described in detail in other sections of this document. Table 2 identifies the
+subsequent sections of this document that discuss the individual components of the
+XkbDescRec.
+
+.TS
+c s
+l l
+l l.
+Table 2 XkbDescRec Component References
+_
+XkbDescRec Field For more info
+_
+ctrls Chapter 10
+server Chapter 16
+map Chapter 15
+indicators Chapter 8
+names Chapter 18
+compat Chapter 17
+geom Chapter 13
+.TE
+
+Each structure component has a corresponding mask bit that is used in function calls to
+indicate that the structure should be manipulated in some manner, such as allocating it
+or freeing it. These masks and their relationships to the fields in the XkbDescRec are
+shown in Table 3.
+
+.TS
+c s s
+l l l
+l l l.
+Table 3 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH "SEE ALSO"
+.BR XkbGetCompatMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbFreeComponentList.man b/libX11/man/xkb/XkbFreeComponentList.man
new file mode 100644
index 000000000..137fd707c
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeComponentList.man
@@ -0,0 +1,54 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeComponentList __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeComponentList \- Free the structure returned by
+.I XkbListComponents
+.SH SYNOPSIS
+.B void XkbFreeComponentList
+(
+.I list
+)
+.br
+ XkbComponentListPtr \fIlist\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- list
+pointer to XkbComponentListRec to free
+.SH DESCRIPTION
+.LP
+When you are done using the structure returned by
+.I XkbListComponents,
+free it using
+.I XkbFreeComponentList.
+.SH "SEE ALSO"
+.BR XkbListComponents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbFreeControls.man b/libX11/man/xkb/XkbFreeControls.man
new file mode 100644
index 000000000..905a894ba
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeControls.man
@@ -0,0 +1,127 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeControls \- Frees memory used by the ctrls member of an XkbDescRec structure
+.SH SYNOPSIS
+.B void XkbFreeControls
+(
+.I xkb,
+.I which,
+.I free_all
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description in which to free controls components
+.TP
+.I \- which
+mask of components of ctrls to free
+.TP
+.I \- free_all
+True => free everything + ctrls itself
+.SH DESCRIPTION
+.LP
+.I XkbFreeControls
+frees the specified components of the
+.I ctrls
+field in the
+.I xkb
+keyboard description and sets the corresponding structure component values to NULL or zero. The
+.I which
+mask specifies the fields of
+.I ctrls
+to be freed and can contain any of the controls components specified in Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+If
+.I free_all
+is True,
+.I XkbFreeControls
+frees every non-NULL structure component in the controls, frees the XkbControlsRec structure referenced by the
+.I ctrls
+member of
+.I xkb,
+and sets
+.I ctrls
+to NULL.
diff --git a/libX11/man/xkb/XkbFreeDeviceInfo.man b/libX11/man/xkb/XkbFreeDeviceInfo.man
new file mode 100644
index 000000000..0f162c008
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeDeviceInfo.man
@@ -0,0 +1,190 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeDeviceInfo \- Free an XkbDeviceInfoRec structure
+.SH SYNOPSIS
+.B void XkbFreeDeviceInfo
+(
+.I device_info,
+.I which,
+.I free_all
+)
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+pointer to XkbDeviceInfoRec in which to free items
+.TP
+.I \- which
+mask of components of device_info to free
+.TP
+.I \- free_all
+True => free everything, including device_info
+.SH DESCRIPTION
+.LP
+If
+.I free_all
+is True, the
+.I XkbFreeDeviceInfo
+frees all components of
+.I device_info
+and the XkbDeviceInfoRec structure pointed to by
+.I device_info
+itself. If
+.I free_all
+is False, the value of
+.I which
+determines which subcomponents are freed.
+.I which
+is an inclusive OR of one or more of the values from Table 1. If
+.I which
+contains XkbXI_ButtonActionsMask, all button actions associated with
+.I device_info
+are freed,
+.I device_info->btn_acts
+is set to NULL, and
+.I device_info->num_btns
+is set to zero. If
+.I which
+contains all bits in XkbXI_IndicatorsMask, all XkbDeviceLedInfoRec structures associated with
+.I device_info
+are freed,
+.I device_info->leds
+is set to NULL, and
+.I device_info->sz_leds
+and
+.I device_info->num_leds
+are set to zero. If
+.I which
+contains XkbXI_IndicatorMapsMask, all indicator maps associated with
+.I device_info
+are cleared, but the number of LEDs and the leds structures themselves is preserved. If
+.I which
+contains XkbXI_IndicatorNamesMask, all indicator names associated with
+.I device_info
+are cleared, but the number of LEDs and the leds structures themselves is preserved. If
+.I which
+contains XkbXI_IndicatorStateMask, the indicator state associated with the
+.I device_info
+leds are set to zeros but the number of LEDs and the leds structures themselves is preserved.
+.bp
+.nf
+ Table 1 XkbDeviceInfoRec Mask Bits
+____________________________________________________________________________________
+Name XkbDeviceInfoRec Value Capability If Set
+ Fields Effected
+____________________________________________________________________________________
+XkbXI_KeyboardsMask (1L <<0) Clients can use all
+ Xkb requests and events
+ with KeyClass devices
+ supported by the input
+ device extension.
+
+XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
+ btn_acts actions to buttons
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
+ names to indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
+ indicator maps to
+ indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
+ the status of indicators
+ on non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
+ num_leds XkbXI_IndicatorMapsMask |
+ leds->* XkbXI_IndicatorStateMask
+
+XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
+
+XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
+ by Value Column XkbSI_ButtonActionsMask
+ masks
+
+XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
+ by Value Column XkbSI_KeyboardsMask
+ masks
+
+XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
+ by Value column XkbXI_UnsupportedFeaturesMask
+ masks
+.fi
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+typedef struct {
+ char * name; /\(** name for device */
+ Atom type; /\(** name for class of devices */
+ unsigned short device_spec; /\(** device of interest */
+ Bool has_own_state; /\(** True=>this device has its own state */
+ unsigned short supported; /\(** bits indicating supported capabilities */
+ unsigned short unsupported; /\(** bits indicating unsupported capabilities */
+ unsigned short num_btns; /\(** number of entries in btn_acts */
+ XkbAction * btn_acts; /\(** button actions */
+ unsigned short sz_leds; /\(** total number of entries in LEDs vector */
+ unsigned short num_leds; /\(** number of valid entries in LEDs vector */
+ unsigned short dflt_kbd_fb; /\(** input extension ID of default (core kbd) indicator */
+ unsigned short dflt_led_fb; /\(** input extension ID of default indicator feedback */
+ XkbDeviceLedInfoPtr leds; /\(** LED descriptions */
+} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
+
+typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbFreeGeomColors.man b/libX11/man/xkb/XkbFreeGeomColors.man
new file mode 100644
index 000000000..02827ae98
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomColors.man
@@ -0,0 +1,96 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomColors \- Free geometry colors
+.SH SYNOPSIS
+.B void XkbFreeGeomColors
+(
+.I geom,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which colors should be freed
+.TP
+.I \- first
+first color to be freed
+.TP
+.I \- count
+number of colors to be freed
+.TP
+.I \- free_all
+True => all colors are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all colors are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+colors are freed beginning with the one specified by
+.I first.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomDoodads.man b/libX11/man/xkb/XkbFreeGeomDoodads.man
new file mode 100644
index 000000000..56256e366
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomDoodads.man
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomDoodads \- Free geometry doodads
+.SH SYNOPSIS
+.B void XkbFreeGeomDoodads
+(
+.I doodads,
+.I count,
+.I free_all
+)
+.br
+ XkbDoodadPtr \fIdoodads\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- doodads
+doodads to be freed
+.TP
+.I \- count
+number of doodads to be freed
+.TP
+.I \- free_all
+True => all doodads are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all doodads in the array are freed, regardless of the value of
+.I count.
+Otherwise,
+.I count
+doodads are freed.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomDoodads function returns Success if there are no allocation
+errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomKeyAliases.man b/libX11/man/xkb/XkbFreeGeomKeyAliases.man
new file mode 100644
index 000000000..f5efa4f06
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomKeyAliases.man
@@ -0,0 +1,105 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomKeyAliases \- Free geometry key aliases
+.SH SYNOPSIS
+.B void XkbFreeGeomKeyAliases
+(
+.I geom,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which key aliases should be freed
+.TP
+.I \- first
+first key alias to be freed
+.TP
+.I \- count
+number of key aliases to be freed
+.TP
+.I \- free_all
+True => all key aliases are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all aliases in the top level of the specified geometry
+.I geom
+are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+aliases in
+.I geom
+are freed beginning with the one specified by
+.I first.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomKeyAliases function returns Success if there are no allocation
+errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomKeys.man b/libX11/man/xkb/XkbFreeGeomKeys.man
new file mode 100644
index 000000000..b325daf44
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomKeys.man
@@ -0,0 +1,74 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomKeys \- Free geometry keys
+.SH SYNOPSIS
+.B void XkbFreeGeomKeys
+(
+.I row,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbRowPtr \fIrow\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row in which keys should be freed
+.TP
+.I \- first
+first key to be freed
+.TP
+.I \- count
+number of keys to be freed
+.TP
+.I \- free_all
+True => all keys are freed
+.SH DESCRIPTION
+.LP
+If
+.I free_all
+is True, all keys are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+keys are freed beginning with the one specified by
+.I first.
diff --git a/libX11/man/xkb/XkbFreeGeomOutlines.man b/libX11/man/xkb/XkbFreeGeomOutlines.man
new file mode 100644
index 000000000..3ed6c3d31
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomOutlines.man
@@ -0,0 +1,74 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOutlines \- Free geometry outlines
+.SH SYNOPSIS
+.B void XkbFreeGeomOutlines
+(
+.I shape,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbShapePtr \fIshape\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape in which outlines should be freed
+.TP
+.I \- first
+first outline to be freed
+.TP
+.I \- count
+number of outlines to be freed
+.TP
+.I \- free_all
+True => all outlines are freed
+.SH DESCRIPTION
+.LP
+If
+.I free_all
+is True, all outlines are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+outlines are freed beginning with the one specified by
+.I first.
diff --git a/libX11/man/xkb/XkbFreeGeomOverlayKeys.man b/libX11/man/xkb/XkbFreeGeomOverlayKeys.man
new file mode 100644
index 000000000..a065ace6d
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomOverlayKeys.man
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOverlayKeys \- Free keys in an overlay row
+.SH SYNOPSIS
+.B void XkbFreeGeomOverlayKeys
+(
+.I row,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbRowPtr \fIrow\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row in which keys should be freed
+.TP
+.I \- first
+first key to be freed
+.TP
+.I \- count
+number of keys to be freed
+.TP
+.I \- free_all
+True => all keys are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all keys are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of keys specified by
+.I count
+are freed, beginning with the key specified by
+.I first
+in the specified row.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomOverlayKeys function returns Success if there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomOverlayRows.man b/libX11/man/xkb/XkbFreeGeomOverlayRows.man
new file mode 100644
index 000000000..f31fca216
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomOverlayRows.man
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOverlayRows \- Free rows in an overlay
+.SH SYNOPSIS
+.B void XkbFreeGeomOverlayRows
+(
+.I overlay,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbSectionPtr \fIoverlay\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+section in which rows should be freed
+.TP
+.I \- first
+first row to be freed
+.TP
+.I \- count
+number of rows to be freed
+.TP
+.I \- free_all
+True => all rows are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all rows are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of rows specified by
+.I count
+are freed, beginning with the row specified by
+.I first
+in the specified overlay.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomOverlayRows function returns Success if there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomOverlays.man b/libX11/man/xkb/XkbFreeGeomOverlays.man
new file mode 100644
index 000000000..afeb35822
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomOverlays.man
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOverlays \- Free rows in a section
+.SH SYNOPSIS
+.B void XkbFreeGeomOverlays
+(
+.I section,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section in which overlays should be freed
+.TP
+.I \- first
+first overlay to be freed
+.TP
+.I \- count
+number of overlays to be freed
+.TP
+.I \- free_all
+True => all overlays are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all overlays are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of overlays specified by
+.I count
+are freed, beginning with the overlay specified by
+.I first
+in the specified section.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomOverlays functions returns Success if there are no allocation or
+argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomPoints.man b/libX11/man/xkb/XkbFreeGeomPoints.man
new file mode 100644
index 000000000..ce941eb1b
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomPoints.man
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomPoints \- Free points in a outline
+.SH SYNOPSIS
+.B void XkbFreeGeomPoints
+(
+.I outline,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbOutlinePtr \fIoutline\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- outline
+outline in which points should be freed
+.TP
+.I \- first
+first point to be freed
+.TP
+.I \- count
+number of points to be freed
+.TP
+.I \- free_all
+True => all points are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all points are freed regardless of the value of
+>i first
+and
+.I count.
+Otherwise, the number of points specified by
+.I count
+are freed, beginning with the point specified by
+.I first
+in the specified outline.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomPoints function returns Success when there are no allocation or
+argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomProperties.man b/libX11/man/xkb/XkbFreeGeomProperties.man
new file mode 100644
index 000000000..586dfb1d1
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomProperties.man
@@ -0,0 +1,101 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomProperties __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomProperties \- Free geometry properties
+.SH SYNOPSIS
+.B void XkbFreeGeomProperties
+(
+.I geom,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool * \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which properties should be freed
+.TP
+.I \- first
+first property to be freed
+.TP
+.I \- count
+number of properties to be freed
+.TP
+.I \- free_all
+True => all properties are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all properties are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+properties are freed beginning with the one specified by
+.I first.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomProperties function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomRows.man b/libX11/man/xkb/XkbFreeGeomRows.man
new file mode 100644
index 000000000..0a67af5ca
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomRows.man
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomRows \- Free rows in a section
+.SH SYNOPSIS
+.B void XkbFreeGeomRows
+(
+.I section,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbSectionPtr \fIsection\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section in which rows should be freed
+.TP
+.I \- first
+first row to be freed
+.TP
+.I \- count
+number of rows to be freed
+.TP
+.I \- free_all
+True => all rows are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all rows are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of rows specified by
+.I count
+are freed, beginning with the row specified by
+.I first
+in the specified section.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomRows function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomSections.man b/libX11/man/xkb/XkbFreeGeomSections.man
new file mode 100644
index 000000000..2f8e59e8b
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomSections.man
@@ -0,0 +1,102 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomSections \- Free geometry sections
+.SH SYNOPSIS
+.B void XkbFreeGeomSections
+(
+.I geom,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which sections should be freed
+.TP
+.I \- first
+first section to be freed
+.TP
+.I \- count
+number of sections to be freed
+.TP
+.I \- free_all
+True => all sections are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all sections are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of sections specified by
+.I count
+are freed, beginning with the section specified by
+.I first
+in the specified geometry.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomSections function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomShapes.man b/libX11/man/xkb/XkbFreeGeomShapes.man
new file mode 100644
index 000000000..43ab964da
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeomShapes.man
@@ -0,0 +1,101 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomShapes \- Free geometry shapes
+.SH SYNOPSIS
+.B void XkbFreeGeomShapes
+(
+.I geom,
+.I first,
+.I count,
+.I free_all
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ int \fIfirst\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which shapes should be freed
+.TP
+.I \- first
+first shape to be freed
+.TP
+.I \- count
+number of shapes to be freed
+.TP
+.I \- free_all
+True => all shapes are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all shapes in the geometry are freed regardless of the values of
+.I first
+and
+.I count.
+Otherwise,
+.I count
+shapes are freed, beginning with the shape specified by
+.I first.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomShapes function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeometry.man b/libX11/man/xkb/XkbFreeGeometry.man
new file mode 100644
index 000000000..8b3425678
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeGeometry.man
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeometry \- Free an entire geometry
+.SH SYNOPSIS
+.B void XkbFreeGeometry
+(
+.I geom,
+.I which,
+.I free_all
+)
+.br
+ XkbGeometryPtr \fIgeom\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be freed
+.TP
+.I \- which
+mask of geometry components to be freed
+.TP
+.I \- free_all
+True => the entire geometry is freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+The values of
+.I which
+and
+.I free_all
+determine how much of the specified geometry is freed. The valid values for
+.I which
+are:
+
+.nf
+ #define XkbGeomPropertiesMask (1<<0)
+ #define XkbGeomColorsMask (1<<1)
+ #define XkbGeomShapesMask (1<<2)
+ #define XkbGeomSectionsMask (1<<3)
+ #define XkbGeomDoodadsMask (1<<4)
+ #define XkbGeomAllMask (0x1f)
+
+.fi
+If
+.I free_all
+is True, the entire geometry is freed regardless of the value of
+.I which.
+Otherwise, the portions of the geometry specified by
+.I which
+are freed.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeIndicatorMaps.man b/libX11/man/xkb/XkbFreeIndicatorMaps.man
new file mode 100644
index 000000000..9dd6272a0
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeIndicatorMaps.man
@@ -0,0 +1,58 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeIndicatorMaps \- Frees memory used by the
+.I indicators
+member of an XkbDescRec structure
+.SH SYNOPSIS
+.B void XkbFreeIndicatorMaps
+(
+.I xkb
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description structure
+.SH DESCRIPTION
+.LP
+If the
+.I indicators
+member of the keyboard description record pointed to by
+.I xkb
+is not NULL,
+.I XkbFreeIndicatorMaps
+frees the memory associated with the
+.I indicators
+member of
+.I xkb.
diff --git a/libX11/man/xkb/XkbFreeKeyboard.man b/libX11/man/xkb/XkbFreeKeyboard.man
new file mode 100644
index 000000000..0d13bb124
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeKeyboard.man
@@ -0,0 +1,76 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its
+members
+.SH SYNOPSIS
+.B void XkbFreeKeyboard
+(
+.I xkb,
+.I which,
+.I free_all
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I xkb
+keyboard description with components to free
+.TP
+.I which
+mask selecting components to free
+.TP
+.I free_all
+True => free all components and
+.I xkb
+.SH DESCRIPTION
+.LP
+.I XkbFreeKeyboard
+frees the components of
+.I xkb
+specified by
+.I which
+and sets the corresponding values to NULL. If
+.I
+free_all
+is True,
+.I XkbFreeKeyboard
+frees every non-NULL component of
+.I xkb
+and then frees the
+.I xkb
+structure itself.
+
diff --git a/libX11/man/xkb/XkbFreeNames.man b/libX11/man/xkb/XkbFreeNames.man
new file mode 100644
index 000000000..576bf916d
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeNames.man
@@ -0,0 +1,107 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeNames \- Free symbolic names structures
+.SH SYNOPSIS
+.B void XkbFreeNames
+(
+.I xkb,
+.I which,
+.I free_map
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_map\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for which names are to be freed
+.TP
+.I \- which
+mask of names components to be freed
+.TP
+.I \- free_map
+True => XkbNamesRec structure itself should be freed
+.SH DESCRIPTION
+.LP
+Do not free symbolic names structures directly using
+.I free
+or
+.I XFree.
+Use
+.I XkbFreeNames
+instead.
+
+The
+.I which
+parameter is the bitwise inclusive OR of the valid names mask bits defined in
+Table 1.
+
+Xkb provides several functions that work with symbolic names. Each of these
+functions uses a mask to specify individual fields of the structures described
+above. These masks and their relationships to the fields in a keyboard
+description are shown in Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
diff --git a/libX11/man/xkb/XkbFreeServerMap.man b/libX11/man/xkb/XkbFreeServerMap.man
new file mode 100644
index 000000000..63454257f
--- /dev/null
+++ b/libX11/man/xkb/XkbFreeServerMap.man
@@ -0,0 +1,201 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbFreeServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeServerMap \- Free memory used by the server member of an XkbDescRec
+structure
+.SH SYNOPSIS
+.B void XkbFreeServerMap
+(
+.I xkb,
+.I which,
+.I free_all
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ Bool \fIfree_all\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing server map to free
+.TP
+.I \- which
+mask identifying components of map to free
+.TP
+.I \- free_all
+True => free all server map components and server itself
+.SH DESCRIPTION
+.LP
+The
+.I XkbFreeServerMap
+function frees the specified components of server map in the XkbDescRec
+structure specified by the
+.I xkb
+parameter and sets the corresponding structure component values to NULL. The
+.I which parameter specifies a combination of the server map masks and is a
+bitwise inclusive OR
+of the masks listed in Table 1. If
+.I free_all
+is True,
+.I which
+is ignored and
+.I XkbFreeServerMap
+frees every non-NULL structure component in the server map, frees the
+XkbServerMapRec structure
+referenced by the
+.I server
+member of the
+.I xkb
+parameter, and sets the
+.I server
+member to NULL.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocServerMap Masks
+_
+Mask Effect
+_
+XkbExplicitComponentsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the explicit field of the server map.
+T}
+.sp
+XkbKeyActionsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the key_acts
+field of the server map. The count_acts parameter is used to allocate the acts
+field of the
+server map.
+T}
+.sp
+XkbKeyBehaviorsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the behaviors
+field of the server map.
+T}
+.sp
+XkbVirtualModMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the vmodmap
+field of the server map.
+T}
+
+.TE
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The Xkb server map contains the information the server needs to interpret key
+events and is of
+type XkbServerMapRec:
+
+.nf
+\&#define XkbNumVirtualMods 16
+
+typedef struct { /\(** Server Map */
+ unsigned short num_acts; /\(** # of occupied entries in acts */
+ unsigned short size_acts; /\(** # of entries in acts */
+ XkbAction * acts; /\(** linear 2d tables of key actions, 1 per keycode */
+ XkbBehavior * behaviors; /\(** key behaviors,1 per keycode */
+ unsigned short * key_acts; /\(** index into acts, 1 per keycode */
+ unsigned char * explicit; /\(** explicit overrides of core remapping, 1 per key */
+ unsigned char vmods[XkbNumVirtualMods]; /\(** real mods bound to virtual mods */
+ unsigned short * vmodmap; /\(** virtual mods bound to key, 1 per keycode*/
+} XkbServerMapRec, *XkbServerMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbGetAccessXTimeout.man b/libX11/man/xkb/XkbGetAccessXTimeout.man
new file mode 100644
index 000000000..7a53cc995
--- /dev/null
+++ b/libX11/man/xkb/XkbGetAccessXTimeout.man
@@ -0,0 +1,162 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetAccessXTimeout \- Queries the current AccessXTimeout options for a
+keyboard device
+.SH SYNOPSIS
+.B Bool XkbGetAccessXTimeout
+(
+.I display,
+.I device_spec,
+.I timeout_rtrn,
+.I ctrls_mask_rtrn,
+.I ctrls_values_rtrn,
+.I options_mask_rtrn,
+.I options_values_rtrn
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned short *\fI timeout_rtrn \fP\^;
+.br
+ unsigned int *\fI ctrls_mask_rtrn \fP\^;
+.br
+ unsigned int *\fI ctrls_values_rtrn \fP\^;
+.br
+ unsigned short *\fI options_mask_rtrn \fP\^;
+.br
+ unsigned short *\fI options_values_rtrn \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+unsigned short
+.TP
+.I \- device_spec
+device to query, or XkbUseCoreKbd
+.TP
+.I \- timeout_rtrn
+delay until AccessXTimeout, seconds
+.TP
+.I \- ctrls_mask_rtrn
+backfilled with controls to modify
+.TP
+.I \- ctrls_values_rtrn
+backfilled with on/off status for controls
+.TP
+.I \- options_mask_rtrn
+backfilled with ax_options to modify
+.TP
+.I \- options_values_rtrn
+backfilled with values for ax_options
+.SH DESCRIPTION
+.LP
+In environments where computers are shared, features such as SlowKeys present a
+problem: if
+SlowKeys is on, the keyboard can appear to be unresponsive because keys are not
+accepted
+until they are held for a certain period of time. To help solve this problem,
+Xkb provides
+an AccessXTimeout control to automatically change the enabled/disabled state of
+any boolean
+controls and to change the value of the AccessXKeys and AccessXFeedback control
+attributes
+if the keyboard is idle for a specified period of time.
+
+When a timeout as specified by AccessXTimeout occurs and a control is
+consequently modified,
+Xkb generates an XkbControlsNotify event.
+
+.I XkbGetAccessXTimeout
+sends a request to the X server to obtain the current values for the
+AccessXTimeout attributes, waits for a reply, and backfills the values into the
+appropriate arguments. The parameters
+.I options_mask_rtrn
+and
+.I options_values_rtrn
+are backfilled with the options to modify and the values for
+.I ax_options,
+which is a field in the XkbControlsRec structure.
+.I XkbGetAccessXTimeout
+returns True if successful; if a compatible version of the Xkb extension is not
+available in the server,
+.I XkbGetAccessXTimeout
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetAccessXTimeout
+returns True when it successfully sends a request to the X server to obtain the
+current values for the AccessXTimeout attributes, waits for a reply, and
+backfills the values into the appropriate arguments.
+.TP 15
+False
+The
+.I XkbGetAccessXTimeout
+funtion returns False if a compatible version of the Xkb extension is not
+available in the
+server.
+.SH STRUCTURES
+.LP
+.nf
+The XkbControlsRec structure is defined as follows:
+
+\&#define XkbMaxLegalKeyCode 255
+\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+} XkbControlsRec, *XkbControlsPtr;
+.fi
diff --git a/libX11/man/xkb/XkbGetAutoRepeatRate.man b/libX11/man/xkb/XkbGetAutoRepeatRate.man
new file mode 100644
index 000000000..677819d2b
--- /dev/null
+++ b/libX11/man/xkb/XkbGetAutoRepeatRate.man
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetAutoRepeatRate \- Gets the current attributes of the RepeatKeys control
+for a keyboard device
+.SH SYNOPSIS
+.B Bool XkbGetAutoRepeatRate
+(
+.I display,
+.I device_spec,
+.I timeout_rtrn,
+.I interval_rtrn
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned int *\fI timeout_rtrn \fP\^;
+.br
+ unsigned int *\fI interval_rtrn \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+desired device ID, or XkbUseCoreKbd
+.TP
+.I \- timeout_rtrn
+backfilled with initial repeat delay, ms
+.TP
+.I \- interval_rtrn
+backfilled with subsequent repeat delay, ms
+.SH DESCRIPTION
+.LP
+The core protocol allows only control over whether or not the entire keyboard or
+individual keys should auto-repeat when held down. RepeatKeys is a boolean
+control that extends this capability by adding control over the delay until a
+key begins to repeat and the rate at which it repeats. RepeatKeys is coupled
+with the core auto-repeat control: when RepeatKeys is enabled or disabled, the
+core auto-repeat is enabled or disabled and vice versa.
+
+Auto-repeating keys are controlled by two attributes. The first,
+.I timeout,
+is the delay after the initial press of an auto-repeating key and the first
+generated repeat event. The second,
+.I interval,
+is the delay between all subsequent generated repeat events. As with all boolean
+controls, configuring the attributes that determine how the control operates
+does not automatically enable the control as a whole.
+
+.I XkbGetAutoRepeatRate
+queries the server for the current values of the RepeatControls control
+attributes, backfills
+.I timeout_rtrn
+and
+.I interval_rtrn
+with them, and returns True. If a compatible version of the Xkb extension is not
+available in the server
+.I XkbGetAutoRepeatRate
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The XkbGetAutoRepeatRate function returns True if a compatible version of the
+Xkb extension is available in the server.
+.TP 15
+False
+The XkbGetAutoRepeatRate function returns False if a compatible version of the
+Xkb extension is not available in the server.
diff --git a/libX11/man/xkb/XkbGetAutoResetControls.man b/libX11/man/xkb/XkbGetAutoResetControls.man
new file mode 100644
index 000000000..23d8dd274
--- /dev/null
+++ b/libX11/man/xkb/XkbGetAutoResetControls.man
@@ -0,0 +1,105 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetAutoResetControls \- Gets the current values of the auto-reset controls
+.SH SYNOPSIS
+.B Bool XkbGetAutoResetControls
+(
+.I dpy,
+.I auto_ctrls,
+.I auto_values
+)
+.br
+ Display *\fI dpy \fP\^;
+.br
+ unsigned int *\fI auto_ctrls \fP\^;
+.br
+ unsigned int *\fI auto_values \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+ connection to X server
+.TP
+.I \- auto_ctrls
+ specifies which bits in auto_values are relevant
+.TP
+.I \- auto_values
+1 bit => corresponding control has auto-reset on
+.SH DESCRIPTION
+.LP
+You can configure the boolean controls to automatically be enabled or
+disabled when a program exits. This capability is controlled via two masks
+maintained in the X server on a per-client basis. There is no client-side Xkb
+data structure corresponding to these masks. Whenever the client exits for
+any reason, any boolean controls specified in the
+.I auto-reset mask
+are set to the corresponding value from the
+.I auto-reset values
+mask. This makes it
+possible for clients to "clean up after themselves" automatically, even if
+abnormally terminated. The bits used in the masks correspond to the
+EnabledControls control bits.
+
+For example, a client that replaces the keyboard bell with some other audible
+cue might want to turn off the AudibleBell control to prevent the server from
+also generating a sound and avoid cacophony. If the client were to exit
+without resetting the AudibleBell control, the user would be left without any
+feedback at all. Setting AudibleBell in both the auto-reset mask and
+auto-reset values guarantees that the audible bell will be turned back on
+when the client exits.
+
+.I XkbGetAutoResetControls
+backfills
+.I auto_ctrls
+and
+.I auto_values
+with the AutoReset control attributes for this particular client. It returns
+True if successful, and False otherwise.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetAutoResetControls
+function returns True when it successfully backfills
+.I auto_ctrls
+and
+.I auto_values
+with the AutoReset control attributes for this particular client.
+.TP 15
+False
+The
+.I XkbGetAutoResetControls
+function returns False when it does not successfully backfill
+.I auto_ctrls
+and
+.I auto_values
+with the AutoReset control attributes for this particular client.
diff --git a/libX11/man/xkb/XkbGetBounceKeysDelay.man b/libX11/man/xkb/XkbGetBounceKeysDelay.man
new file mode 100644
index 000000000..917296bb6
--- /dev/null
+++ b/libX11/man/xkb/XkbGetBounceKeysDelay.man
@@ -0,0 +1,226 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetBounceKeysDelay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetBounceKeysDelay \- Queries the current BounceKeys delay for a keyboard
+device.
+.SH SYNOPSIS
+.B Bool XkbGetBounceKeysDelay
+(
+.I display,
+.I device_spec,
+.I delay_rtrn
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int *\fIdelay_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- delay_rtrn
+backfilled with bounce keys delay, ms
+.SH DESCRIPTION
+.LP
+The server can generate XkbAccessXNotify events for some of the global keyboard
+controls.
+The detail field describes what AccessX event just occurred and can be any of
+the values in
+Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 AccessXNotify Events
+_
+detail Reason
+_
+XkbAXN_SKPress T{
+A key was pressed when SlowKeys was enabled.
+T}
+XkbAXN_SKAccept T{
+A key was accepted (held longer than the SlowKeys delay).
+T}
+XkbAXN_SKRelease T{
+An accepted SlowKeys key was released.
+T}
+XkbAXN_SKReject T{
+A key was rejected (released before the SlowKeys delay expired).
+T}
+XkbAXN_BKAccept T{
+A key was accepted by BounceKeys.
+T}
+XkbAXN_BKReject T{
+A key was rejected (pressed before the BounceKeys delay expired).
+T}
+XkbAXN_AXKWarning T{
+AccessXKeys is about to turn on/off StickyKeys or BounceKeys.
+T}
+.TE
+
+
+The
+.I keycode
+field reports the keycode of the key for which the event occurred. If the action
+is related to
+.I SlowKeys,
+the
+.I slowKeysDelay
+field contains the current SlowKeys acceptance delay. If the action is related
+to BounceKeys,
+the
+.I debounceDelay
+field contains the current BounceKeys debounce delay.
+
+Selecting for AccessX Events
+
+To receive XkbAccessXNotify events under all possible conditions, use
+.I XkbSelectEvents
+and pass XkbAccesXNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbStateNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbAccessXNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 2.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 2 AccessXNotify Event Details
+_
+XkbAccessXNotify Event Details Value Circumstances
+_
+XkbAXN_SKPressMask (1<<0) T{
+Slow key press notification wanted
+T}
+XkbAXN_SKAcceptMask (1<<1) T{
+Slow key accept notification wanted
+T}
+XkbAXN_SKRejectMask (1<<2) T{
+Slow key reject notification wanted
+T}
+XkbAXN_SKReleaseMask (1<<3) T{
+Slow key release notification wanted
+T}
+XkbAXN_BKAcceptMask (1<<4) T{
+Bounce key accept notification wanted
+T}
+XkbAXN_BKRejectMask (1<<5) T{
+Bounce key reject notification wanted
+T}
+XkbAXN_AXKWarningMask (1<<6) T{
+AccessX warning notification wanted
+T}
+XkbAXN_AllEventsMask (0x7f) T{
+All AccessX features notifications wanted
+T}
+.TE
+
+Some users may accidentally "bounce" on a key when they release it. They press
+it once, then accidentally press it again after they release it. The BounceKeys
+control temporarily disables a key after it has been pressed, effectively
+"debouncing" the keyboard. The period of time the key is disabled after it is
+released is known as the
+.I BounceKeys delay.
+BounceKeys is a boolean control.
+
+When the BounceKeys control is active, the server reports acceptance or
+rejection of any key to interested clients by sending an appropriate
+AccessXNotify event (see STRUCTURES).
+
+.I XkbGetBounceKeysDelay
+requests the attributes of the BounceKeys control from the server, waits for a
+reply, and backfills
+.I delay_rtrn
+with the BounceKeys delay attribute.
+.I XkbGetBounceKeysDelay
+returns True if successful; if a compatible version of the Xkb extension is not
+available in the server
+.I XkbGetSlowKeysDelay
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetBounceKeysDelay
+function returns True when it successfully requests the attributes of the
+BounceKeys control from the server, waits for a
+reply, and backfills
+.I delay_rtrn
+with the BounceKeys delay attribute.
+.TP 15
+False
+The
+.I XkbGetBounceKeysDelay
+function returns False if a compatible version of the Xkb extension is not
+available in the server.
+.SH STRUCTURES
+.LP
+The structure for the XkbAccessXNotify event type is as follows:
+
+.nf
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbAccessXNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int detail; /\(** XkbAXN_* */
+ KeyCode keycode; /\(** key of event */
+ int slowKeysDelay; /\(** current SlowKeys delay */
+ int debounceDelay; /\(** current debounce delay */
+} XkbAccessXNotifyEvent;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbGetSlowKeysDelay (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetCompatMap.man b/libX11/man/xkb/XkbGetCompatMap.man
new file mode 100644
index 000000000..cb8be2eae
--- /dev/null
+++ b/libX11/man/xkb/XkbGetCompatMap.man
@@ -0,0 +1,130 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetCompatMap \- Fetch any combination of the current compatibility map
+components from the server
+.SH SYNOPSIS
+.B Status XkbGetCompatMap
+(
+.I display,
+.I which,
+.I xkb
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescRec * \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to server
+.TP
+.I \- which
+mask of compatibility map components to fetch
+.TP
+.I \- xkb
+keyboard description where results placed
+.SH DESCRIPTION
+.LP
+When another client modifies the compatibility map, you are notified if you have
+selected for XkbCompatMapNotify events.
+.I XkbGetCompatMap
+is particularly useful when you receive an event of this type, as it allows you
+to update your program's version of the compatibility map to match the modified
+version now in the server. If your program is dealing with multiple servers and
+needs to configure them all in a similar manner, the updated compatibility map
+may be used to reconfigure other servers.
+
+.I XkbGetCompatMap
+fetches the components of the compatibility map specified in
+.I which
+from the server specified by
+.I display
+and places them in the
+.I compat
+structure of the keyboard description
+.I xkb.
+Valid values for
+.I which
+are an inclusive OR of the values shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+If no compatibility map structure is allocated in
+.I xkb
+upon entry,
+.I XkbGetCompatMap
+allocates one. If one already exists, its contents are overwritten with the
+returned results.
+
+.I XkbGetCompatMap
+fetches compatibility map information for the device specified by the
+.I device_spec
+field of
+.I xkb.
+Unless you have specifically modified this field, it is the default keyboard
+device.
+.I XkbGetCompatMap
+returns Success if successful, BadAlloc if it is unable to obtain necessary
+storage for either the return values or work space, BadMatch if the
+.I dpy
+field of the
+.I xkb
+argument is non-NULL and does not match the
+.I display
+argument, and BadLength under certain conditions caused by server or Xkb
+implementation errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
diff --git a/libX11/man/xkb/XkbGetControls.man b/libX11/man/xkb/XkbGetControls.man
new file mode 100644
index 000000000..b4631f109
--- /dev/null
+++ b/libX11/man/xkb/XkbGetControls.man
@@ -0,0 +1,176 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetControls \- Finds the current state of Xkb server controls
+.SH SYNOPSIS
+.B Status XkbGetControls
+(
+.I display,
+.I which,
+.I xkb
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned long \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask of controls requested
+.TP
+.I \- xkb
+keyboard description for controls information
+.SH DESCRIPTION
+.LP
+.I XkbGetControls
+queries the server for the requested control information, waits for a reply, and
+then copies the server's values for the requested information into the
+.I ctrls
+structure of the
+.I xkb
+argument. Only those components specified by the
+.I which
+parameter are copied. Valid values for
+.I which
+are any combination of the masks listed in Table 1 that have "ok" in the
+.I which
+column.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in Table 1 (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+
+If
+.I xkb->ctrls
+is NULL,
+.I XkbGetControls
+allocates and initializes it before obtaining the values specified by
+.I which.
+If
+.I xkb->ctrls
+is not NULL,
+.I XkbGetControls
+modifies only those portions of
+.I xkb->ctrls
+corresponding to the values specified by
+.I which.
+
+.I XkbGetControls
+returns Success if successful; otherwise, it returns BadAlloc if it cannot
+obtain sufficient storage, BadMatch if
+.I xkb
+is NULL or
+.I which
+is empty, or BadImplementation.
+
+To free the
+.I ctrls
+member of a keyboard description, use
+.I XkbFreeControls.
+
+The
+.I num_groups
+field in the
+.I ctrls
+structure is always filled in by
+.I XkbGetControls,
+regardless of which bits are selected by
+.I which.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetControls
+function returns Success if successful.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+
+.SH "SEE ALSO"
+.BR XkbFreeControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetControlsChanges.man b/libX11/man/xkb/XkbGetControlsChanges.man
new file mode 100644
index 000000000..e293e080d
--- /dev/null
+++ b/libX11/man/xkb/XkbGetControlsChanges.man
@@ -0,0 +1,244 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetControlsChanges \- Updates a local copy of a keyboard description with the
+changes previously noted by one or more calls to XkbNoteControlsChanges
+.SH SYNOPSIS
+XkbGetControlsChanges
+(
+.I dpy,
+.I xkb,
+.I changes
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbNameChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- xkb
+xkb->ctrls will be updated
+.TP
+.I \- changes
+indicates which parts of xkb->ctrls to update
+.SH DESCRIPTION
+.LP
+Whenever a field in the controls structure changes in the server's keyboard
+description, the server sends an XkbControlsNotify event to all interested
+clients.To receive XkbControlsNotify events under all possible conditions, use
+.I XkbSelectEvents
+and pass XkbControlsNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbControlsNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbControlsNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+The
+.I changed_ctrls
+field specifies the controls components that have changed and consists of bits
+taken from the masks defined in Table 10.7 with "ok" in the
+.I changed_ctrls
+column.
+
+The controls currently enabled in the server are reported in the
+.I enabled_ctrls
+field. If any controls were just enabled or disabled (that is, the contents of
+the
+.I enabled_ctrls
+field changed), they are flagged in the
+.I enabled_ctrl_changes
+field. The valid bits for these fields are the masks listed in Table 10.7 with
+"ok" in the
+.I enabled_ctrls
+column. The
+.I num_groups
+field reports the number of groups bound to the key belonging to the most number
+of groups and is automatically updated when the keyboard mapping changes.
+
+If the change was caused by a request from a client, the
+.I keycode
+and
+.I event_type
+fields are set to zero and the
+.I req_major
+and
+.I req_minor
+fields identify the request. The
+.I req_major value is the same as the major extension opcode. Otherwise,
+.I event_type
+is set to the type of event that caused the change (one of KeyPress, KeyRelease,
+DeviceKeyPress, DeviceKeyRelease, ButtonPress or ButtonRelease), and
+.I req_major
+and
+.I req_minor
+are undefined. If
+.I event_type
+is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the
+.I keycode
+field is set to the key that caused the change. If
+.I event_type
+is ButtonPress or ButtonRelease,
+.I keycode
+contains the button number.
+
+When a client receives an XkbControlsNotify event, it can note the changes in a
+changes structure using
+.I XkbNoteControlsChanges.
+
+.I XkbGetControlsChanges
+examines the
+.I changes
+parameter, queries the server for the necessary information, and copies the
+results into the
+.I xkb->ctrls
+keyboard description. If the
+.I ctrls
+field of
+.I xkb
+is NULL,
+.I XkbGetControlsChanges
+allocates and initializes it. To free the
+.I ctrls
+field, use
+XkbFreeControls.
+
+.I XkbGetControlsChanges
+returns Success if successful and can generate BadAlloc, BadImplementation, and
+BadMatch errors.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetControlsChanges
+function returns Success if the query of the server was successful.
+.SH STRUCTURES
+.LP
+.nf
+The structure for the XkbControlsNotify event is defined as follows:
+
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbCompatMapNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed_ctrls; /\(** bits indicating which controls data have
+changed*/
+ unsigned int enabled_ctrls; /\(** controls currently enabled in server */
+ unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled
+controls */
+ int num_groups; /\(** current number of keyboard groups */
+ KeyCode keycode; /\(** != 0 => keycode of key causing change */
+ char event_type; /\(** Type of event causing change */
+ char req_major; /\(** major event code of event causing change */
+ char req_minor; /\(** minor event code of event causing change */
+} XkbControlsNotifyEvent;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbFreeControls (__libmansuffix__),
+.BR XkbNoteControlsChanges (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetDetectableAutorepeat.man b/libX11/man/xkb/XkbGetDetectableAutorepeat.man
new file mode 100644
index 000000000..24ebc5efd
--- /dev/null
+++ b/libX11/man/xkb/XkbGetDetectableAutorepeat.man
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetDetectableAutorepeat __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDetectableAutorepeat \- Determines whether or not the server supports
+DetectableAutorepeat
+.SH SYNOPSIS
+.B Bool XkbGetDetectableAutorepeat
+(
+.I display,
+.I supported_rtrn
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ Bool * \fIsupported_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- supported_rtrn
+backfilled True if DetectableAutorepeat supported
+.SH DESCRIPTION
+.LP
+Auto-repeat is the generation of multiple key events by a keyboard when the user
+presses a key and holds it down. Keyboard hardware and device-dependent X server
+software often implement auto-repeat by generating multiple KeyPress events with no
+intervening KeyRelease event. The standard behavior of the X server is to generate
+a KeyRelease event for every KeyPress event. If the keyboard hardware and
+device-dependent software of the X server implement auto-repeat by generating
+multiple KeyPress events, the device-independent part of the X server by default
+synthetically generates a KeyRelease event after each KeyPress event. This provides
+predictable behavior for X clients, but does not allow those clients to detect the
+fact that a key is auto-repeating.
+
+Xkb allows clients to request
+.I detectable auto-repeat.
+If a client requests and the server supports DetectableAutorepeat, Xkb generates
+KeyRelease events only when the key is physically released. If DetectableAutorepeat
+is not supported or has not been requested, the server synthesizes a KeyRelease
+event for each repeating KeyPress event it generates.
+
+DetectableAutorepeat, unlike other controls, is not contained in the XkbControlsRec
+structure, nor can it be enabled or disabled via the EnabledControls control.
+Instead, query and set DetectableAutorepeat using
+.I XkbGetDetectableAutorepeat
+and
+.I XkbSetDetectableAutorepeat.
+
+DetectableAutorepeat is a condition that applies to all keyboard devices for a
+client's connection to a given X server; it cannot be selectively set for some
+devices and not for others. For this reason, none of the Xkb library functions
+involving DetectableAutorepeat involve a device specifier.
+
+.I XkbGetDetectableAutorepeat
+queries the server for the current state of DetectableAutorepeat and waits for a
+reply. If
+.I supported_rtrn
+is not NULL, it backfills
+.I supported_rtrn
+with True if the server supports DetectableAutorepeat, and False otherwise.
+.I XkbGetDetectableAutorepeat
+returns the current state of DetectableAutorepeat for the requesting client:
+True if DetectableAutorepeat is set, and False otherwise.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetDetectableAutorepeat
+function returns True if the server supports DetectableAutorepeat.
+.TP 15
+False
+The
+.I XkbGetDetectableAutorepeat
+function returns False if the server does not support DetectableAutorepeat.
diff --git a/libX11/man/xkb/XkbGetDeviceButtonActions.man b/libX11/man/xkb/XkbGetDeviceButtonActions.man
new file mode 100644
index 000000000..b1a076b54
--- /dev/null
+++ b/libX11/man/xkb/XkbGetDeviceButtonActions.man
@@ -0,0 +1,132 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceButtonActions \- Query the button actions associated with an X Input
+Extension device
+.SH SYNOPSIS
+.B Status XkbGetDeviceButtonActions
+(
+.I dpy,
+.I device_info,
+.I all_buttons,
+.I first_button,
+.I num_buttons
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ Bool \fIall_buttons\fP\^;
+.br
+ unsigned int \fIfirst_button\fP\^;
+.br
+ unsigned int \fInum_buttons\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+structure to update with results
+.TP
+.I \- all_buttons
+True => get information for all buttons
+.TP
+.I \- first_button
+number of first button for which info is desired
+.TP
+.I \- num_buttons
+number of buttons for which info is desired
+.SH DESCRIPTION
+.LP
+.I XkbGetDeviceButtonActions
+queries the server for the desired button information for the device indicated
+by the
+.I device_spec
+field of
+.I device_info
+and waits for a reply. If successful,
+.I XkbGetDeviceButtonActions
+backfills the button actions
+.I (btn_acts
+field of
+.I device_info)
+for only the requested buttons, updates the
+.I name, type, supported,
+and
+.I unsupported
+fields, and returns Success.
+
+.I all_buttons, first_button
+and
+.I num_buttons
+specify the device buttons for which actions should be returned. Setting
+.I all_buttons
+to True requests actions for all device buttons; if
+.I all_buttons
+is False,
+.I first_button
+and
+.I num_buttons
+specify a range of buttons for which actions are requested.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetDeviceButtonActions
+returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If
+the specified device
+.I (device_info->device_spec)
+is invalid, a BadKeyboard status is returned. If the device has no buttons, a
+BadMatch status is returned. If
+.I first_button
+and
+.I num_buttons
+specify illegal buttons, a BadValue status is returned.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadKeyboard
+The device specified was not a valid core or input extension device
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetDeviceInfo.man b/libX11/man/xkb/XkbGetDeviceInfo.man
new file mode 100644
index 000000000..4157296e7
--- /dev/null
+++ b/libX11/man/xkb/XkbGetDeviceInfo.man
@@ -0,0 +1,265 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceInfo \- Determine whether the X server allows Xkb access to particular capabilities of input devices other than
+the core X keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass
+extension device
+.SH SYNOPSIS
+.B XkbDeviceInfoPtr XkbGetDeviceInfo
+(
+.I dpy,
+.I which,
+.I device_spec,
+.I ind_class,
+.I ind_id
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIind_class\fP\^;
+.br
+ unsigned int \fIind_id\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- which
+mask indicating information to return
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- ind_class
+feedback class for indicator requests
+.TP
+.I \- ind_id
+feedback ID for indicator requests
+.SH DESCRIPTION
+.LP
+To determine whether the X server allows Xkb access to particular capabilities of input devices other than the core X
+keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass extension
+device, use
+.I XkbGetDeviceInfo.
+
+.I XkbGetDeviceInfo
+returns information about the input device specified by
+.I device_spec.
+Unlike the
+.I device_spec
+parameter of most Xkb functions,
+.I device_spec
+does not need to be a keyboard device. It must, however, indicate either the core keyboard or a valid X Input Extension
+device.
+
+The
+.I which
+parameter is a mask specifying optional information to be returned. It is an inclusive OR of one or more of the values from
+Table 1 and causes the returned XkbDeviceInfoRec to contain values for the corresponding fields specified in the table.
+
+.nf
+ Table 1 XkbDeviceInfoRec Mask Bits
+____________________________________________________________________________________
+Name XkbDeviceInfoRec Value Capability If Set
+ Fields Effected
+____________________________________________________________________________________
+XkbXI_KeyboardsMask (1L <<0) Clients can use all
+ Xkb requests and events
+ with KeyClass devices
+ supported by the input
+ device extension.
+
+XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
+ btn_acts actions to buttons
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
+ names to indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
+ indicator maps to
+ indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
+ the status of indicators
+ on non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
+ num_leds XkbXI_IndicatorMapsMask |
+ leds->* XkbXI_IndicatorStateMask
+
+XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
+
+XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
+ by Value Column XkbSI_ButtonActionsMask
+ masks
+
+XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
+ by Value Column XkbSI_KeyboardsMask
+ masks
+
+XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
+ by Value column XkbXI_UnsupportedFeaturesMask
+ masks
+.fi
+
+The XkbDeviceInfoRec returned by
+.I XkbGetDeviceInfo
+always has values for
+.I name
+(may be a null string, ""),
+.I type, supported, unsupported, has_own_state, dflt_kbd_fd,
+and
+.I dflt_kbd_fb.
+Other fields are filled in as specified by
+.I which.
+
+Upon return, the
+.I supported
+field will be set to the inclusive OR of zero or more bits from Table 1; each bit set indicates an optional Xkb extension
+device feature supported by the server implementation, and a client may modify the associated behavior.
+
+If the XkbButtonActionsMask bit is set in
+.I which,
+the XkbDeviceInfoRec returned will have the button actions
+.I (btn_acts
+field) filled in for all buttons.
+
+If
+.I which
+includes one of the bits in XkbXI_IndicatorsMask, the feedback class of the indicators must be specified in
+.I ind_class,
+and the feedback ID of the indicators must be specified in
+.I ind_id.
+If the request does not include any of the bits in XkbXI_IndicatorsMask, the
+.I ind_class
+and
+.I ind_id
+parameters are ignored. The class and ID can be obtained via the input device extension
+.I XListInputDevices
+request.
+
+If any of the XkbXI_IndicatorsMask bits are set in
+.I which,
+the XkbDeviceInfoRec returned will have filled in the portions of the
+.I leds
+structure corresponding to the indicator feedback identified by
+.I ind_class
+and
+.I ind_id.
+The
+.I leds
+vector of the XkbDeviceInfoRec is allocated if necessary and
+.I sz_leds
+and
+.I num_leds
+filled in. The
+.I led_class, led_id
+and
+.I phys_indicators
+fields of the
+.I leds
+entry corresponding to
+.I ind_class
+and
+.I ind_id
+are always filled in. If
+.I which
+contains XkbXI_IndicatorNamesMask, the
+.I names_present
+and
+.I names
+fields of the
+.I leds
+structure corresponding to
+.I ind_class
+and
+.I ind_id
+are returned. If
+.I which
+contains XkbXI_IndicatorStateMask, the corresponding
+.I state
+field is updated. If
+.I which
+contains XkbXI_IndicatorMapsMask, the
+.I maps_present
+and
+.I maps
+fields are updated.
+
+Xkb provides convenience functions to request subsets of the information available via
+.I XkbGetDeviceInfo.
+These convenience functions mirror some of the mask bits. The functions all take an XkbDeviceInfoPtr as an input argument
+and operate on the X Input Extension device specified by the
+.I device_spec
+field of the structure. Only the parts of the structure indicated in the function description are updated. The
+XkbDeviceInfoRec structure used in the function call can be obtained by calling
+.I XkbGetDeviceInfo
+or can be allocated by calling
+.I XkbAllocDeviceInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb extension in an
+XkbDeviceInfoRec structure:
+.nf
+
+typedef struct {
+ char * name; /\(** name for device */
+ Atom type; /\(** name for class of devices */
+ unsigned short device_spec; /\(** device of interest */
+ Bool has_own_state; /\(** True=>this device has its own state */
+ unsigned short supported; /\(** bits indicating supported capabilities */
+ unsigned short unsupported; /\(** bits indicating unsupported capabilities */
+ unsigned short num_btns; /\(** number of entries in btn_acts */
+ XkbAction * btn_acts; /\(** button actions */
+ unsigned short sz_leds; /\(** total number of entries in LEDs vector */
+ unsigned short num_leds; /\(** number of valid entries in LEDs vector */
+ unsigned short dflt_kbd_fb; /\(** input extension ID of default (core kbd) indicator */
+ unsigned short dflt_led_fb; /\(** input extension ID of default indicator feedback */
+ XkbDeviceLedInfoPtr leds; /\(** LED descriptions */
+} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocDeviceInfo (__libmansuffix__),
+.BR XListInputDevices (3X11)
diff --git a/libX11/man/xkb/XkbGetDeviceInfoChanges.man b/libX11/man/xkb/XkbGetDeviceInfoChanges.man
new file mode 100644
index 000000000..ed873a982
--- /dev/null
+++ b/libX11/man/xkb/XkbGetDeviceInfoChanges.man
@@ -0,0 +1,76 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetDeviceInfoChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceInfoChanges \- Query the changes that have occurred in the button
+actions or indicator names and indicator maps associated with an input extension
+device
+.SH SYNOPSIS
+.B Status XkbGetDeviceInfoChanges
+(
+.I dpy,
+.I device_info,
+.I changes
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ XkbDeviceChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+structure to update with results
+.TP
+.I \- changes
+contains notes of changes that have occurred
+.SH DESCRIPTION
+.LP
+The
+.I changes->changed
+field indicates which attributes of the device specified in
+.I changes->device
+have changed. The parameters describing the changes are contained in the other
+fields of
+.I changes. XkbGetDeviceInfoChanges
+uses that information to call
+.I XkbGetDeviceInfo
+to obtain the current status of those attributes that have changed. It then
+updates the local description of the device in
+.I device_info
+with the new information.
+.SH "SEE ALSO"
+.BR XkbGetDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetDeviceLedInfo.man b/libX11/man/xkb/XkbGetDeviceLedInfo.man
new file mode 100644
index 000000000..33e83f544
--- /dev/null
+++ b/libX11/man/xkb/XkbGetDeviceLedInfo.man
@@ -0,0 +1,171 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceLedInfo \- Query the indicator names, maps, and state associated
+with an LED feedback of an input extension device
+.SH SYNOPSIS
+.B Status XkbGetDeviceLedInfo
+(
+.I dpy,
+.I device_info,
+.I led_class,
+.I led_id,
+.I which
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ unsigned int \fIled_class\fP\^;
+.br
+ unsigned int \fIled_id\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+structure to update with results
+.TP
+.I \- led_class
+LED feedback class assigned by input extension
+.TP
+.I \- led_id
+LED feedback ID assigned by input extension
+.TP
+.I \- which
+mask indicating desired information
+.SH DESCRIPTION
+.LP
+.I XkbGetDeviceLedInfo
+queries the server for the desired LED information for the feedback specified by
+.I led_class
+and
+.I led_id
+for the X input extension device indicated by
+.I device_spec->device_info
+and waits for a reply. If successful,
+.I XkbGetDeviceLedInfo
+backfills the relevant fields of
+.I device_info
+as determined by
+.I which
+with the results and returns Success. Valid values for
+.I which
+are the inclusive OR of any of XkbXI_IndicatorNamesMask,
+XkbXI_IndicatorMapsMask, and XkbXI_IndicatorStateMask.
+
+The fields of
+.I device_info
+that are filled in when this request succeeds are
+.I name, type, supported,
+and
+.I unsupported,
+and portions of the
+.I leds
+structure corresponding to
+.I led_class
+and
+.I led_id
+as indicated by the bits set in
+.I which.
+The
+.I device_info->leds
+vector is allocated if necessary and
+.I sz_leds
+and
+.I num_leds
+filled in. The
+.I led_class, led_id
+and
+.I phys_indicators
+fields of the
+.I device_info->leds
+entry corresponding to
+.I led_class
+and
+.I led_id
+are always filled in.
+
+If
+.I which
+contains XkbXI_IndicatorNamesMask, the
+.I names_present
+and
+.I names
+fields of the
+.I device_info->leds
+structure corresponding to
+.I led_class
+and
+.I led_id
+are updated, if
+.I which
+contains XkbXI_IndicatorStateMask, the corresponding
+.I state
+field is updated, and if
+.I which
+contains XkbXI_IndicatorMapsMask, the
+.I maps_present
+and
+.I maps
+fields are updated.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetDeviceLedInfo
+returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If
+the device has no indicators, a BadMatch error is returned. If
+.I ledClass
+or
+.I ledID
+have illegal values, a BadValue error is returned. If they have legal values but
+do not specify a feedback that contains LEDs and is associated with the
+specified device, a BadMatch error is returned.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetGeometry.man b/libX11/man/xkb/XkbGetGeometry.man
new file mode 100644
index 000000000..6add607ec
--- /dev/null
+++ b/libX11/man/xkb/XkbGetGeometry.man
@@ -0,0 +1,84 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetGeometry \- Loads a keyboard geometry if you already have the keyboard
+description
+.SH SYNOPSIS
+.B Status XkbGetGeometry
+(
+.I dpy,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description that contains the ID for the keyboard and into which the
+geometry should be loaded
+.SH DESCRIPTION
+.LP
+You can load a keyboard geometry as part of the keyboard description returned by
+.I XkbGetKeyboard.
+However, if a keyboard description has been previously loaded, you can instead
+obtain the geometry by calling the
+.I XkbGetGeometry.
+In this case, the geometry returned is the one associated with the keyboard
+whose device ID is contained in the keyboard description.
+
+.I XkbGetGeometry
+can return BadValue, BadImplementation, BadName, BadAlloc, or BadLength errors
+or Success if it succeeds.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadName
+A font or color of the specified name does not exist
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbGetKeyboard (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetIndicatorChanges.man b/libX11/man/xkb/XkbGetIndicatorChanges.man
new file mode 100644
index 000000000..04faaba79
--- /dev/null
+++ b/libX11/man/xkb/XkbGetIndicatorChanges.man
@@ -0,0 +1,169 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetIndicatorChanges \- Updates a local copy of the keyboard description with
+the actual values of one or more calls to XkbNoteIndicatorChanges
+.SH SYNOPSIS
+.B Status XkbGetIndicatorChanges
+(
+.I dpy,
+.I xkb,
+.I changes,
+.I state
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbIndicatorChangesPtr \fIchanges\fP\^;
+.br
+ unsigned int \fIstate\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description to hold the new values
+.TP
+.I \- changes
+indicator maps/state to be obtained from the server
+.TP
+.I \- state
+backfilled with the state of the indicators
+.SH DESCRIPTION
+.LP
+Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all
+interested clients. Similarly, whenever an indicator's map changes, the server sends
+XkbIndicatorMapNotify events to all interested clients.
+
+To receive XkbIndicatorStateNotify events, use
+.I XkbSelectEvents
+with both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events,
+use
+.I XkbSelectEvents
+with XkbIndicatorMapNotifyMask.
+
+To receive events for only specific indicators, use
+.I XkbSelectEventDetails.
+Set the
+.I event_type
+parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
+.I bits_to_change
+and
+.I values_for_bits
+detail parameters to a mask where each bit specifies one indicator, turning on those bits that
+specify the indicators for which you want to receive events.
+
+Both types of indicator events use the same structure:
+.nf
+
+typedef struct _XkbIndicatorNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** specifies state or map notify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed; /\(** mask of indicators with new state or map */
+ unsigned int state; /\(** current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+.fi
+.I xkb_type
+is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is
+a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
+
+The
+.I changed
+parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If
+the event is of type XkbIndicatorMapNotify,
+.I changed
+reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
+.I changed
+reports the indicators that have changed state.
+.I state
+is a mask that specifies the current state of all indicators, whether they have changed or
+not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
+
+When your client application receives either a XkbIndicatorStateNotify event or
+XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling
+.I XkbNoteIndicatorChanges.
+
+.I XkbGetIndicatorChanges
+examines the
+.I changes
+parameter, pulls over the necessary information from the server, and copies the
+results into the
+.I xkb
+keyboard description. If any bits are set in the
+.I state_changes
+field of
+.I changes, XkbGetIndicatorChanges
+also places the state of those indicators in
+.I state.
+If the
+.I indicators
+field of
+.I xkb
+is NULL,
+.I XkbGetIndicatorChanges
+allocates and initializes it. To free the
+.I indicators
+field, use
+.I XkbFreeIndicators.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbFreeIndicators (__libmansuffix__),
+.BR XkbGetIndicatorChanges (__libmansuffix__),
+.BR XkbNoteIndicatorChanges (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__),
+.BR XkbSelectEventDetail (__libmansuffix__)
+
+
+
diff --git a/libX11/man/xkb/XkbGetIndicatorMap.man b/libX11/man/xkb/XkbGetIndicatorMap.man
new file mode 100644
index 000000000..931842a4e
--- /dev/null
+++ b/libX11/man/xkb/XkbGetIndicatorMap.man
@@ -0,0 +1,101 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to
+specify the indicators
+.SH SYNOPSIS
+.B Status XkbGetIndicatorMap
+(
+.I dpy,
+.I which,
+.I desc
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIdesc\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of indicators for which maps should be returned
+.TP
+.I \- desc
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+Xkb allows applications to obtain information about indicators using two
+different methods. The first method, which is similar to the core X
+implementation, uses a mask to specify the indicators. The second method, which
+is more suitable for applications concerned with interoperability, uses
+indicator names. The correspondence between the indicator name and the bit
+position in masks is as follows: one of the parameters returned from
+.I XkbGetNamedIndicators
+is an index that is the bit position to use in any function call that requires a
+mask of indicator bits, as well as the indicator's index into the
+XkbIndicatorRec array of indicator maps.
+
+
+.I XkbGetIndicatorMap
+obtains the maps from the server for only those indicators specified by the
+.I which
+mask and copies the values into the keyboard description specified by
+.I desc.
+If the
+.I indicators
+field of the
+.I desc
+parameter is NULL,
+.I XkbGetIndicatorMap
+allocates and initializes it.
+
+To free the indicator maps, use
+.I XkbFreeIndicatorMaps.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.SH "SEE ALSO"
+.BR XkbFreeIndicatorMaps (__libmansuffix__),
+.BR XkbGetNamedIndicators (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetIndicatorState.man b/libX11/man/xkb/XkbGetIndicatorState.man
new file mode 100644
index 000000000..cd40d1553
--- /dev/null
+++ b/libX11/man/xkb/XkbGetIndicatorState.man
@@ -0,0 +1,93 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetIndicatorState __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetIndicatorState \- Obtains the current state of the keyboard indicators
+.SH SYNOPSIS
+.B Status XkbGetIndicatorState
+(
+.I display,
+.I device_spec,
+.I state_return
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIstate_return\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- state_return
+backfilled with a mask of the indicator state
+.SH DESCRIPTION
+.LP
+Xkb allows applications to obtain information about indicators using two
+different methods. The first method, which is similar to the core X
+implementation, uses a mask to specify the indicators. The second method, which
+is more suitable for applications concerned with interoperability, uses
+indicator names. The correspondence between the indicator name and the bit
+position in masks is as follows: one of the parameters returned from
+.I XkbGetNamedIndicators
+is an index that is the bit position to use in any function call that requires a
+mask of indicator bits, as well as the indicator's index into the
+XkbIndicatorRec array of indicator maps.
+
+.I XkbGetIndicatorState
+queries the
+.I display
+for the state of the indicators on the device specified by the
+.I device_spec.
+For each indicator that is "turned on" on the device, the associated bit is set
+in
+.I state_return.
+If a compatible version of the Xkb extension is not available in the server, .I
+XkbGetIndicatorState
+returns a BadMatch error. Otherwise, it sends the request to the X server,
+places the state of the indicators into
+.I state_return,
+and returns Success. Thus the value reported by
+.I XkbGetIndicatorState
+is identical to the value reported by the core protocol.
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetNamedIndicators (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetKeyActions.man b/libX11/man/xkb/XkbGetKeyActions.man
new file mode 100644
index 000000000..93385bca6
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyActions.man
@@ -0,0 +1,108 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the
+keys in a keyboard description
+.SH SYNOPSIS
+.B Status XkbGetKeyActions
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+keycode of first key of interest
+.TP
+.I \- num
+number of keys desired
+.TP
+.I \- xkb
+pointer to keyboard description where result is stored
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyActions
+sends a request to the server to obtain the actions for
+.I num
+keys on the keyboard starting with key
+.I first.
+It waits for a reply and returns the actions in the
+.I server->key_acts
+field of
+.I xkb.
+If successful,
+.I XkbGetKeyActions
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the
+.I server
+map, in the
+.I xkb
+parameter, has not been allocated,
+.I XkbGetKeyActions
+allocates and initializes it before obtaining the actions.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension
+has not been properly initialized,
+.I XkbGetKeyActions
+returns BadAccess. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyActions
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyActions
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyBehaviors.man b/libX11/man/xkb/XkbGetKeyBehaviors.man
new file mode 100644
index 000000000..82584cdf6
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyBehaviors.man
@@ -0,0 +1,106 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeTypesOfKey \- Obtain the behaviors (the behaviors array) for a subset of the keys in
+a keyboard description from the server
+.SH SYNOPSIS
+.B Status XkbChangeTypesOfKey
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- first
+keycode of first key to get
+.TP
+.I \- num
+number of keys for which behaviors are desired
+.TP
+.I \- xkb
+Xkb description to contain the result
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyBehaviors
+sends a request to the server to obtain the behaviors for
+.I num
+keys on the keyboard starting with the key whose keycode is
+.I first.
+It waits for a reply and returns the behaviors in the
+.I server->behaviors
+field of
+.I xkb.
+If successful,
+.I XkbGetKeyBehaviors
+returns Success.
+
+If the
+.I server
+map in the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyBehaviors
+allocates and initializes it before obtaining the actions.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension has not been
+properly initialized,
+.I XkbGetKeyBehaviors
+returns BadAccess. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyBehaviors
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyBehaviors
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyExplicitComponents.man b/libX11/man/xkb/XkbGetKeyExplicitComponents.man
new file mode 100644
index 000000000..b06a38296
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyExplicitComponents.man
@@ -0,0 +1,168 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyExplicitComponents 3Xkb "20 Jul 1999" "X v11 Rel. 6.4" "XKB
+FUNCTION"
+.SH NAME
+XkbGetKeyExplicitComponents \- Obtain the explicit components (the explicit
+array) for a subset of the keys in a keyboard description
+.SH SYNOPSIS
+.B Status XkbGetKeyExplicitComponents
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- first
+keycode of first key to fetch
+.TP
+.I \- num
+number of keys for which to get explicit info
+.TP
+.I \- xkb
+Xkb description in which to put results
+.SH DESCRIPTION
+.LP
+Whenever a client remaps the keyboard using core protocol requests, Xkb examines
+the map to determine likely default values for the components that cannot be
+specified using the core protocol (see Core Keyboard Mapping to Xkb Keyboard
+Mapping Transformation for more information on how Xkb chooses the default
+values).
+
+DO THE FOUR PAGES OF "CORE KEYBOARD MAPPING TO XKB KEYBOARD MAPPING
+TRANSFORMATION" NEED TO BE ADDED HERE?
+
+This automatic remapping might replace definitions explicitly requested by an
+application, so the Xkb keyboard description defines an explicit components mask
+for each key. Any aspects of the automatic remapping listed in the explicit
+components mask for a key are not changed by the automatic keyboard mapping.
+
+The explicit components masks are held in the
+.I explicit
+field of the server map, which is an array indexed by keycode. Each entry in
+this array is a mask that is a bitwise inclusive OR of the values shown in Table
+1.
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 1 Explicit Component Masks
+_
+Bit in Explicit Mask Value Protects Against
+_
+ExplicitKeyType1 (1<<0) T{
+Automatic determination of the key type associated with Group1.
+T}
+ExplicitKeyType2 (1<<1) T{
+Automatic determination of the key type associated with Group2.
+T}
+ExplicitKeyType3 (1<<2) T{
+Automatic determination of the key type associated with Group3.
+T}
+ExplicitKeyType4 (1<<3) T{
+Automatic determination of the key type associated with Group4.
+T}
+ExplicitInterpret (1<<4) T{
+Application of any of the fields of a symbol interpretation to the key in
+question.
+T}
+ExplicitAutoRepeat (1<<5) T{
+Automatic determination of auto-repeat status for the key, as specified in a
+symbol interpretation.
+T}
+ExplicitBehavior (1<<6) T{
+Automatic assignment of the XkbKB_Lock behavior to the key, if the
+XkbSI_LockingKey flag is set in a symbol interpretation.
+T}
+ExplicitVModMap (1<<7) T{
+Automatic determination of the virtual modifier map for the key based on the
+actions assigned to the key and the symbol interpretations that match the key.
+T}
+.TE
+
+.I XkbGetKeyExplicitComponents
+sends a request to the server to obtain the explicit components for
+.I num
+keys on the keyboard starting with key
+.I first.
+It waits for a reply and returns the explicit components in the
+.I server->explicit
+array of
+.I xkb.
+If successful,
+.I XkbGetKeyExplicitComponents
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the
+.I server
+map in the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyExplicitComponents
+allocates and initializes it before obtaining the actions.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension
+has not been properly initialized,
+.I XkbGetKeyExplicitComponents
+returns BadMatch. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyExplicitComponents
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyExplicitComponents
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyModifierMap.man b/libX11/man/xkb/XkbGetKeyModifierMap.man
new file mode 100644
index 000000000..ab7978fa1
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyModifierMap.man
@@ -0,0 +1,109 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyModifierMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyModifierMap \- Update the modifier map for one or more of the keys in a
+keyboard description
+.SH SYNOPSIS
+.B Status XkbGetKeyModifierMap
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+keycode of first key to get
+.TP
+.I \- num
+number of keys for which information is desired
+.TP
+.I \- xkb
+keyboard description to update
+.SH DESCRIPTION
+.LP
+The
+.I modmap
+entry of the client map is an array, indexed by keycode, specifying the real
+modifiers bound to a key. Each entry is a mask composed of a bitwise inclusive
+OR of the legal real modifiers: ShiftMask, LockMask, ControlMask, Mod1Mask,
+Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask. If a bit is set in a
+.I modmap
+entry, the corresponding key is bound to that modifier.
+
+Pressing or releasing the key bound to a modifier changes the modifier set and
+unset state. The particular manner in which the modifier set and unset state
+changes is determined by the behavior and actions assigned to the key.
+
+.I XkbGetKeyModifierMap
+sends a request to the server for the modifier mappings for
+.I num
+keys starting with the key whose keycode is
+.I first.
+It waits for a reply and places the results in the
+.I xkb->map->modmap
+array. If successful,
+.I XkbGetKeyModifier
+returns Success.
+
+If the map component of the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyModifierMap
+allocates and initializes it.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetKeySyms
+returns BadAccess. If any allocation errors occur while obtaining the modifier
+map,
+.I XkbGetKeyModifierMap
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbGetKeySyms.man b/libX11/man/xkb/XkbGetKeySyms.man
new file mode 100644
index 000000000..95e073748
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeySyms.man
@@ -0,0 +1,115 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeySyms \- Obtain the symbols for a subset of the keys in a keyboard
+description
+.SH SYNOPSIS
+.B Status XkbGetKeySyms
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+keycode of first key to get
+.TP
+.I \- num
+number of keycodes for which syms desired
+.TP
+.I \- xkb
+Xkb description to be updated
+.SH DESCRIPTION
+.LP
+.I XkbGetKeySyms
+sends a request to the server to obtain the set of keysyms bound to
+.I num
+keys starting with the key whose keycode is
+.I first.
+It waits for a reply and returns the keysyms in the
+.I map.syms
+field of
+.I xkb.
+If successful,
+.I XkbGetKeySyms
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the client
+.I map
+in the xkb parameter has not been allocated,
+.I XkbGetKeySyms
+allocates and initializes it before obtaining the symbols.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetKeySyms
+returns BadAccess. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeySyms
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeySyms
+returns BadAlloc.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetKeySyms
+function returns Success if it gets a reply to a request to the server to obtain the set of keysyms bound to
+.I num
+keys starting with the key whose keycode is
+.I first.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyTypes.man b/libX11/man/xkb/XkbGetKeyTypes.man
new file mode 100644
index 000000000..68ed52c6f
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyTypes.man
@@ -0,0 +1,98 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyTypes \- Obtain the list of available key types in the server's
+keyboard mapping
+.SH SYNOPSIS
+.B Status XkbGetKeyTypes
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+index to first type to get, 0 => 1st type
+.TP
+.I \- num
+number of key types to be returned
+.TP
+.I \- xkb
+keyboard description containing client map to update
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyTypes
+queries the server for the desired types, waits for a reply, and returns the
+desired types in the
+.I xkb->map->types.
+If successful, it returns Success.
+
+.I XkbGetKeyTypes
+returns BadAccess if the Xkb extension has not been properly initialized and
+BadValue if the combination of
+.I first
+and
+.I num
+results in numbers out of valid range.
+
+.B NOTE:
+.I XkbGetKeyTypes
+is used to obtain descriptions of the key types themselves, not the key types
+bound to individual keys. To obtain the key types bound to an individual key,
+refer to the
+.I key_sym_map
+field of the client map.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbKeyType (__libmansuffix__),
+.BR XkbKeyTypeIndex (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetKeyVirtualModMap.man b/libX11/man/xkb/XkbGetKeyVirtualModMap.man
new file mode 100644
index 000000000..6b35a7723
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyVirtualModMap.man
@@ -0,0 +1,119 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyVirtualModMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyVirtualModMap \- Obtain the virtual modifier map (the vmodmap array)
+for a subset of the keys in a keyboard description
+.SH SYNOPSIS
+.B Status XkbGetKeyVirtualModMap
+(
+.I dpy,
+.I first,
+.I num,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIfirst\fP\^;
+.br
+ unsigned int \fInum\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- first
+keycode of first key to fetch
+.TP
+.I \- num
+number of keys for which virtual mod maps are desired
+.TP
+.I \- xkb
+Xkb description where results will be placed
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyVirutalModmap
+sends a request to the server to obtain the virtual modifier mappings for
+.I num
+keys on the keyboard starting with key
+.I first.
+It waits for a reply and returns the virtual modifier mappings in the
+.I server->vmodmap
+array of
+.I xkb.
+If successful,
+.I XkbGetKeyVirtualModMap
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the
+.I server
+map in the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyVirtualModMap
+allocates and initializes it before obtaining the virtual modifier mappings.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension
+has not been properly initialized,
+.I XkbGetKeyVirtualModMap
+returns BadMatch. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyVirtualModMap
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyVirtualModMap
+returns BadAlloc.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetKeyVirutalModmap
+function returns Success following a successful reply from the server to obtain
+the virtual modifier mappings for
+.I num
+keys on the keyboard starting with key
+.I first.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyboard.man b/libX11/man/xkb/XkbGetKeyboard.man
new file mode 100644
index 000000000..870be35fa
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyboard.man
@@ -0,0 +1,106 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyboard \- Retrieves one or more components of a keyboard device
+description
+.SH SYNOPSIS
+.B Bool XkbGetKeyboard
+(
+.I display,
+.I which,
+.I device_spec
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I bits_to_change
+determines events to be selected / deselected
+.TP
+.I values_for_bits
+1=>select, 0->deselect; for events in bits_to_change
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyboard
+allocates and returns a pointer to a keyboard description. It queries the server for those
+components specified in the
+.I which
+parameter for device
+.I device_spec
+and copies the results to the XkbDescRec it allocated. The remaining fields in the keyboard
+description are set to NULL. The valid masks for
+.I which
+are those listed in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (1L<<7)
+.TE
+
+.I XkbGetKeyboard
+is used to read the current description for one or more components of a keyboard device. It calls
+.I XkbGetKeyboardByName
+as follows:
+
+.I XkbGetKeyboardByName(dpy, device_spec,
+NULL,
+.I which, which,
+False).
+.SH DIAGNOSTICS
+.TP 15
+.SM BadAlloc
+Unable to allocate storage
+
diff --git a/libX11/man/xkb/XkbGetKeyboardByName.man b/libX11/man/xkb/XkbGetKeyboardByName.man
new file mode 100644
index 000000000..b27b07c7f
--- /dev/null
+++ b/libX11/man/xkb/XkbGetKeyboardByName.man
@@ -0,0 +1,405 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetKeyboardByName __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyboardByName \- Build a new keyboard description from a set of named
+components, and to optionally have the server use the resulting description to
+replace an active one
+.SH SYNOPSIS
+.B XkbDescPtr XkbGetKeyboardByName
+(
+.I dpy,
+.I device_spec,
+.I names,
+.I want,
+.I need,
+.I load
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ XkbComponentNamesPtr \fInames\fP\^;
+.br
+ unsigned int \fIwant\fP\^;
+.br
+ unsigned int \fIneed\fP\^;
+.br
+ Bool \fIload\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- names
+names of components to fetch
+.TP
+.I \- want
+desired structures in returned record
+.TP
+.I \- need
+mandatory structures in returned record
+.TP
+.I \- load
+True => load into
+.I device_spec
+.SH DESCRIPTION
+.LP
+A client may request that the server fetch one or more components from its
+database and use those components to build a new server keyboard description.
+The new keyboard description may be built from scratch, or it may be built
+starting with the current keyboard description for a particular device. Once the
+keyboard description is built, all or part of it may be returned to the client.
+The parts returned to the client need not include all of the parts used to build
+the description. At the time it requests the server to build a new keyboard
+description, a client may also request that the server use the new description
+internally to replace the current keyboard description for a specific device, in
+which case the behavior of the device changes accordingly.
+
+To build a new keyboard description from a set of named components, and to
+optionally have the server use the resulting description to replace an active
+one, use
+.I XkbGetKeyboardByName.
+
+.I names
+contains a set of expressions describing the keyboard components the
+server should use to build the new keyboard description.
+.I want
+and
+.I need
+are bit fields describing the parts of the resulting keyboard description that
+should be present in the returned XkbDescRec.
+
+The individual fields in
+.I names
+are
+.I component expressions
+composed of keyboard component names (no wildcarding as may be used in
+.I XkbListComponents),
+the special component name symbol `%', and the special operator characters `+'
+and `|'. A component expression is parsed left to right, as follows:
+
+.IP \(bu 5
+The special component name "computed" may be used in keycodes component
+expressions and refers to a component consisting of a set of keycodes computed
+automatically by the server as needed.
+.IP \(bu 5
+The special component name "canonical" may be used in types component
+expressions and refers to a partial component defining the four standard key
+types: ALPHABETIC, ONE_LEVEL, TWO_LEVEL, and KEYPAD.
+.IP \(bu 5
+The special component name `%' refers to the keyboard description for the device
+specified in device_spec or the keymap names component. If a keymap names
+component is specified that does not begin with `+' or `|' and does not contain
+`%', then `%' refers to the description generated by the keymap names component.
+Otherwise, it refers to the keyboard description for device_spec.
+.IP \(bu 5
+The `+' operator specifies that the following component should override the
+currently assembled description; any definitions that are present in both
+components are taken from the second.
+.IP \(bu 5
+The `|' operator specifies that the next specified component should augment the
+currently assembled description; any definitions that are present in both
+components are taken from the first.
+.IP \(bu 5
+If the component expression begins with an operator, a leading `%' is implied.
+.IP \(bu 5
+If any unknown or illegal characters appear anywhere in the expression, the
+entire expression is invalid and is ignored.
+
+For example, if
+.I names->symbols
+contained the expression "+de", it specifies that
+the default member of the "de" class of symbols should be applied to the current
+keyboard mapping, overriding any existing definitions (it could also be written
+"+de(default)").
+
+Here is a slightly more involved example: the expression
+"acme(ascii)+de(basic)|iso9995-3" constructs a German (de) mapping for the ASCII
+keyboard supplied by the "acme" vendor. The new definition begins with the
+symbols for the ASCII keyboard for Acme
+.I (acme(ascii)),
+overrides them with definitions for the basic German keyboard
+.I (de(basic)),
+and then applies the definitions from the default iso9995-3 keyboard
+.I (iso9995-3)
+to any undefined keys or groups of keys (part three of the iso9995 standard
+defines a common set of bindings for the secondary group, but allows national
+layouts to override those definitions where necessary).
+
+.B NOTE
+The interpretation of the above expression components (acme, ascii, de, basic,
+iso9995-3) is not defined by Xkb; only the operations and their ordering are.
+
+Note that the presence of a keymap
+.I names
+component that does not contain `%' (either explicit or implied by virtue of an
+expression starting with an operator) indicates a description that is
+independent of the keyboard description for the device specified in
+.I device_spec.
+The same is true of requests in which the keymap names component is empty and
+all five other names components contain expressions void of references to `%'.
+Requests of this form allow you to deal with keyboard definitions independent of
+any actual device.
+
+The server parses all non-NULL fields in
+.I names
+and uses them to build a keyboard description. However, before parsing the
+expressions in
+.I names,
+the server ORs the bits in
+.I want
+and
+.I need
+together and examines the result in relationship to the expressions in
+.I names.
+Table 1 identifies the components that are required for each of the possible
+bits in
+.I want
+or
+.I need.
+If a required component has not been specified in the
+.I names structure (the corresponding field is NULL), the server substitutes the
+expression "%", resulting in the component values being taken from
+.I device_spec.
+In addition, if
+.I load
+is True, the server modifies
+.I names
+if necessary (again using a "%" entry) to ensure all of the following fields are
+non-NULL:
+.I types, keycodes, symbols,
+and
+.I compat.
+.bp
+.TS
+c s s
+l l l.
+Table 1 Want and Need Mask Bits and Required Names Components
+_
+want or need mask bit Required names Components value
+_
+XkbGBN_TypesMask Types (1L<<0)
+XkbGBN_CompatMapMask Compat (1L<<1)
+XkbGBN_ClientSymbolsMask Types + Symbols + Keycodes (1L<<2)
+XkbGBN_ServerSymbolsMask Types + Symbols + Keycodes (1L<<3)
+XkbGBN_SymbolsMask Symbols (1L<<1)
+XkbGBN_IndicatorMapMask Compat (1L<<4)
+XkbGBN_KeyNamesMask Keycodes (1L<<5)
+XkbGBN_GeometryMask Geometry (1L<<6)
+XkbGBN_OtherNamesMask Types + Symbols + Keycodes + Compat + Geometry (1L<<7)
+XkbGBN_AllComponentsMask (0xff)
+.TE
+
+.I need
+specifies a set of keyboard components that the server must be able to
+resolve in order for
+.I XkbGetKeyboardByName
+to succeed; if any of the components specified in
+.I need
+cannot be successfully resolved,
+.I XkbGetKeyboardByName
+fails.
+
+.I want
+specifies a set of keyboard components that the server should attempt to
+resolve, but that are not mandatory. If the server is unable to resolve any of
+these components,
+.I XkbGetKeyboardByName
+still succeeds. Bits specified in
+.I want
+that are also specified in
+.I need
+have no effect in the context of
+.I want.
+
+If
+.I load
+is True, the server updates its keyboard description for
+.I device_spec
+to match the result of the keyboard description just built. If load is False,
+the
+server's description for device
+.I device_spec
+is not updated. In all cases, the parts specified by
+.I want
+and
+.I need
+from the just-built keyboard description are returned.
+
+The
+.I names
+structure in an XkbDescRec keyboard description record contains one field for
+each of the five component types used to build a keyboard description. When a
+keyboard description is built from a set of database components, the
+corresponding fields in this
+.I names
+structure are set to match the expressions used to build the component.
+
+Building a New Keyboard Description from the Server Database
+
+The information returned to the client in the XkbDescRec is essentially the
+result of a series of calls to extract information from a fictitious device
+whose description matches the one just built. The calls corresponding to each of
+the mask bits are summarized in Table 2, together with the XkbDescRec
+components that are filled in.
+
+.TS
+c s s
+l l l.
+Table 2 XkbDescRec Components Returned for Values of Want & Needs
+_
+Request (want+need) Fills in Xkb components Equivalent Function Call
+_
+XkbGBN_TypesMask map.types XkbGetUpdatedMap(dpy, XkbTypesMask, Xkb)
+XkbGBN_ServerSymbolsMask server XkbGetUpdatedMap(dpy,
+XkbAllClientInfoMask, Xkb)
+XkbGBN_ClientSymbolsMask map, including map.types
+XkbGetUpdatedMap(dpy, XkbAllServerInfoMask, Xkb)
+XkbGBN_IndicatorMaps indicators XkbGetIndicatorMap(dpy,
+XkbAllIndicators, Xkb)
+XkbGBN_CompatMapMask compat XkbGetCompatMap(dpy, XkbAllCompatMask, Xkb)
+XkbGBN_GeometryMask geom XkbGetGeometry(dpy, Xkb)
+XkbGBN_KeyNamesMask names.keys XkbGetNames(dpy, XkbKeyNamesMask |
+ names.key_aliases XkbKeyAliasesMask, Xkb)
+XkbGBN_OtherNamesMask names.keycodes XkbGetNames(dpy, XkbAllNamesMask &
+ names.geometry ~(XkbKeyNamesMask | XkbKeyAliasesMask),
+ names.symbols Xkb)
+ names.types
+ map.types[*].lvl_names[*]
+ names.compat
+ names.vmods
+ names.indicators
+ names.groups
+ names.radio_groups
+ names.phys_symbols
+.TE
+
+There is no way to determine which components specified in
+.I want
+(but not in
+.I need)
+were actually fetched, other than breaking the call into successive calls to
+.I XkbGetKeyboardByName
+and specifying individual components.
+
+.I XkbGetKeyboardByName
+always sets
+.I min_key_code
+and
+.I max_key_code
+in the returned XkbDescRec structure.
+
+.I XkbGetKeyboardByName
+is synchronous; it sends the request to the server to build a new keyboard
+description and waits for the reply. If successful, the return value is
+non-NULL.
+.I XkbGetKeyboardByName
+generates a BadMatch protocol error if errors are encountered when building the
+keyboard description.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components outlined in
+Figure 1.1.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 3.
+
+.TS
+c s s
+l l l
+l l l.
+Table 3 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbListComponents (__libmansuffix__)
+
+
diff --git a/libX11/man/xkb/XkbGetMap.man b/libX11/man/xkb/XkbGetMap.man
new file mode 100644
index 000000000..ab1c7893b
--- /dev/null
+++ b/libX11/man/xkb/XkbGetMap.man
@@ -0,0 +1,335 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetMap \- Allocate an XkbDescRec structure and populate it with the server's
+keyboard
+client map and server map
+.SH SYNOPSIS
+.B XkbDescPtr XkbGetMap
+(
+.I display,
+.I which,
+.I device_spec
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask selecting subcomponents to populate
+.TP
+.I \- device_spec
+device_id, or XkbUseCoreKbd
+.SH DESCRIPTION
+.LP
+Xkb provides two functions to obtain the keyboard mapping components from the
+server. The
+first function,
+.I XkbGetMap,
+allocates an XkbDescRec structure, retrieves mapping components from the server,
+and
+stores them in the XkbDescRec structure it just allocated. The second function,
+.I XkbGetUpdatedMap,
+retrieves mapping components from the server and stores them in an XkbDescRec
+structure
+that has previously been allocated.
+
+To allocate an XkbDescRec structure and populate it with the server's keyboard
+client map
+and server map, use
+.I XkbGetMap. XkbGetMap
+is similar to
+.I XkbGetKeyboard,
+but is used only for obtaining the address of an XkbDescRec structure that is
+populated
+with keyboard mapping components. It allows finer control over which
+substructures of the
+keyboard mapping components are to be populated.
+.I XkbGetKeyboard
+always returns fully populated components, while
+.I XkbGetMap
+can be instructed to return a partially populated component.
+
+The
+.I which mask is a bitwise inclusive OR of the masks defined in Table 14.1. Only
+those
+portions of the keyboard server map and the keyboard client maps that are
+specified in
+.I which
+are allocated and populated.
+
+In addition to allocating and obtaining the server map and the client map,
+.I XkbGetMap
+also sets the
+.I device_spec,
+the
+.I min_key_code,
+and
+.I max_key_code
+fields of the keyboard description.
+
+.I XkbGetMap
+is synchronous; it queries the server for the desired information, waits for a
+reply, and
+then returns. If successful,
+.I XkbGetMap
+returns a pointer to the XkbDescRec structure it allocated. If unsuccessful,
+.I XkbGetMap
+returns NULL. When unsuccessful, one of the following protocol errors is also
+generated:
+BadAlloc (unable to allocate the XkbDescRec structure), BadValue (some mask bits
+in
+.I which
+are undefined), or BadImplementation (a compatible version of the Xkb extension
+is not
+available in the server). To free the returned data, use
+.I XkbFreeClientMap.
+
+Xkb also provides convenience functions to get partial component definitions
+from the
+server. These functions are specified in the "convenience functions" column in
+Table
+1. Refer to the sections listed in the table for more information on these
+functions.
+
+.TS
+c s s s s
+c s s s s
+l l l l l
+l l l l l
+lw(3i) l l lw(1i) lw(3i).
+Table 1 Xkb Mapping Component Masks
+and Convenience Functions
+_
+Mask Value Map Fields Convenience
+ Functions
+_
+T{
+XkbKeyTypesMask
+T} (1<<0) client T{
+types
+.br
+size_types
+.br
+num_types
+T} T{
+XkbGetKeyTypes
+.br
+XkbResizeKeyType
+.br
+XkbCopyKeyType
+.br
+XkbCopyKeyTypes
+T}
+T{
+XkbKeySymsMask
+T} (1<<1) client T{
+syms
+.br
+size_syms
+.br
+num_syms
+.br
+key_sym_map
+T} T{
+XkbGetKeySyms
+.br
+XkbResizeKeySyms
+.br
+XkbChangeTypesOfKey
+T}
+T{
+XkbModifierMapMask
+T} (1<<2) client modmap T{
+XkbGetKeyModifierMap
+T}
+T{
+XkbExplicitComponentsMask
+T} (1<<3) server T{
+explicit
+T} T{
+XkbGetKeyExplicitComponents
+T}
+T{
+XkbKeyActionsMask
+T} (1<<4) server T{
+key_acts
+.br
+acts
+.br
+num_acts
+.br
+size_acts
+T} T{
+XkbGetKeyActions
+.br
+XkbResizeKeyActions
+T}
+T{
+XkbKeyBehaviorsMask
+T} (1<<5) server T{
+behaviors
+T} T{
+XkbGetKeyBehaviors
+T}
+T{
+XkbVirtualModsMask
+T} (1<<6) server T{
+vmods
+T} T{
+XkbGetVirtualMods
+T}
+T{
+XkbVirtualModMapMask
+T} (1<<7) server T{
+vmodmap
+T} T{
+XkbGetVirtualModMap
+T}
+.TE
+
+.nf
+.bp
+Xkb defines combinations of these masks for convenience:
+
+ #define XkbResizableInfoMask (XkbKeyTypesMask)
+ #define XkbAllClientInfoMask (XkbKeyTypesMask | XkbKeySymsMask |
+ XkbModifierMapMask)
+ #define XkbAllServerInfoMask (XkbExplicitComponentsMask |
+ XkbKeyActionsMask |
+ XkbKeyBehaviorsMask |
+ XkbVirtualModsMask |
+ XkbVirtualModMapMask)
+ #define XkbAllMapComponentsMask XkbAllClientInfoMask |
+ XkbAllServerInfoMask)
+
+.fi
+Key types, symbol maps, and actions are all interrelated: changes in one require
+changes
+in the others. The convenience functions make it easier to edit these components
+and
+handle the interdependencies.
+
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbCopyKeyType (__libmansuffix__),
+.BR XkbCopyKeyTypes (__libmansuffix__),
+.BR XkbFreeClientMap (__libmansuffix__),
+.BR XkbGetKeyActions (__libmansuffix__),
+.BR XkbGetKeyBehaviors (__libmansuffix__),
+.BR XkbGetKeyboard (__libmansuffix__),
+.BR XkbGetKeyExplicitComponents (__libmansuffix__),
+.BR XkbGetKeyModifierMap (__libmansuffix__),
+.BR XkbGetKeySyms (__libmansuffix__),
+.BR XkbGetKeyTypes (__libmansuffix__),
+.BR XkbGetUpdatedMap (__libmansuffix__),
+.BR XkbGetVirtualModMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__),
+.BR XkbResizeKeyType (__libmansuffix__)
+
+
+
+
+
diff --git a/libX11/man/xkb/XkbGetNameChanges.man b/libX11/man/xkb/XkbGetNameChanges.man
new file mode 100644
index 000000000..08921a0ef
--- /dev/null
+++ b/libX11/man/xkb/XkbGetNameChanges.man
@@ -0,0 +1,84 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetNameChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNameChanges \- Update the local copy of the keyboard description with the
+actual values of the results of one or more calls to
+.I XkbNoteNameChanges
+.SH SYNOPSIS
+.B Status XkbGetNameChanges
+(
+.I dpy,
+.I xkb,
+.I changes
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ XkbNameChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description to which names are copied
+.TP
+.I \- changes
+names components to be obtained from the server
+.SH DESCRIPTION
+.LP
+.I XkbGetNameChanges
+examines the
+.I changes
+parameter, retrieves the necessary information from the server, and places the
+results into the
+.I xkb
+keyboard description.
+
+.I XkbGetNamesChanges
+can generate BadAlloc, BadImplementation, and BadMatch errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbNoteNameChanges (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetNamedGeometry.man b/libX11/man/xkb/XkbGetNamedGeometry.man
new file mode 100644
index 000000000..c142decaa
--- /dev/null
+++ b/libX11/man/xkb/XkbGetNamedGeometry.man
@@ -0,0 +1,173 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetNamedGeometry 3Xkb "Release 6.1" "X Version 11" "XKBLIB FUNCTION"
+.SH NAME
+XkbGetNamedGeometry \- Loads a keyboard geometry description from this database
+by name
+.SH SYNTAX
+.B Status XkbGetNamedGeometry
+(
+.I dpy,
+.I xkb,
+.I name
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ Atom \fIname\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description into which the geometry should be loaded
+.TP
+.I \- name
+name of the geometry to be loaded
+.SH DESCRIPTION
+.LP
+It is also possible to load a keyboard geometry by name. The X server maintains
+a database
+of keyboard components (see below).
+
+.I XkbGetNamedGeometry
+can return BadName if the name cannot be found.
+
+The X server maintains a database of keyboard components, identified by
+component type.
+The database contains all the information necessary to build a complete keyboard
+description for a particular device, as well as to assemble partial
+descriptions. Table 1 identifies the component types and the type of information
+they contain.
+
+.TS
+c s s
+l l l
+l l l
+l lw(2i) lw(2i).
+Table 1 Server Database Keyboard Components
+_
+Component Component Primary Contents May also contain
+Type
+_
+Keymap T{
+Complete keyboard description
+.br
+Normally assembled using a complete component from each of the other types
+T}
+.sp
+Keycodes T{
+Symbolic name for each key
+.br
+Minimum and maximum legal keycodes
+T} T{
+Aliases for some keys
+.br
+Symbolic names for indicators
+.br
+Description of indicators physically present
+T}
+.sp
+Types Key types T{
+Real modifier bindings and symbolic names for some virtual modifiers
+T}
+.sp
+Compatibility T{
+Rules used to assign actions to keysyms
+T} T{
+Maps for some indicators
+.br
+Real modifier bindings and symbolic names for some virtual modifiers
+T}
+.sp
+Symbols T{
+Symbol mapping for keyboard keys
+.br
+Modifier mapping
+.br
+Symbolic names for groups
+T} T{
+Explicit actions and behaviors for some keys
+.br
+Real modifier bindings and symbolic names for some virtual modifiers
+T}
+.sp
+Geometry Layout of the keyboard T{
+Aliases for some keys; overrides keycodes component aliases
+.br
+Symbolic names for some indicators
+.br
+Description of indicators physically present
+T}
+.TE
+
+While a keymap is a database entry for a complete keyboard description, and
+therefore
+logically different from the individual component database entries, the rules
+for
+processing keymap entries are identical to those for the individual components.
+In the
+discussion that follows, the term component is used to refer to either
+individual
+components or a keymap.
+
+There may be multiple entries for each of the component types. An entry may be
+either
+.I complete
+or
+.I partial.
+Partial entries describe only a piece of the corresponding keyboard component
+and are
+designed to be combined with other entries of the same type to form a complete
+entry.
+
+For example, a partial symbols map might describe the differences between a
+common ASCII
+keyboard and some national layout. Such a partial map is not useful on its own
+because it
+does not include those symbols that are the same on both the ASCII and national
+layouts
+(such as function keys). On the other hand, this partial map can be used to
+configure
+.I any
+ASCII keyboard to use a national layout.
+
+When a keyboard description is built, the components are processed in the order
+in which
+they appear in Table 1; later definitions override earlier ones.
+.SH DIAGNOSTICS
+.TP 15
+.B BadName
+A font or color of the specified name does not exist.
diff --git a/libX11/man/xkb/XkbGetNamedIndicator.man b/libX11/man/xkb/XkbGetNamedIndicator.man
new file mode 100644
index 000000000..8abad9dc2
--- /dev/null
+++ b/libX11/man/xkb/XkbGetNamedIndicator.man
@@ -0,0 +1,138 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNamedIndicator \- Look up the indicator map and other information for an
+indicator by name
+.SH SYNOPSIS
+.B Bool XkbGetNamedIndicator
+(
+.I dpy,
+.I dev_spec,
+.I name,
+.I ndx_rtrn,
+.I state_rtrn,
+.I map_rtrn,
+.I real_rtrn
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ unsigned int \fIdev_spec\fP\^;
+.br
+ Atom \fIname\fP\^;
+.br
+ int *\fIndx_rtrn\fP\^;
+.br
+ Bool *\fIstate_rtrn\fP\^;
+.br
+ XkbIndicatorMapPtr \fImap_rtrn\fP\^;
+.br
+ Bool *\fIreal_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- dev_spec
+keyboard device ID, or XkbUseCoreKbd
+.TP
+.I \- name
+name of the indicator to be retrieved
+.TP
+.I \- ndx_rtrn
+backfilled with the index of the retrieved indicator
+.TP
+.I \- state_rtrn
+backfilled with the current state of the retrieved indicator
+.TP
+.I \- map_rtrn
+ backfilled with the mapping for the retrieved indicator
+.TP
+.I \- real_rtrn
+backfilled with True if the named indicator is real (physical)
+.SH DESCRIPTION
+.LP
+Xkb also allows applications to refer to indicators by name. Use
+.I XkbGetNames
+to get the indicator names. Using names eliminates the need for hard-coding
+bitmask values for particular keyboards. For example, instead of using
+vendor-specific constants such as WSKBLed_ScrollLock mask on Digital
+workstations or XLED_SCROLL_LOCK on Sun workstations, you can instead use
+.I XkbGetNamedIndicator
+to look up information on the indicator named "Scroll Lock."
+
+If the device specified by
+.I device_spec
+has an indicator named
+.I name, XkbGetNamedIndicator
+returns True and populates the rest of the parameters with information about the
+indicator. Otherwise,
+.I XkbGetNamedIndicator
+returns False.
+
+The
+.I ndx_rtrn
+field returns the zero-based index of the named indicator. This index is the bit
+position to use in any function call that requires a mask of indicator bits, as
+well as the indicator's index into the XkbIndicatorRec array of indicator maps.
+.I state_rtrn
+returns the current state of the named indicator (True = on, False = off).
+.I map_rtrn
+returns the indicator map for the named indicator. In addition, if the indicator
+is mapped to a physical LED, the
+.I real_rtrn
+parameter is set to True.
+
+Each of the "
+.I _rtrn
+" arguments is optional; you can pass NULL for any unneeded "
+.I _rtrn
+" arguments.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetNamedIndicator
+function returns True if the device specified by
+.I device_spec
+has an indicator named
+.I name.
+.TP 15
+False
+The
+.I XkbGetNamedIndicator
+function returns False if the device specified by
+.I device_spec
+does not have an indicator named
+.I name.
+.SH "SEE ALSO"
+.BR XkbGetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetNames.man b/libX11/man/xkb/XkbGetNames.man
new file mode 100644
index 000000000..6d29a4ff2
--- /dev/null
+++ b/libX11/man/xkb/XkbGetNames.man
@@ -0,0 +1,149 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNames \- Obtain symbolic names from the server
+.SH SYNOPSIS
+.B Status XkbGetNames
+(
+.I dpy,
+.I which,
+.I Xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIXkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of names or map components to be updated
+.TP
+.I \- Xkb
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+.I XkbGetNames
+retrieves symbolic names for the components of the keyboard extension from the X server. The
+.I which
+parameter specifies the name components to be updated in the
+.I xkb
+parameter, and is the bitwise inclusive OR of the valid names mask bits defined in Table 1.
+
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+If the
+.I names
+field of the keyboard description
+.I xkb
+is NULL,
+.I XkbGetNames
+allocates and initializes the
+.I names
+component of the keyboard description before obtaining the values specified by
+.I which.
+If the
+.I names field of
+.I xkb
+is not NULL,
+.I XkbGetNames
+obtains the values specified by
+.I which
+and copies them into the keyboard description
+.I Xkb.
+
+If the
+.I map
+component of the
+.I xkb
+parameter is NULL,
+.I XkbGetNames
+does not retrieve type or shift level names, even if XkbKeyTypeNamesMask or XkbKTLevelNamesMask are set in
+.I which.
+
+.I XkbGetNames
+can return Success, or BadAlloc, BadLength, BadMatch, and BadImplementation errors.
+
+To free symbolic names, use
+.I XkbFreeNames.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type and range, but
+is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbFreeNames (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetSlowKeysDelay.man b/libX11/man/xkb/XkbGetSlowKeysDelay.man
new file mode 100644
index 000000000..ff7b29f35
--- /dev/null
+++ b/libX11/man/xkb/XkbGetSlowKeysDelay.man
@@ -0,0 +1,229 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetSlowKeysDelay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetSlowKeysDelay \- Gets the SlowKeys acceptance delay for a keyboard device
+.SH SYNOPSIS
+.B Bool XkbGetSlowKeysDelay
+(
+.I display,
+.I device_spec,
+.I delay_rtrn
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int *\fIdelay_rtrn \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- delay_rtrn
+backfilled with SlowKeys delay, ms
+.SH DESCRIPTION
+.LP
+Some users may accidentally bump keys while moving a hand or typing stick toward
+the key they want. Usually, the keys that are accidentally bumped are just hit
+for a very short period of time. The SlowKeys control helps filter these
+accidental bumps by telling the server to wait a specified period, called the
+.I SlowKeys acceptance delay,
+before delivering key events. If the key is released before this period elapses,
+no key events are generated. Users can then bump any number of keys on their way
+to the one they want without accidentally getting those characters. Once they
+have reached the key they want, they can then hold the desired key long enough
+for the computer to accept it. SlowKeys is a boolean control with one
+configurable attribute.
+
+When the SlowKeys control is active, the server reports the initial key press,
+subsequent acceptance or rejection, and release of any key to interested clients
+by sending an appropriate AccessXNotify event (see section 10.6.4).
+
+The server can generate XkbAccessXNotify events for some of the global keyboard
+controls.
+The detail field describes what AccessX event just occurred and can be any of
+the values in
+Table 1.
+The server can generate XkbAccessXNotify events for some of the global keyboard
+controls.
+The detail field describes what AccessX event just occurred and can be any of
+the values in
+Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 AccessXNotify Events
+_
+detail Reason
+_
+XkbAXN_SKPress T{
+A key was pressed when SlowKeys was enabled.
+T}
+XkbAXN_SKAccept T{
+A key was accepted (held longer than the SlowKeys delay).
+T}
+XkbAXN_SKRelease T{
+An accepted SlowKeys key was released.
+T}
+XkbAXN_SKReject T{
+A key was rejected (released before the SlowKeys delay expired).
+T}
+XkbAXN_BKAccept T{
+A key was accepted by BounceKeys.
+T}
+XkbAXN_BKReject T{
+A key was rejected (pressed before the BounceKeys delay expired).
+T}
+XkbAXN_AXKWarning T{
+AccessXKeys is about to turn on/off StickyKeys or BounceKeys.
+T}
+.TE
+
+
+The
+.I keycode
+field reports the keycode of the key for which the event occurred. If the action
+is related to
+.I SlowKeys,
+the
+.I slowKeysDelay
+field contains the current SlowKeys acceptance delay. If the action is related
+to BounceKeys,
+the
+.I debounceDelay
+field contains the current BounceKeys debounce delay.
+
+Selecting for AccessX Events
+
+To receive XkbAccessXNotify events under all possible conditions, use
+.I XkbSelectEvents
+and pass XkbAccesXNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbStateNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbAccessXNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 2.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 2 AccessXNotify Event Details
+_
+XkbAccessXNotify Event Details Value Circumstances
+_
+XkbAXN_SKPressMask (1<<0) T{
+Slow key press notification wanted
+T}
+XkbAXN_SKAcceptMask (1<<1) T{
+Slow key accept notification wanted
+T}
+XkbAXN_SKRejectMask (1<<2) T{
+Slow key reject notification wanted
+T}
+XkbAXN_SKReleaseMask (1<<3) T{
+Slow key release notification wanted
+T}
+XkbAXN_BKAcceptMask (1<<4) T{
+Bounce key accept notification wanted
+T}
+XkbAXN_BKRejectMask (1<<5) T{
+Bounce key reject notification wanted
+T}
+XkbAXN_AXKWarningMask (1<<6) T{
+AccessX warning notification wanted
+T}
+XkbAXN_AllEventsMask (0x7f) T{
+All AccessX features notifications wanted
+T}
+.TE
+
+.I XkbGetSlowKeysDelay
+requests the attributes of the SlowKeys control from the server, waits for a
+reply and backfills
+.I delay_rtrn
+with the SlowKeys delay attribute.
+.I XkbGetSlowKeysDelay
+returns True if successful; ,
+.I XkbGetSlowKeysDelay
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetSlowKeysDelay
+function returns True if the request of the Slowkeys control from the server was
+successful.
+.I
+.TP 15
+False
+The
+.I XkbGetSlowKeysDelay
+function returns False if a compatible version of the Xkb extension is not
+available in the server.
+.SH STRUCTURES
+.LP
+The structure for the XkbAccessXNotify event type is as follows:
+
+.nf
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbAccessXNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int detail; /\(** XkbAXN_* */
+ KeyCode keycode; /\(** key of event */
+ int slowKeysDelay; /\(** current SlowKeys delay */
+ int debounceDelay; /\(** current debounce delay */
+} XkbAccessXNotifyEvent;
+
+.fi
+
diff --git a/libX11/man/xkb/XkbGetState.man b/libX11/man/xkb/XkbGetState.man
new file mode 100644
index 000000000..dbdcd4705
--- /dev/null
+++ b/libX11/man/xkb/XkbGetState.man
@@ -0,0 +1,69 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetState __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetState \- Obtains the keyboard state
+.SH SYNOPSIS
+.B Bool XkbGetState
+(
+.I display,
+.I device_spec,
+.I state_return
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ XkbStatePtr \fIstate_return\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I state_return
+backfilled with Xkb state
+.SH DESCRIPTION
+.LP
+The
+.I XkbGetState
+function queries the server for the current keyboard state, waits
+for a reply, and then backfills
+.I state_return
+with the results.
+
+All group values are expressed as group indices in the range [0..3]. Modifiers
+and the compatibility modifier state values are expressed as the bitwise union
+of the core X11 modifier masks. The pointer button state is reported as in the
+core X11 protocol.
diff --git a/libX11/man/xkb/XkbGetStickyKeysOptions.man b/libX11/man/xkb/XkbGetStickyKeysOptions.man
new file mode 100644
index 000000000..7d3547d68
--- /dev/null
+++ b/libX11/man/xkb/XkbGetStickyKeysOptions.man
@@ -0,0 +1,129 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetStickyKeysOptions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetStickyKeysOptions \- Queries the current StickyKeys attributes for a keyboard device
+.SH SYNOPSIS
+.B Bool XkbGetStickyKeysOptions
+(
+.I display,
+.I device_spec,
+.I options_rtrn
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int *\fIoptions_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- options_rtrn
+backfilled with StickyKeys option mask
+.SH DESCRIPTION
+.LP
+The StickyKeys control has two options that can be accessed via the
+.I ax_options
+of an XkbControlsRec structure. The first option, TwoKeys, specifies whether StickyKeys should
+automatically turn off when two keys are pressed at the same time. This feature is useful for
+shared computers so people who do not want them do not need to turn StickyKeys off if a previous
+user left StickyKeys on. The second option, LatchToLock, specifies whether or not StickyKeys
+locks a modifier when pressed twice in a row.
+
+.I XkbGetStickyKeysOptions
+requests the attributes of the StickyKeys control from the server, waits for a reply, and
+backfills
+.I options_rtrn
+with a mask indicating whether the individual StickyKeys options are on or off. Valid bits in
+.I options_rtrn
+are:
+.nf
+
+ XkbAX_TwoKeysMask
+ XkbAX_LatchToLockMask
+
+.fi
+.I XkbGetStickyKeysOptions
+returns True if successful; if a compatible version of the Xkb extension is not available in the
+server
+.I XkbGetStickyKeysOptions
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetStickyKeysOptions
+function returns True if the request for the attributes of the StickyKeys control from the
+server was successful.
+.TP 15
+False
+The
+.I XkbGetStickyKeysOptions
+function returns False if a compatible version of the Xkb extension is not available in the
+server.
+.SH STRUCTURES
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
diff --git a/libX11/man/xkb/XkbGetUpdatedMap.man b/libX11/man/xkb/XkbGetUpdatedMap.man
new file mode 100644
index 000000000..97cefe96e
--- /dev/null
+++ b/libX11/man/xkb/XkbGetUpdatedMap.man
@@ -0,0 +1,276 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetUpdatedMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetUpdatedMap \- Update the client or server map information in an existing
+keyboard description
+.SH SYNOPSIS
+.B Status XkbGetUpdatedMap
+(
+.I display,
+.I which,
+.I xkb
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask selecting subcomponents to populate
+.TP
+.I \- xkb
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+The
+.I which
+parameter is a bitwise inclusive OR of the masks in Table 1. If the needed
+components of the
+.I xkb
+structure are not already allocated,
+.I XkbGetUpdatedMap
+allocates them.
+.I XkbGetUpdatedMap
+fetches the requested information for the device specified in the XkbDescRec
+passed in the
+.I xkb
+parameter.
+
+.TS
+c s s s s
+c s s s s
+l l l l l
+l l l l l
+lw(3i) l l lw(1i) lw(3i).
+Table 1 Xkb Mapping Component Masks
+and Convenience Functions
+_
+Mask Value Map Fields Convenience
+ Functions
+_
+T{
+XkbKeyTypesMask
+T} (1<<0) client T{
+types
+.br
+size_types
+.br
+num_types
+T} T{
+XkbGetKeyTypes
+.br
+XkbResizeKeyType
+.br
+XkbCopyKeyType
+.br
+XkbCopyKeyTypes
+T}
+T{
+XkbKeySymsMask
+T} (1<<1) client T{
+syms
+.br
+size_syms
+.br
+num_syms
+.br
+key_sym_map
+T} T{
+XkbGetKeySyms
+.br
+XkbResizeKeySyms
+.br
+XkbChangeTypesOfKey
+T}
+T{
+XkbModifierMapMask
+T} (1<<2) client modmap T{
+XkbGetKeyModifierMap
+T}
+T{
+XkbExplicitComponentsMask
+T} (1<<3) server T{
+explicit
+T} T{
+XkbGetKeyExplicitComponents
+T}
+T{
+XkbKeyActionsMask
+T} (1<<4) server T{
+key_acts
+.br
+acts
+.br
+num_acts
+.br
+size_acts
+T} T{
+XkbGetKeyActions
+.br
+XkbResizeKeyActions
+T}
+T{
+XkbKeyBehaviorsMask
+T} (1<<5) server T{
+behaviors
+T} T{
+XkbGetKeyBehaviors
+T}
+T{
+XkbVirtualModsMask
+T} (1<<6) server T{
+vmods
+T} T{
+XkbGetVirtualMods
+T}
+T{
+XkbVirtualModMapMask
+T} (1<<7) server T{
+vmodmap
+T} T{
+XkbGetVirtualModMap
+T}
+.TE
+
+.I XkbGetUpdatedMap
+is synchronous; it queries the server for the desired information, waits for a
+reply, and then returns. If successful,
+.I XkbGetUpdatedMap
+returns Success. If unsuccessful,
+.I XkbGetUpdatedMap
+returns one of the following: BadAlloc (unable to allocate a component in the
+XkbDescRec structure), BadValue (some mask bits in
+.I which
+are undefined), BadImplementation (a compatible version of the Xkb extension is
+not available in the server or the reply from the server was invalid).
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetUpdatedMap
+function returns Success if a reply is received to the server query for the desired information.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags
+field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+.bp
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbCopyKeyType (__libmansuffix__),
+.BR XkbCopyKeyTypes (__libmansuffix__),
+.BR XkbGetKeyActions (__libmansuffix__),
+.BR XkbGetKeyBehaviors (__libmansuffix__),
+.BR XkbGetKeyExplicitComponents (__libmansuffix__),
+.BR XkbGetKeyModifierMap (__libmansuffix__),
+.BR XkbGetKeySyms (__libmansuffix__),
+.BR XkbGetKeyTypes (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__),
+.BR XkbResizeKeyType (__libmansuffix__),
+.BR XkbGetVirtualModMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetVirtualMods.man b/libX11/man/xkb/XkbGetVirtualMods.man
new file mode 100644
index 000000000..e62670e44
--- /dev/null
+++ b/libX11/man/xkb/XkbGetVirtualMods.man
@@ -0,0 +1,222 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetVirtualMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetVirtualMods \- Obtain a subset of the virtual modifier bindings (the vmods
+array) in a keyboard description
+.SH SYNOPSIS
+.B Status XkbGetVirtualMods
+(
+.I dpy,
+.I which,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- which
+mask indicating virtual modifier bindings to get
+.TP
+.I \- xkb
+Xkb description where results will be placed
+.SH DESCRIPTION
+.LP
+.I XkbGetVirtualMods
+sends a request to the server to obtain the
+.I vmods
+entries for the virtual modifiers specified in the mask,
+.I which,
+and waits for a reply.
+
+Virtual modifiers are named by converting their string name to an X Atom and storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also the index used when
+accessing virtual modifier information in arrays: the name in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, various functions have
+a parameter that is a mask representing virtual modifier choices. In each case, the i-th bit (0
+relative) of the mask represents the i-th virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+
+For each bit set in
+.I which, XkbGetVirtualMods
+updates the corresponding virtual modifier definition in the
+.I server->vmods
+array of
+.I xkb.
+The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description. If successful,
+.I XkbGetVirtualMods
+returns Success.
+
+.B Virtual Modifier Names and Masks
+
+Virtual modifiers are named by converting their string name to an X Atom and
+storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also
+the index used when accessing virtual modifier information in arrays: the name
+in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb,
+various functions have a parameter that is a mask representing virtual modifier
+choices. In each case, the i-th bit (0 relative) of the mask represents the i-th
+virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+
+If the
+.I server
+map has not been allocated in the
+.I xkb
+parameter,
+.I XkbGetVirtualMods
+allocates and initializes it before obtaining the virtual modifier bindings.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension
+has not been properly initialized,
+.I XkbGetVirtualMods
+returns BadMatch. Any errors in allocation cause
+.I XkbGetVirtualMods
+to return BadAlloc.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetVirtualMods
+function returns Success when it successfully updates the corresponding virtual modifier definition
+in the
+.I server->vmods
+array of
+.I xkb.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags
+field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or XkbUseCoreKeyboard, which
+specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetNames (__libmansuffix__),
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetXlibControls.man b/libX11/man/xkb/XkbGetXlibControls.man
new file mode 100644
index 000000000..91860a76e
--- /dev/null
+++ b/libX11/man/xkb/XkbGetXlibControls.man
@@ -0,0 +1,71 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbGetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetXlibControls \- Determines the current state of the Library Controls
+.SH SYNOPSIS
+.B unsigned int XkbGetXlibControls
+(
+.I display
+)
+.br
+ Display *\fIdisplay\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.SH DESCRIPTION
+.LP
+.I XkbGetXlibControls
+returns the current state of the Library Controls as a bit mask that is an
+inclusive OR of the control masks from Table 1 for the controls that are
+enabled. For the optional compose processing controls, the fact that a control
+is enabled does not imply that it is actually implemented.
+
+.TS
+c s
+l l
+l l.
+Table 1 Library Control Masks
+_
+Library Control Mask Value
+_
+XkbLC_ForceLatin1Lookup (1 << 0)
+XkbLC_ConsumeLookupMods (1 << 1)
+XkbLC_AlwaysConsumeShiftAndLock (1 << 2)
+XkbLC_IgnoreNewKeyboards (1 << 3)
+XkbLC_ConsumeKeysOnComposeFail (1 << 29)
+XkbLC_ComposeLED (1 << 30)
+XkbLC_BeepOnComposeFail (1 << 31)
+XkbLC_AllControls (0xc0000007)
+.TE
+
diff --git a/libX11/man/xkb/XkbIgnoreExtension.man b/libX11/man/xkb/XkbIgnoreExtension.man
new file mode 100644
index 000000000..8b0cc4a70
--- /dev/null
+++ b/libX11/man/xkb/XkbIgnoreExtension.man
@@ -0,0 +1,89 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbIgnoreExtension __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbIgnoreExtension \- Prevents core X library keyboard functions from using the
+X Keyboard Extension
+.SH SYNOPSIS
+.B Bool XkbIgnoreExtension
+(
+.I ignore
+)
+.br
+ Bool *\fIignore\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I ignore
+True means ignore the extension
+.SH DESCRIPTION
+.LP
+If a server supports the Xkb extension, the X library normally implements preXkb
+keyboard functions using the Xkb keyboard description and state. The server Xkb
+keyboard state may differ from the preXkb keyboard state. This difference does
+not affect most clients, but there are exceptions. To allow these clients to
+work properly, you may instruct the extension not to use Xkb functionality.
+
+Call
+.I XkbIgnoreExtension
+to prevent core X library keyboard functions from using
+the X Keyboard Extension. You must call
+.I XkbIgnoreExtension
+before you open a
+server connection; Xkb does not provide a way to enable or disable use of the
+extension once a connection is established.
+
+.I XkbIgnoreExtension
+tells the X library whether to use the X Keyboard Extension
+on any subsequently opened X display connections. If ignore is True, the library
+does not initialize the Xkb extension when it opens a new display. This forces
+the X server to use compatibility mode and communicate with the client using
+only core protocol requests and events. If ignore is False, the library treats
+subsequent calls to
+.I XOpenDisplay
+normally and uses Xkb extension requests,
+events, and state. Do not explicitly use Xkb on a connection for which it is
+disabled.
+.I XkbIgnoreExtension
+returns False if it was unable to apply the ignore
+request.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbIgnoreExtension
+returns True if
+.TP 15
+False
+The
+.I XkbIgnoreExtension
+function returns False if it was unable to apply the ignore request.
+.SH "SEE ALSO"
+.BR XOpenDisplay (3X11)
diff --git a/libX11/man/xkb/XkbInitCanonicalKeyTypes.man b/libX11/man/xkb/XkbInitCanonicalKeyTypes.man
new file mode 100644
index 000000000..13aed6176
--- /dev/null
+++ b/libX11/man/xkb/XkbInitCanonicalKeyTypes.man
@@ -0,0 +1,98 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbInitCanonicalKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbInitCanonicalKeyTypes \- Set the definitions of the canonical key types in a
+client map to their default values
+.SH SYNOPSIS
+.B Status XkbInitCanonicalKeyTypes
+(
+.I xkb,
+.I which,
+.I keypadVMod
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ int \fIkeypadVMod\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing client map to initialize
+.TP
+.I \- which
+mask of types to initialize
+.TP
+.I \- keypadVMod
+index of NumLock virtual modifier
+.SH DESCRIPTION
+.LP
+.I XkbInitCanonicalKeyTypes
+initializes the first XkbNumRequiredTypes key types of the keyboard specified by
+the
+.I xkb
+parameter to their default values. The
+.I which
+parameter specifies what canonical key types to initialize and is a bitwise
+inclusive OR of the following masks: XkbOneLevelMask, XkbTwoLevelMask,
+XkbAlphabeticMask, and XkbKeypadMask. Only those canonical types specified by
+the
+.I which
+mask are initialized.
+
+If XkbKeypadMask is set in the
+.I which
+parameter,
+.I XkbInitCanonicalKeyTypes
+looks up the NumLock named virtual modifier to determine which virtual modifier
+to use when initializing the KEYPAD key type. If the NumLock virtual modifier
+does not exist,
+.I XkbInitCanonicalKeyTypes
+creates it.
+
+.I XkbInitCanonicalKeyTypes
+normally returns Success. It returns BadAccess if the Xkb extension has not been
+properly initialized, and BadAccess if the
+xkb parameter is not valid.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbInitCanonicalKeyTypes
+funtion return Success if the Xkb extension has been properly initialized and
+the xkb parameter is valid.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
diff --git a/libX11/man/xkb/XkbKeyAction.man b/libX11/man/xkb/XkbKeyAction.man
new file mode 100644
index 000000000..e6a2902bd
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyAction.man
@@ -0,0 +1,147 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyAction __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyAction \- Returns the key action
+.SH SYNOPSIS
+.B XkbAction XkbKeyAction
+(
+.I xkb,
+.I keycode,
+.I idx
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.br
+ int \fIidx\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- idx
+index for group and shift level
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal
+state of the server. For
+example, the expected key action associated with pressing the Shift key is to
+set the Shift modifier.
+There is zero or one key action associated with each keysym bound to each key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping
+is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If
+an entry is not zero,
+the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption
+associated with a keymap.
+Because Xkb allows individual keys to have multiple shift levels and a different
+number of groups per
+key, a single two-dimensional array of KeySyms would potentially be very large
+and sparse. Instead, Xkb
+provides a small two-dimensional array of XkbActions for each key. To store all
+of these individual
+arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char.
+This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields
+are anything but bytes,
+the server has to sift through all of the actions and swap any nonbyte fields.
+Because they consist of
+nothing but bytes, it can just copy them out.
+
+.I XkbKeyAction
+returns the key action indexed by
+.I idx
+in the two-dimensional array of key actions associated with the key
+corresponding to
+.I keycode.idx
+may be computed from the group and shift level of interest as follows:
+.nf
+
+ idx = group_index * key_width + shift_level
+.fi
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyActionEntry.man b/libX11/man/xkb/XkbKeyActionEntry.man
new file mode 100644
index 000000000..4dd54aa21
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyActionEntry.man
@@ -0,0 +1,153 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyActionEntry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyActionEntry \- Returns the key action corresponding to group grp and shift
+level lvl from the
+two-dimensional table of key actions associated with the key corresponding to
+keycode
+.SH SYNOPSIS
+.B XkbAction XkbKeyActionEntry macro
+(
+.I xkb,
+.I keycode,
+.I shift,
+.I grp
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.br
+ int \fIshift\fP\^;
+.br
+ int \fIgrp\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- shift
+shift level within group
+.TP
+.I \- grp
+group index for group of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal
+state of the server. For example,
+the expected key action associated with pressing the Shift key is to set the
+Shift modifier. There is zero or one
+key action associated with each keysym bound to each key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping
+is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If
+an entry is not zero, the entry
+represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption
+associated with a keymap. Because Xkb
+allows individual keys to have multiple shift levels and a different number of
+groups per key, a single
+two-dimensional array of KeySyms would potentially be very large and sparse.
+Instead, Xkb provides a small
+two-dimensional array of XkbActions for each key. To store all of these
+individual arrays, Xkb concatenates each
+array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char.
+This is done to optimize data
+transfer when the server sends bytes over the wire. If the fields are anything
+but bytes, the server has to sift
+through all of the actions and swap any nonbyte fields. Because they consist of
+nothing but bytes, it can just
+copy them out.
+
+.I XkbKeyActionEntry
+returns the key action corresponding to group
+.I grp
+and shift level
+.I lvl
+from the two-dimensional table of key actions associated with the key
+corresponding to
+.I keycode.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyActionsPtr.man b/libX11/man/xkb/XkbKeyActionsPtr.man
new file mode 100644
index 000000000..c9d4a29fb
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyActionsPtr.man
@@ -0,0 +1,146 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyActionsPtr __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyActionsPtr \- Returns a pointer to the two-dimensional array of key
+actions associated with
+the key corresponding to keycode
+.SH SYNOPSIS
+.B XkbKeyActionPtr XkbKeyActionsPtr macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal
+state of the server.
+For example, the expected key action associated with pressing the Shift key is
+to set the Shift
+modifier. There is zero or one key action associated with each keysym bound to
+each key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping
+is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If
+an entry is not
+zero, the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption
+associated with a keymap.
+Because Xkb allows individual keys to have multiple shift levels and a different
+number of groups per
+key, a single two-dimensional array of KeySyms would potentially be very large
+and sparse. Instead,
+Xkb provides a small two-dimensional array of XkbActions for each key. To store
+all of these
+individual arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char.
+This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields
+are anything but
+bytes, the server has to sift through all of the actions and swap any nonbyte
+fields. Because they
+consist of nothing but bytes, it can just copy them out.
+
+.I XkbKeyActionsPtr
+returns a pointer to the two-dimensional array of key actions associated with
+the key corresponding
+to
+.I keycode.
+Use
+.I XkbKeyActionsPtr
+only if the key actually has some actions associated with it, that is,
+.I XkbKeyNumActions
+(xkb, keycode) returns something greater than zero.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbKeyNumActions (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyGroupInfo.man b/libX11/man/xkb/XkbKeyGroupInfo.man
new file mode 100644
index 000000000..50787b415
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyGroupInfo.man
@@ -0,0 +1,210 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyGroupInfo \- Returns the number of groups of symbols bound to the key
+corresponding to
+keycode
+.SH SYNOPSIS
+.B unsigned char XkbKeyGroupInfo macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound
+to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a
+key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield
+NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user
+performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the
+range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type
+specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the
+user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as
+are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits
+set in
+the
+.I group_info
+flag, as shown in Table 1.
+.bp
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+
+.I XkbKeyGroupInfo
+returns the group_info field from the XkbSymMapRec structure associated with the
+key corresponding to
+.I keycode.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+\&#define XkbNumKbdGroups 4
+\&#define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+\&#define XkbMaxLegalKeyCode 255
+\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+} XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+\&#define XkbMaxLegalKeyCode 255
+\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+} XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyGroupWidth.man b/libX11/man/xkb/XkbKeyGroupWidth.man
new file mode 100644
index 000000000..0a3b7fb2c
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyGroupWidth.man
@@ -0,0 +1,86 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyGroupWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyGroupWidth \- Computes the width of the type associated with the group
+.I grp
+for the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.B int XkbKeyGroupWidth macro
+(
+.I xkb,
+.I keycode,
+.I grp
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.br
+ int \fIgrp\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- grp
+group of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeyGroupWidth
+computes the width of the type associated with the group
+.I grp
+for the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeyGroupsWidth.man b/libX11/man/xkb/XkbKeyGroupsWidth.man
new file mode 100644
index 000000000..a8b59ae65
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyGroupsWidth.man
@@ -0,0 +1,76 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyGroupsWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyGroupsWidth \- Computes the maximum width associated with the key
+corresponding to
+.I keycode
+.SH SYNOPSIS
+.B int XkbKeyGroupsWidth macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeyGroupsWidth
+computes the maximum width associated with the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeyHasActions.man b/libX11/man/xkb/XkbKeyHasActions.man
new file mode 100644
index 000000000..f1b457f7a
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyHasActions.man
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyHasActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyHasActions \- Determines if the key corresponding to
+.I keycode
+has any actions associated with it
+.SH SYNOPSIS
+.B int XkbKeyHasActions macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal state of the
+server. For example, the expected key action associated with pressing the Shift key is to set
+the Shift modifier. There is zero or one key action associated with each keysym bound to each
+key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If an entry is not
+zero, the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption associated with a
+keymap. Because Xkb allows individual keys to have multiple shift levels and a different number
+of groups per key, a single two-dimensional array of KeySyms would potentially be very large and
+sparse. Instead, Xkb provides a small two-dimensional array of XkbActions for each key. To store
+all of these individual arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char. This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields are anything but
+bytes, the server has to sift through all of the actions and swap any nonbyte fields. Because
+they consist of nothing but bytes, it can just copy them out.
+
+.I XkbKeyHasActions
+returns True if the key corresponding to
+.I keycode
+has any actions associated with it; otherwise, it returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbKeyHasActions
+function will return True if the key corresponding to
+.I keycode
+has any actions associated with it.
+.TP 15
+False
+The
+.I XkbKeyHasActions
+function will return False if the key corresponding to
+.I keycode
+does not have any actions associated with it.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyNumActions.man b/libX11/man/xkb/XkbKeyNumActions.man
new file mode 100644
index 000000000..b37897b0d
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyNumActions.man
@@ -0,0 +1,125 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyNumActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyNumActions \- Computes the number of actions associated with the key corresponding to
+keycode
+.SH SYNOPSIS
+.B int XkbKeyNumActions macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal state of the
+server. For example, the expected key action associated with pressing the Shift key is to set
+the Shift modifier. There is zero or one key action associated with each keysym bound to each
+key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If an entry is not
+zero, the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption associated with a
+keymap. Because Xkb allows individual keys to have multiple shift levels and a different number
+of groups per key, a single two-dimensional array of KeySyms would potentially be very large and
+sparse. Instead, Xkb provides a small two-dimensional array of XkbActions for each key. To store
+all of these individual arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char. This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields are anything but
+bytes, the server has to sift through all of the actions and swap any nonbyte fields. Because
+they consist of nothing but bytes, it can just copy them out.
+
+.I XkbKeyNumActions
+computes the number of actions associated with the key corresponding to
+.I keycode.
+This should be the same value as the result of
+.I XkbKeyNumSyms.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbKeyNumSyms (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyNumGroups.man b/libX11/man/xkb/XkbKeyNumGroups.man
new file mode 100644
index 000000000..70daba5fc
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyNumGroups.man
@@ -0,0 +1,322 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyNumGroups __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyNumGroups \- Returns the number of groups of symbols bound to the key
+corresponding to keycode
+.SH SYNOPSIS
+.B int XkbKeyNumGroups macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits set in
+the
+.I group_info
+flag, as shown in Table 1.
+.bp
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+
+.\"--- Chapter 10
+The Xkb extension is composed of two parts: a server extension, and a
+client-side X library extension.
+This chapter discusses functions used to modify controls effecting the behavior
+of the server portion
+of the Xkb extension. X Library Controls discusses functions used to modify
+controls that affect only
+the behavior of the client portion of the extension; those controls are known as
+Library Controls.
+
+Xkb contains control features that affect the entire keyboard, known as global
+keyboard controls. Some
+of the controls may be selectively enabled and disabled; these controls are
+known as the
+.I Boolean Controls.
+Boolean Controls can be turned on or off under program control and can also be
+automatically set to an
+on or off condition when a client program exits. The remaining controls, known
+as the
+.I Non-Boolean Controls,
+are always active. The XkbControlsRec structure describes the current state of
+most of the global
+controls and the attributes effecting the behavior of each of these Xkb
+features. This chapter
+describes the Xkb controls and how to manipulate them.
+
+There are two possible components for each of the Boolean Controls: attributes
+describing how the
+control should work, and a state describing whether the behavior as a whole is
+enabled or disabled.
+The attributes and state for most of these controls are held in the
+XkbControlsRec structure.
+
+You can manipulate the Xkb controls individually, via convenience functions, or
+as a whole. To treat
+them as a group, modify an XkbControlsRec structure to describe all of the
+changes to be made, and
+then pass that structure and appropriate flags to an Xkb library function, or
+use a
+XkbControlsChangesRec to reduce network traffic. When using a convenience
+function to manipulate one
+control individually, you do not use an XkbControlsRec structure directly.
+
+The Xkb controls are grouped as shown in Table 2.
+
+.TS
+c s s
+l l l
+lw(2i) l l.
+Table 2 Xkb Keyboard Controls
+_
+Type of Control Control Name Boolean Control?
+_
+T{
+Controls for enabling and disabling other controls
+T} EnabledControls No
+ AutoReset No
+T{
+Control for bell behavior
+T} AudibleBell Boolean
+T{
+Controls for repeat key behavior
+T} PerKeyRepeat No
+ RepeatKeys Boolean
+ DetectableAutorepeat Boolean
+T{
+Controls for keyboard overlays
+T} Overlay1 Boolean
+ Overlay2 Boolean
+T{
+Controls for using the mouse from the keyboard
+T} MouseKeys Boolean
+ MouseKeysAccel Boolean
+T{
+Controls for better keyboard access by
+T} AccessXFeedback Boolean
+T{
+physically impaired persons
+T} AccessXKeys Boolean
+ AccessXTimeout Boolean
+ BounceKeys Boolean
+ SlowKeys Boolean
+ StickyKeys Boolean
+T{
+Controls for general keyboard mapping
+T} GroupsWrap No
+ IgnoreGroupLock Boolean
+ IgnoreLockMods No
+ InternalMods No
+.TE
+
+The individual categories and controls are described first, together with
+functions for manipulating
+them.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven
+mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers
+*/
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking
+for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean
+control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to
+be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion
+event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse
+events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse
+move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed
+*/
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access
+X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to
+modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in
+enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto
+repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven
+mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers
+*/
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking
+for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean
+control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to
+be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion
+event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse
+events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse
+move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed
+*/
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access
+X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to
+modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in
+enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto
+repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo. (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyNumSyms.man b/libX11/man/xkb/XkbKeyNumSyms.man
new file mode 100644
index 000000000..95fa50048
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyNumSyms.man
@@ -0,0 +1,77 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyNumSyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyNumSyms \- Returns the total number of keysyms for the key corresponding
+to
+.I keycode
+.SH SYNOPSIS
+.B int XkbKeyNumSyms macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeyNumSyms
+returns the total number of keysyms for the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeySymEntry.man b/libX11/man/xkb/XkbKeySymEntry.man
new file mode 100644
index 000000000..9fed16559
--- /dev/null
+++ b/libX11/man/xkb/XkbKeySymEntry.man
@@ -0,0 +1,95 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeySymEntry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeySymEntry \- Returns the keysym corresponding to shift level
+.I shift
+and group
+.I grp
+from the two-dimensional array of keysyms for the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.B KeySym XkbKeySymEntry macro
+(
+.I xkb,
+.I keycode,
+.I shift,
+.I grp
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.br
+ int \fIshift\fP\^;
+.br
+ int \fIgrp\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- shift
+shift level of interest
+.TP
+.I \- grp
+group of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeySymEntry
+returns the keysym corresponding to shift level
+.I shift
+and group
+.I grp
+from the two-dimensional array of keysyms for the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeySymsOffset.man b/libX11/man/xkb/XkbKeySymsOffset.man
new file mode 100644
index 000000000..4bbc12b95
--- /dev/null
+++ b/libX11/man/xkb/XkbKeySymsOffset.man
@@ -0,0 +1,78 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeySymsOffset __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeySymsOffset \- Returns the offset of the two-dimensional array of keysyms
+for the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.B int XkbKeySymsOffset macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeySymsOffset
+returns the offset of the two-dimensional array of keysyms for the key
+corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeySymsPtr.man b/libX11/man/xkb/XkbKeySymsPtr.man
new file mode 100644
index 000000000..d83199ae4
--- /dev/null
+++ b/libX11/man/xkb/XkbKeySymsPtr.man
@@ -0,0 +1,78 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeySymsPtr __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeySymsPtr \- Returns the pointer to the two-dimensional array of keysyms for
+the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.B KeySym * XkbKeySymsPtr macro
+(
+.I xkb,
+.I keycode
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeySymsPtr
+returns the pointer to the two-dimensional array of keysyms for the key
+corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeyType.man b/libX11/man/xkb/XkbKeyType.man
new file mode 100644
index 000000000..2d0358225
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyType.man
@@ -0,0 +1,84 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyType \- Obtain the index of a key type or the pointer to a key type
+.SH SYNOPSIS
+.B XkbKeyTypePtr XkbKeyType
+(
+.I xkb,
+.I keycode,
+.I group
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.br
+ int \fIgroup\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- group
+group index
+.SH DESCRIPTION
+.LP
+.I XkbKeyType
+returns a pointer to the key type in the
+.I types
+vector of the client map in
+.I xkb
+corresponding to the given
+.I keycode
+and
+.I group
+index.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct { /\(** Key Type */
+ XkbModsRec mods; /\(** modifiers used to compute shift level */
+ unsigned char num_levels; /\(** total # shift levels, do not modify directly */
+ unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) */
+ XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level */
+ XkbModsPtr preserve; /\(** mods to preserve for corresponding map entry */
+ Atom name; /\(** name of key type */
+ Atom * level_names; /\(** array of names of each shift level */
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyTypeIndex.man b/libX11/man/xkb/XkbKeyTypeIndex.man
new file mode 100644
index 000000000..806116545
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyTypeIndex.man
@@ -0,0 +1,70 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyTypeIndex __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyTypeIndex \- Obtain the index of a key type or the pointer to a key type
+.SH SYNOPSIS
+.B int XkbKeyTypeIndex
+(
+.I xkb,
+.I keycode,
+.I group
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkeycode\fP\^;
+.br
+ int \fIgroup\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- group
+group index
+.SH DESCRIPTION
+.LP
+.I XkbKeyTypeIndex
+computes an index into the
+.I types
+vector of the client map in
+.I xkb
+from the given
+.I keycode
+and
+.I group
+index.
+
diff --git a/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man b/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man
new file mode 100644
index 000000000..ca35b76da
--- /dev/null
+++ b/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man
@@ -0,0 +1,248 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeyTypesForCoreSymbols __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyTypesForCoreSymbols \- Determine the Xkb key types appropriate for the
+symbols bound to a key in a core keyboard mapping
+.SH SYNOPSIS
+.B int XkbKeyTypesForCoreSymbols
+(
+.I xkb,
+.I map_width,
+.I core_syms,
+.I protected,
+.I types_inout,
+.I xkb_syms_rtrn
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ int \fImap_width\fP\^;
+.br
+ KeySym * \fIcore_syms\fP\^;
+.br
+ unsigned int \fIprotected\fP\^;
+.br
+ int * \fItypes_inout\fP\^;
+.br
+ KeySym * \fIxkb_syms_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to place symbols
+.TP
+.I \- map_width
+width of core protocol keymap in xkb_syms_rtrn
+.TP
+.I \- core_syms
+core protocol format array of KeySyms
+.TP
+.I \- protected
+explicit key types
+.TP
+.I \- types_inout
+backfilled with the canonical types bound to groups one and two for the key
+.TP
+.I \- xkb_syms_rtrn
+backfilled with symbols bound to the key in the Xkb mapping
+.SH DESCRIPTION
+.LP
+.I XkbKeyTypesForCoreSymbols
+expands the symbols in
+.I core_syms
+and types in
+.I types_inout,
+then chooses canonical key types (canonical key types are
+defined The Canonical Key Types) for groups 1 and 2 using the rules specified by
+the Xkb protocol and places them in xkb_syms_rtrn, which will be non-NULL.
+
+.B The Canonical Key Types
+
+Xkb allows up to XkbMaxKeyTypes (255) key types to be defined, but requires at
+least XkbNumRequiredTypes (4) predefined types to be in a key map. These
+predefined key types are referred to as the canonical key types and describe the
+types of keys available on most keyboards. The definitions for the canonical key
+types are held in the first XkbNumRequiredTypes entries of the
+.I types
+field of the client map and are indexed using the following constants:
+.nf
+
+ XkbOneLevelIndex
+ XkbTwoLevelIndex
+ XkbAlphabeticIndex
+ XkbKeypadIndex
+
+.fi
+
+ONE_LEVEL
+
+The ONE_LEVEL key type describes groups that have only one symbol. The default
+ONE_LEVEL key type has no map entries and does not pay attention to any
+modifiers. A symbolic representation of this key type could look like the
+following:
+.nf
+
+ type "ONE_LEVEL" {
+ modifiers = None;
+ map[None]= Level1;
+ level_name[Level1]= "Any";
+ };
+
+.fi
+The description of the ONE_LEVEL key type is stored in the
+types[XkbOneLevelIndex] entry of the client key map.
+
+TWO_LEVEL
+
+The TWO_LEVEL key type describes groups that consist of two symbols but are
+neither alphabetic nor numeric keypad keys. The default TWO_LEVEL type uses only
+the Shift modifier. It returns shift level two if Shift is set, and level one if
+it is not. A symbolic representation of this key type could look like the
+following:
+.nf
+
+ type "TWO_LEVEL" {
+ modifiers = Shift;
+ map[Shift]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ };
+
+.fi
+
+The description of the TWO_LEVEL key type is stored in the
+types[XkbTwoLevelIndex] entry of the client key map.
+
+ALPHABETIC
+
+The ALPHABETIC key type describes groups consisting of two symbols: the
+lowercase form of a symbol followed by the uppercase form of the same symbol.
+The default ALPHABETIC type implements locale-sensitive "Shift cancels CapsLock"
+behavior using both the Shift and Lock modifiers as follows:
+
+.IP \(bu 5
+If Shift and Lock are both set, the default ALPHABETIC type yields level one.
+.IP \(bu 5
+If Shift alone is set, it yields level two.
+.IP \(bu 5
+If Lock alone is set, it yields level one, but preserves the Lock modifier so
+Xlib notices and applies the appropriate capitalization rules. The Xlib
+functions are locale-sensitive and apply different capitalization rules for
+different locales.
+.IP \(bu 5
+If neither Shift nor Lock is set, it yields level one.
+
+A symbolic representation of this key type could look like the following:
+.nf
+
+ type "ALPHABETIC" {
+ modifiers = Shift+Lock;
+ map[Shift]= Level2;
+ preserve[Lock]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+
+.fi
+The description of the ALPHABETIC key type is stored in the
+types[XkbAlphabeticIndex] entry of the client key map.
+
+KEYPAD
+
+The KEYPAD key type describes groups that consist of two symbols, at least one
+of which is a numeric keypad symbol. The numeric keypad symbol is assumed to
+reside at level two. The default KEYPAD key type implements "Shift cancels
+NumLock" behavior using the Shift modifier and the real modifier bound to the
+virtual modifier named "NumLock," known as the NumLock modifier, as follows:
+
+.IP \(bu 5
+If Shift and NumLock are both set, the default KEYPAD type yields level one.
+.IP \(bu 5
+If Shift alone is set, it yields level two.
+.IP \(bu 5
+If NumLock alone is set, it yields level two.
+.IP \(bu 5
+If neither Shift nor NumLock is set, it yields level one.
+
+A symbolic representation of this key type could look like the following:
+.nf
+
+ type "KEYPAD" {
+ modifiers = Shift+NumLock;
+ map[None]= Level1;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ map[Shift+NumLock]= Level1;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+
+.fi
+The description of the KEYPAD key type is stored in the types[XkbKeypadIndex]
+entry of the client key map.
+
+A core keymap is a two-dimensional array of keysyms. It has
+.I map_width
+columns and
+.I max_key_code
+rows.
+.I XkbKeyTypesForCoreSymbols
+takes a single row from a core keymap, determines the number of groups
+associated with it, the type of each group, and the symbols bound to each group.
+The return value is the number of groups,
+.I types_inout
+has the types for each group, and
+.I xkb_syms_rtrn
+has the symbols in Xkb order (that is, groups are contiguous, regardless of
+size).
+
+.I protected
+contains the explicitly protected key types. There is one explicit override
+control associated with each of the four possible groups for each Xkb key,
+ExplicitKeyType1 through ExplicitKeyType4;
+.I protected
+is an inclusive OR of these controls.
+.I map_width
+is the width of the core keymap and is not dependent on any Xkb definitions.
+.I types_inout
+is an array of four type indices. On input,
+.I types_inout
+contains the indices of any types already assigned to the key, in case they are
+explicitly protected from change.
+
+Upon return,
+.I types_inout
+contains any automatically selected (that is, canonical) types plus any
+protected types. Canonical types are assigned to all four groups if there are
+enough symbols to do so. The four entries in
+.I types_inout
+correspond to the four groups for the key in question.
diff --git a/libX11/man/xkb/XkbKeycodeToKeysym.man b/libX11/man/xkb/XkbKeycodeToKeysym.man
new file mode 100644
index 000000000..130c1ded1
--- /dev/null
+++ b/libX11/man/xkb/XkbKeycodeToKeysym.man
@@ -0,0 +1,76 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeycodeToKeysym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeycodeToKeysym \- Finds the keysym bound to a particular key at a specified
+group and shift level
+.SH SYNOPSIS
+.B KeySym XkbKeycodeToKeysym
+(
+.I dpy,
+.I kc,
+.I group,
+.I level
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ KeyCode \fIkc\fP\^;
+.br
+ unsigned int \fIgroup\fP\^;
+.br
+ unsigned int \fIlevel\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- kc
+key of interest
+.TP
+.I \- group
+group of interest
+.TP
+.I \- level
+shift level of interest
+.SH DESCRIPTION
+.LP
+.I XkbKeycodeToKeysym
+returns the keysym bound to a particular group and shift level for a particular
+key on the core keyboard. If
+.I kc
+is not a legal keycode for the core keyboard, or if
+.I group
+or
+.I level
+are out of range for the specified key,
+.I XkbKeycodeToKeysym
+returns NoSymbol.
diff --git a/libX11/man/xkb/XkbKeysymToModifiers.man b/libX11/man/xkb/XkbKeysymToModifiers.man
new file mode 100644
index 000000000..ff7e73607
--- /dev/null
+++ b/libX11/man/xkb/XkbKeysymToModifiers.man
@@ -0,0 +1,64 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbKeysymToModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeysymToModifiers \- Finds the set of modifiers bound to a particular keysym
+on the core keyboard
+.SH SYNOPSIS
+.B unsigned int XkbKeysymToModifiers
+(
+.I dpy,
+.I ks
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ KeySym \fIks\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- ks
+keysym of interest
+.SH DESCRIPTION
+.LP
+.I XkbKeysymToModifiers
+finds the set of modifiers currently bound to the keysym
+.I ks
+on the core keyboard. The value returned is the mask of modifiers bound to the
+keysym
+.I ks.
+If no modifiers are bound to the keysym,
+.I XkbKeysymToModifiers
+returns zero; otherwise, it returns the inclusive OR of zero or more of the
+following: ShiftMask, ControlMask, LockMask, Mod1Mask, Mod2Mask, Mod3Mask,
+Mod4Mask, and Mod5Mask.
diff --git a/libX11/man/xkb/XkbLatchGroup.man b/libX11/man/xkb/XkbLatchGroup.man
new file mode 100644
index 000000000..8b516ba1a
--- /dev/null
+++ b/libX11/man/xkb/XkbLatchGroup.man
@@ -0,0 +1,97 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLatchGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLatchGroup \- Latches the keysym group
+.SH SYNOPSIS
+.B Bool XkbLatchGroup
+(
+.I display,
+.I device_spec,
+.I group
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIgroup\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I group
+index of the keysym group to latch
+.SH DESCRIPTION
+.LP
+
+.I XkbLatchGroup
+sends a request to the server to latch the specified
+.I group
+and
+does not wait for a reply. It returns True if the request was sent and False
+otherwise.
+
+Reference the keysym group indices with these symbolic constants:
+
+.TS
+c s
+l l
+l l.
+Table 1 Symbolic Group Names
+_
+Symbolic Name Value
+_
+XkbGroup1Index 0
+XkbGroup2Index 1
+XkbGroup3Index 2
+XkbGroup4Index 3
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLatchGroup
+function returns True if a request was sent to the server to latch the specified
+.I group.
+.TP 15
+False
+The
+.I XkbLatchGroup
+function returns False if the request was not sent.
+
+
+
diff --git a/libX11/man/xkb/XkbLatchModifiers.man b/libX11/man/xkb/XkbLatchModifiers.man
new file mode 100644
index 000000000..baf706698
--- /dev/null
+++ b/libX11/man/xkb/XkbLatchModifiers.man
@@ -0,0 +1,120 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLatchModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLatchModifiers \- Latches and unlatches any of the eight real keyboard
+modifiers
+.SH SYNOPSIS
+.B Bool XkbLatchModifiers
+(
+.I display,
+.I device_spec,
+.I affect,
+.I values
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIaffect\fP\^;
+.br
+ unsigned int \fIvalues\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I affect
+mask of real modifiers whose lock state is to change
+.TP
+.I values
+1 => lock, 0 => unlock; only for modifiers selected by affect
+.SH DESCRIPTION
+.LP
+.I XkbLatchModifiers
+sends a request to the server to latch the real modifiers
+selected by both
+.I affect
+and
+.I values
+and to unlatch the real modifiers selected by
+.I affect
+, but not selected by
+.I values.
+
+.I XkbLatchModifiers
+does not wait for a reply from the server. It returns True if
+the request was sent, and False otherwise.
+
+The functions in this section that change the use of modifiers use a mask in the
+parameter affect. It is a bitwise inclusive OR of the legal modifier masks:
+
+.TS
+c
+l
+l.
+Table 1 Real Modifier Masks
+_
+Mask
+_
+ShiftMask
+LockMask
+ControlMask
+Mod1Mask
+Mod2Mask
+Mod3Mask
+Mod4Mask
+Mod5Mask
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLatchModifiers
+function returns True if a request was sent to the server to latch the real modifiers selected by both
+.I affect
+and
+.I values
+and to unlatch the real modifiers selected by
+.I affect
+, but not selected by
+.I values.
+.TP 15
+False
+The
+.I XkbLatchModifiers
+function returns False if the request was not sent.
+
diff --git a/libX11/man/xkb/XkbLibraryVersion.man b/libX11/man/xkb/XkbLibraryVersion.man
new file mode 100644
index 000000000..1165e43d4
--- /dev/null
+++ b/libX11/man/xkb/XkbLibraryVersion.man
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLibraryVersion __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLibraryVersion \- Determines the compatibility of a library at runtime.
+.SH SYNOPSIS
+.B Bool XkbLibraryVersion
+(
+.I lib_major_in_out,
+.I lib_minor_in_out
+)
+.br
+ int *\fIlib_major_in_out\fP\^;
+.br
+ int *\fIlib_minor_in_out\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I lib_major_in_out
+Specifies and returns the major Xkb library version.
+.TP
+.I lib_minor_in_out
+Specifies and returns the minor Xkb library version.
+.SH DESCRIPTION
+.LP
+If an application is dynamically linked, both the X server and the client-side X
+library must contain the Xkb extension in order for the client to use the Xkb
+extension capabilities. Therefore a dynamically linked application must check
+both the library and the server for compatibility before using Xkb function
+calls. A properly written program must check for compatibility between the
+version of the Xkb library that is dynamically loaded and the one used when the
+application was built. It must then check the server version for compatibility
+with the version of Xkb in the library.
+
+If your application is statically linked, you must still check for server
+compatibility and may check library compatibility. (It is possible to compile
+against one set of header files and link against a different, incompatible,
+version of the library, although this should not normally occur.)
+
+Pass the symbolic value XkbMajorVersion in
+.I lib_major_in_out
+and XkbMinorVersion in
+.I lib_minor_in_out.
+These arguments represent the version of the library used
+at compile time. The
+.I XkbLibraryVersion
+function backfills the major and minor version numbers of the library used at
+run time in
+.I lib_major_in_out and
+.I lib_minor_in_out.
+If the versions of the compile time and run time libraries are
+compatible,
+.I XkbLibraryVersion
+returns True, otherwise, it returns False.
+
+In addition, in order to use the Xkb extension, you must ensure that the
+extension is present in the server and that the server supports the version of
+the extension expected by the client. Use
+.I XkbQueryExtension
+to do this, as described in the next section.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLibraryVersion
+returns True if the versions of the compile time and run time libraries are
+compatible.
+.TP 15
+False
+The
+.I XkbLibraryVersion
+returns False if the versions of the compile time and run time libraries are not
+compatible.
+.SH "SEE ALSO"
+.BR XkbMajorVersion (__libmansuffix__),
+.BR XkbMinorVersion (__libmansuffix__),
+.BR XkbQueryExtension (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbListComponents.man b/libX11/man/xkb/XkbListComponents.man
new file mode 100644
index 000000000..6e6855def
--- /dev/null
+++ b/libX11/man/xkb/XkbListComponents.man
@@ -0,0 +1,181 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbListComponents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbListComponents \- List of components for one or more component types
+.SH SYNOPSIS
+.B XkbComponentListPtr XkbListComponents
+(
+.I dpy,
+.I device_spec,
+.I ptrns,
+.I max_inout
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ XkbComponentNamesPtr \fIptrnst\fP\^;
+.br
+ int * \fImax_inout\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- ptrns
+namelist for components of interest
+.TP
+.I \- max_inout
+max # returned names, # left over
+.SH DESCRIPTION
+.LP
+You may ask the server for a list of components for one or more component types. The request takes the
+form of a set of patterns, one pattern for each of the component types, including a pattern for the
+complete keyboard description. To obtain this list, use
+.I XkbListComponents.
+
+.I XkbListComponents
+queries the server for a list of component names matching the patterns specified in
+.I ptrns.
+It waits for a reply and returns the matching component names in an XkbComponentListRec structure.
+When you are done using the structure, you should free it using
+.I XkbFreeComponentList. device_spec
+indicates a particular device in which the caller is interested. A server is allowed (but not
+required) to restrict its reply to portions of the database that are relevant for that particular
+device.
+
+.I ptrns
+is a pointer to an XkbComponentNamesRec. Each of the fields in
+.I ptrns
+contains a pattern naming the components of interest. Each of the patterns is composed of characters
+from the ISO Latin1 encoding, but can contain only parentheses, the wildcard characters `?' and `*',
+and characters permitted in a component class or member name. A pattern may be NULL, in which case no
+components for that type is returned. Pattern matches with component names are case sensitive. The `?'
+wildcard matches any single character, except a left or right parenthesis; the `*' wildcard matches
+any number of characters, except a left or right parenthesis. If an implementation allows additional
+characters in a component class or member name other than those required by the Xkb extension, the
+result of comparing one of the additional characters to either of the wildcard characters is
+implementation-dependent.
+
+If a pattern contains illegal characters, the illegal characters are ignored. The matching process is
+carried out as if the illegal characters were omitted from the pattern.
+
+.I max_inout
+is used to throttle the amount of data passed to and from the server. On input, it specifies the
+maximum number of names to be returned (the total number of names in all component categories). Upon
+return from
+.I XkbListComponents,
+max_inout contains the number of names that matched the request but were not returned because of the
+limit.
+
+.B Component Names
+
+Component names have the form
+.I "class(member)"
+where
+.I class
+describes a subset of the available components for a particular type and the optional
+.I member
+identifies a specific component from that subset. For example, the name "atlantis(acme)" for a symbols
+component might specify the symbols used for the atlantis national keyboard layout by the vendor
+"acme." Each class has an optional
+.I default
+member - references that specify a class but not a member refer to the default member of the class, if
+one exists. Xkb places no constraints on the interpretation of the class and member names used in
+component names.
+
+The
+.I class
+and
+.I member
+names are both specified using characters from the Latin-1 character set. Xkb implementations must
+accept all alphanumeric characters, minus (`-') and underscore (`_') in class or member names, and
+must not accept parentheses, plus, vertical bar, percent sign, asterisk, question mark, or white
+space. The use of other characters is implementation-dependent.
+.SH STRUCTURES
+.LP
+The component name patterns used to describe the request are passed to
+.I XkbListComponents
+using an XkbComponentNamesRec structure. This structure has no special allocation constraints or
+interrelationships with other structures; allocate and free this structure using standard
+.I malloc
+and
+.I free
+calls or their equivalent:
+.nf
+
+ typedef struct _XkbComponentNames {
+ char * keymap; /\(** keymap names */
+ char * keycodes; /\(** keycode names */
+ char * types; /\(** type names */
+ char * compat; /\(** compatibility map names */
+ char * symbols; /\(** symbol names */
+ char * geometry; /\(** geometry names */
+ } XkbComponentNamesRec, *XkbComponentNamesPtr;
+
+.fi
+.I XkbListComponents
+returns a pointer to an XkbComponentListRec:
+.nf
+
+ typedef struct _XkbComponentList {
+ int num_keymaps; /\(** number of entries in keymap */
+ int num_keycodes; /\(** number of entries in keycodes */
+ int num_types; /\(** number of entries in types */
+ int num_compat; /\(** number of entries in compat */
+ int num_symbols; /\(** number of entries in symbols */
+ int num_geometry; /\(** number of entries in geometry;
+ XkbComponentNamePtr keymap; /\(** keymap names */
+ XkbComponentNamePtr keycodes; /\(** keycode names */
+ XkbComponentNamePtr types; /\(** type names */
+ XkbComponentNamePtr compat; /\(** compatibility map names */
+ XkbComponentNamePtr symbols; /\(** symbol names */
+ XkbComponentNamePtr geometry; /\(** geometry names */
+ } XkbComponentListRec, *XkbComponentListPtr;
+
+ typedef struct _XkbComponentName {
+ unsigned short flags; /\(** hints regarding component name */
+ char * name; /\(** name of component */
+ } XkbComponentNameRec, *XkbComponentNamePtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbFreeComponentList (__libmansuffix__)
+.SH NOTES
+.LP
+Note that the structure used to specify patterns on input is an XkbComponentNamesRec, and that used to
+hold the individual component names upon return is an XkbComponentNameRec (no trailing `s' in Name).
diff --git a/libX11/man/xkb/XkbLockGroup.man b/libX11/man/xkb/XkbLockGroup.man
new file mode 100644
index 000000000..87eb8e270
--- /dev/null
+++ b/libX11/man/xkb/XkbLockGroup.man
@@ -0,0 +1,95 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLockGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLockGroup \- Locks the keysym group
+.SH SYNOPSIS
+.B Bool XkbLockGroup
+(
+.I display,
+.I device_spec,
+.I group
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIgroup\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I group
+index of the keysym group to lock
+.SH DESCRIPTION
+.LP
+.I XkbLockGroup
+sends a request to the server to lock the specified
+.I group
+and does not wait for a reply. It returns True if the request was sent and
+False otherwise.
+
+Reference the keysym group indices with these symbolic constants:
+
+.TS
+c s
+l l
+l l.
+Table 1 Symbolic Group Names
+_
+Symbolic Name Value
+_
+XkbGroup1Index 0
+XkbGroup2Index 1
+XkbGroup3Index 2
+XkbGroup4Index 3
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLockGroup
+function returns True when a request was sent to the server to lock the
+specified
+.I group
+and does not wait for a reply.
+.TP 15
+False
+The
+.I XkbLockGroup
+function returns False if the request was not sent.
+
diff --git a/libX11/man/xkb/XkbLockModifiers.man b/libX11/man/xkb/XkbLockModifiers.man
new file mode 100644
index 000000000..25df6accf
--- /dev/null
+++ b/libX11/man/xkb/XkbLockModifiers.man
@@ -0,0 +1,118 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLockModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLockModifiers \- Locks and unlocks any of the eight real keyboard modifiers
+.SH SYNOPSIS
+.B Bool XkbLockModifiers
+(
+.I display,
+.I device_spec,
+.I affect,
+.I values
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIaffect\fP\^;
+.br
+ unsigned int \fIvalues\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I affect
+mask of real modifiers whose lock state is to change
+.TP
+.I values
+1 => lock, 0 => unlock; only for modifiers selected by affect
+.SH DESCRIPTION
+.LP
+.I XkbLockModifiers
+sends a request to the server to lock the real modifiers
+selected by both
+.I affect
+and
+.I values
+and to unlock the real modifiers selected by
+.I affect,
+but not selected by
+.I values. XkbLockModifiers
+does not wait for a reply from the server. It returns True if the request was
+sent, and False otherwise.
+
+The functions in this section that change the use of modifiers use a mask in the
+parameter affect. It is a bitwise inclusive OR of the legal modifier masks:
+
+.TS
+c
+l
+l.
+Table 1 Real Modifier Masks
+_
+Mask
+_
+ShiftMask
+LockMask
+ControlMask
+Mod1Mask
+Mod2Mask
+Mod3Mask
+Mod4Mask
+Mod5Mask
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLockModifiers
+function returns True if a request is sent to the server to lock the real
+modifiers
+selected by both
+.I affect
+and
+.I values
+and to unlock the real modifiers selected by
+.I affect,
+but not selected by
+.I values.
+.TP 15
+False
+The
+.I XkbLockModifiers
+function returns False if the request was not sent.
diff --git a/libX11/man/xkb/XkbLookupKeyBinding.man b/libX11/man/xkb/XkbLookupKeyBinding.man
new file mode 100644
index 000000000..6f2022278
--- /dev/null
+++ b/libX11/man/xkb/XkbLookupKeyBinding.man
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLookupKeyBinding __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLookupKeyBinding \- Find the string bound to a key by XRebindKeySym
+.SH SYNOPSIS
+.B int XkbLookupKeyBinding
+(
+.I dpy,
+.I sym,
+.I state,
+.I buf,
+.I nbytes,
+.I extra_rtrn
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ KeySym \fIsym\fP\^;
+.br
+ unsigned int \fIstate\fP\^;
+.br
+ char * \fIbuf\fP\^;
+.br
+ int \fInbytes\fP\^;
+.br
+ int * \fIextra_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- sym
+connection to server
+.TP
+.I \- state
+state for which string is to be looked up
+.TP
+.I \- buf
+buffer into which returned string is written
+.TP
+.I \- nbytes
+size of buffer in bytes
+.TP
+.I \- extra_rtrn
+backfilled with number bytes overflow
+.SH DESCRIPTION
+.LP
+.I XkbLookupKeyBinding
+is the equivalent of the core
+.I XLookupString
+function.
+
+.I XRebindKeysym
+binds an ASCII string to a specified keysym, so that the string and keysym are
+returned when the key is pressed and a specified list of modifiers are also
+being held down.
+.I XkbLookupKeyBinding
+returns in
+.I buf
+the string associated with the keysym
+.I sym
+and modifier state
+.I state. buf
+is NULL terminated unless there's an overflow. If the string returned is larger
+than
+.I nbytes,
+a count of bytes that does not fit into the buffer is returned in
+.I extra_rtrn.
+.I XkbTranslateKeySym
+returns the number of bytes that it placed into
+.I buf.
+.SH "SEE ALSO"
+.BR XkbTranslateKeySym (__libmansuffix__),
+.BR XLookupString (3X11),
+.BR XRebindKeysym (3X11)
diff --git a/libX11/man/xkb/XkbLookupKeySym.man b/libX11/man/xkb/XkbLookupKeySym.man
new file mode 100644
index 000000000..c3af29b44
--- /dev/null
+++ b/libX11/man/xkb/XkbLookupKeySym.man
@@ -0,0 +1,89 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbLookupKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLookupKeySym \- Find the symbol associated with a key for a particular state
+.SH SYNOPSIS
+.B Bool XkbLookupKeySym
+(
+.I dpy,
+.I key,
+.I state,
+.I mods_rtrn,
+.I sym_rtrn
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ KeyCode \fIkey\fP\^;
+.br
+ unsigned int \fIstate\fP\^;
+.br
+ unsigned int *\fImods_rtrn\fP\^;
+.br
+ KeySym *\fIsym_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- key
+key for which symbols are to be found
+.TP
+.I \- state
+state for which symbol should be found
+.TP
+.I \- mods_rtrn
+backfilled with unconsumed modifiers
+.TP
+.I \- sym_rtrn
+backfilled with symbol associated with key + state
+.SH DESCRIPTION
+.LP
+.I XkbLookupKeySym
+is the equivalent of the core
+.I XLookupKeySym
+function. For the core keyboard, given a keycode
+.I key
+and an Xkb state
+.I state, XkbLookupKeySym
+returns the symbol associated with the key in
+.I sym_rtrn
+and the list of modifiers that should still be applied in
+.I mods_rtrn.
+The
+.I state
+parameter is the state from a KeyPress or KeyRelease event.
+.I XkbLookupKeySym
+returns True if it succeeds.
+.SH "SEE ALSO"
+.BR XLookupKeySym (3X11)
+
diff --git a/libX11/man/xkb/XkbModActionVMods.man b/libX11/man/xkb/XkbModActionVMods.man
new file mode 100644
index 000000000..9120a6571
--- /dev/null
+++ b/libX11/man/xkb/XkbModActionVMods.man
@@ -0,0 +1,58 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbModActionVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbModActionVMods \- Returns the vmods1 and vmods2 fields of act converted to the vmods format of an
+Xkb modifier description
+.SH SYNOPSIS
+.B unsigned short XkbModActionVMods macro
+(
+.I act
+)
+.br
+ XkbAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract virtual mods
+.SH DESCRIPTION
+.LP
+.I XkbModActionVMods
+returns the
+.I vmods1
+and
+.I vmods2
+fields of
+.I act
+converted to the
+.I vmods
+format of an Xkb modifier description.
diff --git a/libX11/man/xkb/XkbNoteControlsChanges.man b/libX11/man/xkb/XkbNoteControlsChanges.man
new file mode 100644
index 000000000..880e29c2e
--- /dev/null
+++ b/libX11/man/xkb/XkbNoteControlsChanges.man
@@ -0,0 +1,214 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbNoteControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteControlsChanges \- Notes the changes in a changes structure when a client receives an XkbControlsNotify
+event
+.SH SYNOPSIS
+.B void XkbNoteControlsChanges
+(
+.I changes,
+.I new,
+.I wanted
+)
+.br
+ XkbControlsChangesPtr \fIchanges\fP\^;
+.br
+ XkbControlsNotifyEvent *\fInew\fP\^;
+.br
+ unsigned int \fIwanted\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- changes
+records changes indicated by new
+.TP
+.I \- new
+tells which things have changed
+.TP
+.I \- wanted
+tells which parts of new to record in changes
+.SH DESCRIPTION
+.LP
+Whenever a field in the controls structure changes in the server's keyboard description, the server sends an
+XkbControlsNotify event to all interested clients.To receive XkbControlsNotify events under all possible
+conditions, use
+.I XkbSelectEvents
+and pass XkbControlsNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbControlsNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbControlsNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+The
+.I changed_ctrls
+field specifies the controls components that have changed and consists of bits taken from the masks defined in
+Table 1 with "ok" in the
+.I changed_ctrls
+column.
+
+The controls currently enabled in the server are reported in the
+.I enabled_ctrls
+field. If any controls were just enabled or disabled (that is, the contents of the
+.I enabled_ctrls
+field changed), they are flagged in the
+.I enabled_ctrl_changes
+field. The valid bits for these fields are the masks listed in Table 1 with "ok" in the
+.I enabled_ctrls
+column. The
+.I num_groups
+field reports the number of groups bound to the key belonging to the most number of groups and is automatically
+updated
+when the keyboard mapping changes.
+
+If the change was caused by a request from a client, the
+.I keycode
+and
+.I event_type
+fields are set to zero and the
+.I req_major
+and
+.I req_minor
+fields identify the request. The
+.I req_major value is the same as the major extension opcode. Otherwise,
+.I event_type
+is set to the type of event that caused the change (one of KeyPress, KeyRelease, DeviceKeyPress,
+DeviceKeyRelease,
+ButtonPress or ButtonRelease), and
+.I req_major
+and
+.I req_minor
+are undefined. If
+.I event_type
+is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the
+.I keycode
+field is set to the key that caused the change. If
+.I event_type
+is ButtonPress or ButtonRelease,
+.I keycode
+contains the button number.
+
+When a client receives an XkbControlsNotify event, it can note the changes in a changes structure using
+.I XkbNoteControlsChanges.
+
+The
+.I wanted
+parameter is a bitwise inclusive OR of bits taken from the set of masks specified in Table 1 with "ok" in the
+.I changed_ctrls
+column.
+.I XkbNoteControlsChanges
+copies any changes reported in
+.I new
+and specified in
+.I wanted
+into the changes record specified by
+.I old.
+.SH STRUCTURES
+.LP
+.nf
+The structure for the XkbControlsNotify event is defined as follows:
+
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbCompatMapNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed_ctrls; /\(** bits indicating which controls data have changed*/
+ unsigned int enabled_ctrls; /\(** controls currently enabled in server */
+ unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled controls */
+ int num_groups; /\(** current number of keyboard groups */
+ KeyCode keycode; /\(** != 0 => keycode of key causing change */
+ char event_type; /\(** Type of event causing change */
+ char req_major; /\(** major event code of event causing change */
+ char req_minor; /\(** minor event code of event causing change */
+} XkbControlsNotifyEvent;
+.fi
+.SH "SEE ALSO"
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbNoteDeviceChanges.man b/libX11/man/xkb/XkbNoteDeviceChanges.man
new file mode 100644
index 000000000..8271e9f65
--- /dev/null
+++ b/libX11/man/xkb/XkbNoteDeviceChanges.man
@@ -0,0 +1,149 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbNoteDeviceChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteDeviceChanges \- Note device changes reported in an XkbExtensionDeviceNotify event
+.SH SYNOPSIS
+.B void XkbNoteDeviceChanges
+(
+.I old,
+.I new,
+.I wanted
+)
+.br
+ XkbDeviceChangesPtr \fIold\fP\^;
+.br
+ XkbExtensionDeviceNotifyEvent * \fInew\fP\^;
+.br
+ unsigned int \fIwanted\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- old
+structure tracking state changes
+.TP
+.I \- new
+event indicating state changes
+.TP
+.I \- wanted
+mask indicating changes to note
+.SH DESCRIPTION
+.LP
+The
+.I wanted
+field specifies the changes that should be noted in
+.I old,
+and is composed of the bitwise inclusive OR of one or more of the masks from Table 1. The
+.I reason
+field of the event in
+.I new
+indicates the types of changes the event is reporting.
+.I XkbNoteDeviceChanges
+updates the XkbDeviceChangesRec specified by
+.I old
+with the changes that are both specified in
+.I wanted
+and contained in
+.I new->reason.
+
+.nf
+ Table 1 XkbDeviceInfoRec Mask Bits
+____________________________________________________________________________________
+Name XkbDeviceInfoRec Value Capability If Set
+ Fields Effected
+____________________________________________________________________________________
+XkbXI_KeyboardsMask (1L <<0) Clients can use all
+ Xkb requests and events
+ with KeyClass devices
+ supported by the input
+ device extension.
+
+XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
+ btn_acts actions to buttons
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
+ names to indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
+ indicator maps to
+ indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
+ the status of indicators
+ on non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
+ num_leds XkbXI_IndicatorMapsMask |
+ leds->* XkbXI_IndicatorStateMask
+
+XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
+
+XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
+ by Value Column XkbSI_ButtonActionsMask
+ masks
+
+XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
+ by Value Column XkbSI_KeyboardsMask
+ masks
+
+XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
+ by Value column XkbXI_UnsupportedFeaturesMask
+ masks
+.fi
+
+To update a local copy of the state and configuration of an X input extension device with the changes
+previously noted in an XkbDeviceChangesRec structure, use
+.I XkbGetDeviceInfoChanges.
+.SH STRUCTURES
+.LP
+Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events and
+accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the structure may
+then be used in subsequent operations to update either a server configuration or a local copy of an
+Xkb extension device configuration. The changes structure is defined as follows:
+.nf
+
+typedef struct _XkbDeviceChanges {
+ unsigned int changed; /\(** bits indicating what has changed */
+ unsigned short first_btn; /\(** number of first button which changed, if any */
+ unsigned short num_btns; /\(** number of buttons that have changed */
+ XkbDeviceLedChangesRec leds;
+} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbGetDeviceInfoChanges (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbNoteIndicatorChanges.man b/libX11/man/xkb/XkbNoteIndicatorChanges.man
new file mode 100644
index 000000000..48975b775
--- /dev/null
+++ b/libX11/man/xkb/XkbNoteIndicatorChanges.man
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbNoteIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteIndicatorChanges \- Notes the changes in a changes structure
+.SH SYNOPSIS
+.B void XkbNoteIndicatorChanges
+(
+.I old,
+.I new,
+.I wanted
+)
+.br
+ XkbIndicatorChangesPtr \fIold\fP\^;
+.br
+ XkbIndicatorNotifyEvent *\fInew\fP\^;
+.br
+ unsigned int \fIwanted\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- old
+XkbIndicatorChanges structure to be updated
+.TP
+.I \- new
+event from which changes are to be copied
+.TP
+.I \- wanted
+which changes are to be noted
+.SH DESCRIPTION
+.LP
+Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all
+interested clients. Similarly, whenever an indicator's map changes, the server sends
+XkbIndicatorMapNotify events to all interested clients.
+
+To receive XkbIndicatorStateNotify events, use
+.I XkbSelectEvents
+with both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events,
+use
+.I XkbSelectEvents
+with XkbIndicatorMapNotifyMask.
+
+To receive events for only specific indicators, use
+.I XkbSelectEventDetails.
+Set the
+.I event_type
+parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
+.I bits_to_change
+and
+.I values_for_bits
+detail parameters to a mask where each bit specifies one indicator, turning on those bits that
+specify the indicators for which you want to receive events.
+
+The
+.I changed
+parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If
+the event is of type XkbIndicatorMapNotify,
+.I changed
+reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
+.I changed
+reports the indicators that have changed state.
+.I state
+is a mask that specifies the current state of all indicators, whether they have changed or
+not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
+
+When your client application receives either a XkbIndicatorStateNotify event or
+XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling
+.I XkbNoteIndicatorChanges.
+
+
+The
+.I wanted
+parameter is the bitwise inclusive OR of XkbIndicatorMapMask and
+XkbIndicatorStateMask.
+.I XkbNoteIndicatorChanges
+copies any changes reported in
+.I new
+and specified in
+.I wanted
+into the changes record specified by
+.I old.
+.SH STRUCTURES
+Both types of indicator events use the same structure:
+.nf
+
+typedef struct _XkbIndicatorNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** specifies state or map notify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed; /\(** mask of indicators with new state or map */
+ unsigned int state; /\(** current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+.fi
+.I xkb_type
+is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is
+a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
+.SH "SEE ALSO"
+.BR XkbIndicatorMapMask (__libmansuffix__),
+.BR XkbIndicatorStateMask (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbNoteNameChanges.man b/libX11/man/xkb/XkbNoteNameChanges.man
new file mode 100644
index 000000000..a17a4aa22
--- /dev/null
+++ b/libX11/man/xkb/XkbNoteNameChanges.man
@@ -0,0 +1,106 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbNoteNameChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteNameChanges \- Note the changed names in a changes structure
+.SH SYNOPSIS
+.B void XkbNoteNameChanges
+(
+.I old,
+.I new,
+.I wanted
+)
+.br
+ XkbNameChangesPtr \fIold\fP\^;
+.br
+ XkbNamesNotifyEvent * \fInew\fP\^;
+.br
+ unsigned int \fIwanted\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- old
+XkbNameChanges structure to be updated
+.TP
+.I \- new
+event from which changes are to be copied
+.TP
+.I \- wanted
+types of names for which changes are to be noted
+.SH DESCRIPTION
+.LP
+When your application receives a XkbNamesNotify event, you can note the changed
+names in a changes structure using
+.I XkbNoteNameChanges.
+
+The
+.I wanted
+parameter is the bitwise inclusive OR of the valid names mask bits shown in
+Table 1.
+.I XkbNoteNameChanges
+copies any changes that are reported in
+.I new
+and specified in
+.I wanted
+into the changes record specified by
+.I old.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
diff --git a/libX11/man/xkb/XkbOpenDisplay.man b/libX11/man/xkb/XkbOpenDisplay.man
new file mode 100644
index 000000000..22a44c814
--- /dev/null
+++ b/libX11/man/xkb/XkbOpenDisplay.man
@@ -0,0 +1,170 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbOpenDisplay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbOpenDisplay \- Checks for a compatible version of the Xkb extension in both
+the library and the server, and initializes the extension for use.
+.SH SYNOPSIS
+.B Display XkbOpenDisplay
+(
+.I display_name,
+.I event_rtrn,
+.I error_rtrn,
+.I major_in_out,
+.I minor_in_out,
+.I reason_rtrn
+)
+.br
+ char *\fIdisplay_name\fP\^;
+.br
+ int *\fIevent_rtrn\fP\^;
+.br
+ int *\fIerror_rtrn\fP\^;
+.br
+ int *\fImajor_in_out\fP\^;
+.br
+ int *\fIminor_in_out\fP\^;
+.br
+ int *\fIreason_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display_name
+hardware display name, which determines the display and communications domain to
+be used
+.TP
+.I event_rtrn
+backfilled with the extension base event code
+.TP
+.I error_rtrn
+backfilled with the extension base error code
+.TP
+.I major_in_out
+compile time lib major version in, server major version out
+.TP
+.I minor_in_out
+compile time lib min version in, server minor version out
+.TP
+.I reason_rtrn
+backfilled with a status code
+.SH DESCRIPTION
+.LP
+As a convenience, you can use the function
+.I XkbOpenDisplay
+to perform these three
+tasks at once: open a connection to an X server, check for a compatible version
+of the Xkb extension in both the library and the server, and initialize the
+extension for use.
+
+.I XkbOpenDisplay
+is a convenience function that opens an X display connection and
+initializes the X keyboard extension. In all cases, upon return
+.I reason_rtrn
+contains a status value indicating success or the type of failure. If
+.I major_in_out
+and
+.I minor_in_out
+are not NULL,
+.I XkbOpenDisplay
+first calls
+.I XkbLibraryVersion
+to determine whether the client library is compatible, passing
+it the values pointed to by
+.I major_in_out and
+.I minor_in_out. If the library is
+incompatible,
+.I XkbOpenDisplay backfills
+.I major_in_out
+and
+.I minor_in_out
+with the
+major and minor extension versions of the library being used and returns NULL.
+If the library is compatible,
+.I XkbOpenDisplay
+next calls
+.I XOpenDisplay
+with the
+.I display_name.
+If this fails, the function returns NULL. If successful,
+.I XkbOpenDisplay
+calls
+.I XkbQueryExtension
+and backfills the major and minor Xkb
+server extension version numbers in
+.I major_in_out and
+.I minor_in_out. If the server
+extension version is not compatible with the library extension version or if the
+server extension is not present,
+.I XkbOpenDisplay
+closes the display and returns
+NULL. When successful, the function returns the display connection.
+
+The possible values for reason_rtrn are:
+
+.IP \(bu 5
+XkbOD_BadLibraryVersion indicates XkbLibraryVersion returned False.
+.IP \(bu 5
+XkbOD_ConnectionRefused indicates the display could not be opened.
+.IP \(bu 5
+XkbOD_BadServerVersion indicates the library and the server have incompatible
+extension versions.
+.IP \(bu 5
+XkbOD_NonXkbServer indicates the extension is not present in the X server.
+.IP \(bu 5
+XkbOD_Success indicates that the function succeeded.
+.SH "RETURN VALUES"
+.TP 15
+NULL
+The
+.I XkbOpenDisplay
+function returns NULL if the library is incompatible.
+.sp
+.in 20
+The
+.I XkbOpenDisplay
+function returns NULL if the call to
+.I XOpenDisplay
+with the
+.I display_name
+fails.
+.sp
+.in 20
+The
+.I XkbOpenDisplay
+function returns NULL and closes the display if the server extension version is not
+compatible with the library extension version or if the server extension is not present.
+.SH DIAGNOSTICS
+.TP 15
+.SM BadAccess
+The Xkb extension has not been properly initialized
+.SH "SEE ALSO"
+.BR XkbLibraryVersion (__libmansuffix__),
+.BR XkbQueryExtension (__libmansuffix__),
+.BR XOpenDisplay (3X11)
diff --git a/libX11/man/xkb/XkbOutOfRangeGroupInfo.man b/libX11/man/xkb/XkbOutOfRangeGroupInfo.man
new file mode 100644
index 000000000..8a02612f0
--- /dev/null
+++ b/libX11/man/xkb/XkbOutOfRangeGroupInfo.man
@@ -0,0 +1,196 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbOutOfRangeGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbOutOfRangeGroupInfo \- Returns only the out-of-range processing information
+from the group_info field of an XkbSymMapRec structure
+.SH SYNOPSIS
+.B unsigned char XkbOutOfRangeGroupInfo macro
+(
+.I grp_inf
+)
+.br
+ unsigned char \fIgrp_inf\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- grp_inf
+Xkb description of interest
+.SH DESCRIPTION
+.LP
+.I XkbOutOfRangeGroupInfo
+returns only the out-of-range processing information from the
+.I group_info
+field of an XkbSymMapRec structure.
+
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits set in
+the
+.I group_info
+flag, as shown in Table 1.
+.bp
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo. (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbOutOfRangeGroupNumber.man b/libX11/man/xkb/XkbOutOfRangeGroupNumber.man
new file mode 100644
index 000000000..c38b3d866
--- /dev/null
+++ b/libX11/man/xkb/XkbOutOfRangeGroupNumber.man
@@ -0,0 +1,197 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbOutOfRangeGroupNumber __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbOutOfRangeGroupNumber \- Returns the out-of-range group number, represented
+as a group index, from the group_info field of an XkbSymMapRec structure
+.SH SYNOPSIS
+.B unsigned char XkbOutOfRangeGroupNumber macro
+(
+.I grp_inf
+)
+.br
+ unsigned char \fIgrp_inf\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- grp_inf
+Xkb description of interest
+.SH DESCRIPTION
+.LP
+.I XkbOutOfRangeGroupNumber
+returns the out-of-range group number, represented as a group index, from the
+.I group_info
+field of an XkbSymMapRec structure.
+
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits set in
+the
+.I group_info
+flag, as shown in Table 1.
+
+
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbPtrActionX.man b/libX11/man/xkb/XkbPtrActionX.man
new file mode 100644
index 000000000..7bf9e2aa4
--- /dev/null
+++ b/libX11/man/xkb/XkbPtrActionX.man
@@ -0,0 +1,114 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbPtrActionX \- Returns the high_XXX and low_XXX fields of act converted to a
+signed int
+.SH SYNOPSIS
+.B int XkbPtrActionX macro
+(
+.I act
+)
+.br
+ XkbPtrAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract X
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+If the MouseKeys control is enabled, a server action of type XkbSA_MovePtr
+instructs the server to generate core pointer MotionNotify events rather than
+the usual KeyPress event, and the corresponding KeyRelease event disables any
+mouse keys timers that were created as a result of handling the XkbSA_MovePtr
+action.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+If set, the X portion of the structure specifies the new pointer X coordinate.
+Otherwise, the X portion is added to the current pointer X coordinate to
+determine the new pointer X coordinate.
+T}
+XkbSA_MoveAbsoluteY T{
+If set, the Y portion of the structure specifies the new pointer Y coordinate.
+Otherwise, the Y portion is added to the current pointer Y coordinate to
+determine the new pointer Y coordinate.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I low_XXX,
+and similarly for the Y coordinate. Xkb provides the following macros, to
+convert between a signed integer and two signed 16-bit values in XkbPtrAction
+structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrAction {
+ unsigned char type; /\(** XkbSA_MovePtr */
+ unsigned char flags; /\(** determines type of pointer motion */
+ unsigned char high_XXX; /\(** x coordinate, high bits*/
+ unsigned char low_XXX; /\(** y coordinate, low bits */
+ unsigned char high_YYY; /\(** x coordinate, high bits */
+ unsigned char low_YYY; /\(** y coordinate, low bits */
+ } XkbPtrAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbPtrActionY.man b/libX11/man/xkb/XkbPtrActionY.man
new file mode 100644
index 000000000..9370e9ac2
--- /dev/null
+++ b/libX11/man/xkb/XkbPtrActionY.man
@@ -0,0 +1,114 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbPtrActionY \- Returns the high_YYY and low_YYY fields of act converted to a
+signed int
+.SH SYNOPSIS
+.B int XkbPtrActionY macro
+(
+.I act
+)
+.br
+ XkbPtrAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract Y
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+If the MouseKeys control is enabled, a server action of type XkbSA_MovePtr
+instructs the server to generate core pointer MotionNotify events rather than
+the usual KeyPress event, and the corresponding KeyRelease event disables any
+mouse keys timers that were created as a result of handling the XkbSA_MovePtr
+action.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+If set, the X portion of the structure specifies the new pointer X coordinate.
+Otherwise, the X portion is added to the current pointer X coordinate to
+determine the new pointer X coordinate.
+T}
+XkbSA_MoveAbsoluteY T{
+If set, the Y portion of the structure specifies the new pointer Y coordinate.
+Otherwise, the Y portion is added to the current pointer Y coordinate to
+determine the new pointer Y coordinate.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I low_XXX,
+and similarly for the Y coordinate. Xkb provides the following macros, to
+convert between a signed integer and two signed 16-bit values in XkbPtrAction
+structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrAction {
+ unsigned char type; /\(** XkbSA_MovePtr */
+ unsigned char flags; /\(** determines type of pointer motion */
+ unsigned char high_XXX; /\(** x coordinate, high bits*/
+ unsigned char low_XXX; /\(** y coordinate, low bits */
+ unsigned char high_YYY; /\(** x coordinate, high bits */
+ unsigned char low_YYY; /\(** y coordinate, low bits */
+ } XkbPtrAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbQueryExtension.man b/libX11/man/xkb/XkbQueryExtension.man
new file mode 100644
index 000000000..c5f2e9337
--- /dev/null
+++ b/libX11/man/xkb/XkbQueryExtension.man
@@ -0,0 +1,146 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbQueryExtension __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbQueryExtension \- Determines the compatibility of a library at runtime.
+.SH SYNOPSIS
+.B Bool XkbQueryExtension
+(
+.I dpy,
+.I opcode_rtrn,
+.I event_rtrn,
+.I error_rtrn,
+.I major_in_out,
+.I minor_in_out
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ int \fIopcode_rtrn\fP\^;
+.br
+ int \fIevent_rtrn\fP\^;
+.br
+ int *\fIerror_rtrn\fP\^;
+.br
+ int \fImajor_in_out\fP\^;
+.br
+ int \fIminor_in_out\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I dpy
+connection to the X server
+.TP
+.I opcode_rtrn
+backfilled with the major extension opcode
+.TP
+.I event_rtrn
+backfilled with the extension base event code
+.TP
+.I error_rtrn
+backfilled with the extension base error code
+.TP
+.I major_in_out
+compile time lib major version in, server major version out
+.TP
+.I minor_in_out
+compile time lib min version in, server minor version out
+.SH DESCRIPTION
+.LP
+Call
+.I XkbQueryExtension
+to check for the presence and compatibility of the
+extension in the server and to initialize the extension. Because of potential
+version mismatches, you cannot use the generic extension mechanism functions
+(
+.I XQueryExtension
+and
+.I XInitExtension
+) for checking for the presence of, and
+initializing the Xkb extension.
+
+You must call
+.I XkbQueryExtension
+or
+.I XkbOpenDisplay
+before using any other Xkb
+library interfaces, unless such usage is explicitly allowed in the interface
+description in this document. The exceptions are:
+.I XkbIgnoreExtension, XkbLibraryVersion,
+and a handful of audible-bell functions. You should not use
+any other Xkb functions if the extension is not present or is uninitialized. In
+general, calls to Xkb library functions made prior to initializing the Xkb
+extension cause BadAccess protocol errors.
+
+.I XkbQueryExtension
+both determines whether a compatible Xkb extension is present
+in the X server and initializes the extension when it is present.
+
+The
+.I XkbQueryExtension
+function determines whether a compatible version of the X
+Keyboard Extension is present in the server. If a compatible extension is
+present,
+.I XkbQueryExtension
+returns True; otherwise, it returns False.
+
+If a compatible version of Xkb is present,
+.I XkbQueryExtension
+initializes the
+extension. It backfills the major opcode for the keyboard extension in
+.I opcode_rtrn,
+the base event code in
+.I event_rtrn,
+the base error code in
+.I error_rtrn,
+and the major and minor version numbers of the extension in
+.I major_in_out
+and
+.I minor_in_out.
+The major opcode is reported in the
+.I req_major
+fields of some Xkb events. For a discussion of the base event code.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbQueryExtension
+function returns True if it determines a compatible version of the X
+Keyboard Extension is present in the server.
+.TP 15
+False
+The
+.I XkbQueryExtension
+function returns False if it determines a compatible version of the X
+Keyboard Extension is not present in the server.
+.SH "SEE ALSO"
+.BR XkbIgnoreExtension (__libmansuffix__),
+.BR XkbLibraryVersion (__libmansuffix__),
+.BR XkbOpenDisplay (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbRefreshKeyboardMapping.man b/libX11/man/xkb/XkbRefreshKeyboardMapping.man
new file mode 100644
index 000000000..4e910eb1b
--- /dev/null
+++ b/libX11/man/xkb/XkbRefreshKeyboardMapping.man
@@ -0,0 +1,78 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbRefreshKeyboardMapping __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbRefreshKeyboardMapping \- Update the keyboard description that is internal to the X
+library
+.SH SYNOPSIS
+.B Status XkbRefreshKeyboardMapping
+(
+.I event
+)
+.br
+ XkbMapNotifyEvent * \fIevent\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- event
+event initiating remapping
+.SH DESCRIPTION
+.LP
+.I XkbRefreshKeyboardMapping
+is the Xkb equivalent of the core
+.I XRefreshKeyboardMapping
+function. It requests that the X server send the current key mapping information to
+this client. A client usually invokes
+.I XkbRefreshKeyboardMapping
+after receiving an XkbMapNotify event.
+.I XkbRefreshKeyboardMapping
+returns Success if it succeeds and BadMatch if the event is not an Xkb event.
+
+The XkbMapNotify event can be generated when some client calls
+.I XkbSetMap, XkbChangeMap, XkbGetKeyboardByName,
+or any of the standard X library functions that change the keyboard mapping or modifier
+mapping.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbRefreshKeyboardMapping
+function returns Success when the request that the X server send the current key mapping information to
+this client is successful.
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct
+type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbChangeMap (__libmansuffix__),
+.BR XkbGetKeyboardByName (__libmansuffix__),
+.BR XkbSetMap (__libmansuffix__),
+.BR XRefreshKeyboardMapping (3X11)
diff --git a/libX11/man/xkb/XkbResizeDeviceButtonActions.man b/libX11/man/xkb/XkbResizeDeviceButtonActions.man
new file mode 100644
index 000000000..9bace20a9
--- /dev/null
+++ b/libX11/man/xkb/XkbResizeDeviceButtonActions.man
@@ -0,0 +1,105 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbResizeDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeDeviceButtonActions \- Allocate additional space for button actions in an XkbDeviceInfoRec structure
+.SH SYNOPSIS
+.B Status XkbResizeDeviceButtonActions
+(
+.I device_info,
+.I new_total
+)
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.br
+ unsigned int \fInew_total\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+structure in which to allocate button actions
+.TP
+.I \- new_total
+new total number of button actions needed
+.SH DESCRIPTION
+.LP
+.I XkbResizeDeviceButtonActions
+reallocates space, if necessary, to make sure there is room for a total of
+.I new_total
+button actions in the
+.I device_info
+structure. Any new entries allocated are zeroed. If successful,
+.I XkbResizeDeviceButtonActions
+returns Success. If
+.I new_total
+is zero, all button actions are deleted,
+.I device_info->num_btns
+is set to zero, and
+.I device_info->btn_acts
+is set to NULL. If
+.I device_info
+is invalid or
+.I new_total
+is greater than 255, BadValue is returned. If a memory allocation failure occurs, a BadAlloc is returned.
+
+To free an XkbDeviceInfoRec structure, use
+.I XkbFreeDeviceInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ typedef struct {
+ char * name; /\(** name for device */
+ Atom type; /\(** name for class of devices */
+ unsigned short device_spec; /\(** device of interest */
+ Bool has_own_state; /\(** True=>this device has its own state */
+ unsigned short supported; /\(** bits indicating supported capabilities */
+ unsigned short unsupported; /\(** bits indicating unsupported capabilities */
+ unsigned short num_btns; /\(** number of entries in btn_acts */
+ XkbAction * btn_acts; /\(** button actions */
+ unsigned short sz_leds; /\(** total number of entries in LEDs vector */
+ unsigned short num_leds; /\(** number of valid entries in LEDs vector */
+ unsigned short dflt_kbd_fb; /\(** input extension ID of default (core kbd) indicator */
+ unsigned short dflt_led_fb; /\(** input extension ID of default indicator feedback */
+ XkbDeviceLedInfoPtr leds; /\(** LED descriptions */
+ } XkbDeviceInfoRec, *XkbDeviceInfoPtr;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbResizeKeyActions.man b/libX11/man/xkb/XkbResizeKeyActions.man
new file mode 100644
index 000000000..d5f88d301
--- /dev/null
+++ b/libX11/man/xkb/XkbResizeKeyActions.man
@@ -0,0 +1,114 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbResizeKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeKeyActions \- Change the number of actions bound to a key
+.SH SYNOPSIS
+.B XkbAction * XkbResizeKeyActions
+(
+.I xkb,
+.I key,
+.I needed
+)
+.br
+ XkbDescRec * \fIxkb\fP\^;
+.br
+ int \fIkey\fP\^;
+.br
+ int \fIneeded\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to change
+.TP
+.I \- key
+keycode of key to change
+.TP
+.I \- needed
+new number of actions required
+.SH DESCRIPTION
+.LP
+The
+.I xkb
+parameter points to the keyboard description containing the
+.I key
+whose number of actions is to be changed. The
+.I key
+parameter is the keycode of the key to change, and needed specifies the new
+number of actions required for the key.
+
+.I XkbResizeKeyActions
+reserves the space needed for the actions and returns a pointer to the beginning
+of the new array that holds the actions. It can change the
+.I acts, num_acts,
+and
+.I size_acts
+fields of
+.I xkb->server
+if it is necessary to reallocate the
+.I acts
+array.
+
+If
+.I needed
+is greater than the current number of keysyms for the key,
+.I XkbResizeKeyActions
+initializes all new actions in the array to NoAction.
+
+Because the number of actions needed by a key is normally computed as width *
+number of groups, and
+.I XkbResizeKeyActions
+does not modify either the width or number of groups for the key, a discrepancy
+exists on return from
+.I XkbResizeKeyActions
+between the space allocated for the actions and the number required. The unused
+entries in the list of actions returned by
+.I XkbResizeKeyActions
+are not preserved across future calls to any of the map editing functions, so
+you must update the key actions (which updates the width and number of groups
+for the key) before calling another allocator function. A call to
+.I XkbChangeTypesOfKey
+updates these.
+
+If any allocation errors occur while resizing the number of actions bound to the
+key,
+.I XkbResizeKeyActions
+returns NULL.
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__)
+.SH NOTES
+.LP
+A change to the number of actions bound to a key should be accompanied by a
+change in the number of symbols bound to a key. Refer to
+.I XkbResizeKeySyms
+for more information on changing the number of symbols bound to a key.
diff --git a/libX11/man/xkb/XkbResizeKeySyms.man b/libX11/man/xkb/XkbResizeKeySyms.man
new file mode 100644
index 000000000..bba36d919
--- /dev/null
+++ b/libX11/man/xkb/XkbResizeKeySyms.man
@@ -0,0 +1,112 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbResizeKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeKeySyms \- Change the number of symbols bound to a key
+.SH SYNOPSIS
+.B KeySym * XkbResizeKeySyms
+(
+.I xkb,
+.I key,
+.I needed
+)
+.br
+ XkbDescRec * \fIxkb\fP\^;
+.br
+ int \fIkey\fP\^;
+.br
+ int \fIneeded\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be changed
+.TP
+.I \- key
+keycode for key to modify
+.TP
+.I \- needed
+new number of keysyms required for key
+.SH DESCRIPTION
+.LP
+.I XkbResizeKeySyms
+reserves the space needed for
+.I needed
+keysyms and returns a pointer to the beginning of the new array that holds the
+keysyms. It adjusts the
+.I offset
+field of the
+.I key_sym_map
+entry for the key if necessary and can also change the
+.I syms, num_syms,
+and
+.I size_syms
+fields of
+.I xkb->map
+if it is necessary to reallocate the
+.I syms
+array.
+.I XkbResizeKeySyms
+does not modify either the width or number of groups associated with the key.
+
+If
+.I needed
+is greater than the current number of keysyms for the key,
+.I XkbResizeKeySyms
+initializes all new keysyms in the array to NoSymbol.
+
+Because the number of symbols needed by a key is normally computed as width *
+number of groups, and
+.I XkbResizeKeySyms
+does not modify either the width or number of groups for the key, a discrepancy
+exists upon return from
+.I XkbResizeKeySyms
+between the space allocated for the keysyms and the number required. The unused
+entries in the list of symbols returned by
+.I XkbResizeKeySyms
+are not preserved across future calls to any of the map editing functions, so
+you must update the key symbol mapping (which updates the width and number of
+groups for the key) before calling another allocator function. A call to
+.I XkbChangeTypesOfKey
+will update the mapping.
+
+If any allocation errors occur while resizing the number of symbols bound to the
+key,
+.I XkbResizeKeySyms
+returns NULL.
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__)
+.SH NOTES
+.LP
+A change to the number of symbols bound to a key should be accompanied by a
+change in the number of actions bound to a key. Refer to XkbResizeKeyActions for
+more information on changing the number of actions bound to a key.
diff --git a/libX11/man/xkb/XkbResizeKeyType.man b/libX11/man/xkb/XkbResizeKeyType.man
new file mode 100644
index 000000000..5ce2a816c
--- /dev/null
+++ b/libX11/man/xkb/XkbResizeKeyType.man
@@ -0,0 +1,155 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbResizeKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeKeyType \- Change the number of levels in a key type
+.SH SYNOPSIS
+.B Status XkbResizeKeyType
+(
+.I xkb,
+.I type_ndx,
+.I map_count,
+.I want_preserve,
+.I new_num_lvls
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ int \fItype_ndx\fP\^;
+.br
+ int \fImap_count\fP\^;
+.br
+ Bool \fIwant_preserve\fP\^;
+.br
+ int \fInew_num_lvls\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing client map to update
+.TP
+.I \- type_ndx
+index in xkb->map->types of type to change
+.TP
+.I \- map_count
+total # of map entries needed for the type
+.TP
+.I \- want_preserve
+True => list of preserved modifiers is necessary
+.TP
+.I \- new_num_lvls
+new max # of levels for type
+.SH DESCRIPTION
+.LP
+.I XkbResizeKeyType
+changes the type specified by
+.I xkb->map->types[type_ndx],
+and reallocates the symbols and actions bound to all keys that use the type, if
+necessary.
+.I XkbResizeKeyType
+updates only the local copy of the types in
+.I xkb;
+to update the server's copy for the physical device, use
+.I XkbSetMap
+or
+.I XkbChangeMap
+after calling
+.I XkbResizeKeyType.
+
+The
+.I map_count
+parameter specifies the total number of map entries needed for the type, and can
+be zero or greater. If
+.I map_count
+is zero,
+.I XkbResizeKeyType
+frees the existing
+.I map
+and
+.I preserve
+entries for the type if they exist and sets them to NULL.
+
+The
+.I want_preserve
+parameter specifies whether a
+.I preserve
+list for the key should be created. If
+.I want_preserve
+is True, the
+.I preserve
+list with
+.I map_count
+entries is allocated or reallocated if it already exists. Otherwise, if
+.I want_preserve
+is False, the
+.I preserve
+field is freed if necessary and set to NULL.
+
+The
+.I new_num_lvls
+parameter specifies the new maximum number of shift levels for the type and is
+used to calculate and resize the symbols and actions bound to all keys that use
+the type.
+
+If
+.I type_ndx
+does not specify a legal type,
+.I new_num_lvls
+is less than 1, or the
+.I map_count
+is less than zero,
+.I XkbResizeKeyType
+returns BadValue. If
+.I XkbResizeKeyType
+encounters any problems with allocation, it returns BadAlloc. Otherwise, it
+returns Success.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbResizeKeyType
+function returns Success if
+.I type_ndx
+specifies a legal type,
+.I new_num_lvls
+is greater than zero and
+.I map_count
+is positive.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeMap (__libmansuffix__),
+.BR XkbSetMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSAActionSetCtrls.man b/libX11/man/xkb/XkbSAActionSetCtrls.man
new file mode 100644
index 000000000..b94288f3c
--- /dev/null
+++ b/libX11/man/xkb/XkbSAActionSetCtrls.man
@@ -0,0 +1,162 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSAActionSetCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAActionSetCtrls \- Sets the
+.I ctrls0
+through
+I. ctrls3
+fields of
+.I act
+from
+.I ctrls
+.SH SYNOPSIS
+.B void XkbSAActionSetCtrls macro
+(
+.I act,
+.I ctrls
+)
+.br
+ XkbCtrlsAction \fIact\fP\^;
+.br
+ unsigned int \fIctrls\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set ctrls0-ctrls3
+.TP
+.I \- ctrls
+value to set in ctrls0-ctrls3
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbCtrlsAction structure change the state of the
+boolean controls.
+
+The
+.I type
+field can have any one of the values shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Controls Action Types
+_
+Type Effect
+_
+XkbSA_SetControls T{
+A key press enables any boolean controls specified in the ctrls fields that were
+not already enabled at
+the time of the key press.
+A key release disables any controls enabled by the key press.
+This action can cause XkbControlsNotify events.
+T}
+XkbSA_LockControls T{
+If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables
+any controls specified in
+the ctrls fields that were not already enabled at the time of the key press.
+.br
+If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release
+disables any controls
+specified in the ctrls fields that were not already disabled at the time of the
+key press.
+.br
+This action can cause XkbControlsNotify events.
+T}
+.TE
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 2.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 2 Control Action Flags
+_
+Flag Meaning
+_
+XkbSA_LockNoLock T{
+If set, and the action type is XkbSA_LockControls, the server only disables
+controls.
+T}
+XkbSA_LockNoUnlock T{
+If set, and the action type is XkbSA_LockControls, the server only enables
+controls.
+T}
+.TE
+
+The XkbSA_SetControls action implements a key that enables a boolean control
+when pressed and disables it
+when released. The XkbSA_LockControls action is used to implement a key that
+toggles the state of a
+boolean control each time it is pressed and released. The XkbSA_LockNoLock and
+XkbSA_LockNoUnlock flags
+allow modifying the toggling behavior to only unlock or only lock the boolean
+control.
+
+The
+.I ctrls0, ctrls1, ctrls2,
+and
+.I ctrls3
+fields represent the boolean controls in the
+.I enabled_ctrls
+field of the controls structure. Xkb macros, to convert between the two formats.
+
+.I XkbSAActionSetCtrls
+sets the
+.I ctrls0
+through
+.I ctrls3
+fields of
+.I act
+from
+.I ctrls.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbCtrlsAction {
+ unsigned char type; /\(** XkbSA_SetControls, XkbSA_LockControls */
+ unsigned char flags; /\(** with type, controls enabling and disabling
+of controls */
+ unsigned char ctrls3; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls2; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls1; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls0; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ } XkbCtrlsAction;
+.fi
diff --git a/libX11/man/xkb/XkbSAGroup.man b/libX11/man/xkb/XkbSAGroup.man
new file mode 100644
index 000000000..4ba96eb29
--- /dev/null
+++ b/libX11/man/xkb/XkbSAGroup.man
@@ -0,0 +1,67 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSAGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAGroup \- Returns the group_XXX field of act converted to a signed int
+.SH SYNOPSIS
+.B int XkbSAGroup macro
+(
+.I act
+)
+.br
+ XkbAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract group
+.SH DESCRIPTION
+.LP
+.I XkbSAGroup
+returns the
+.I group_XXX
+field of
+.I act
+converted to a signed int.
+.SH STRUCTURE
+.LP
+Actions associated with the XkbGroupAction structure change the current group
+state when keys are
+pressed and released:
+.nf
+
+ typedef struct _XkbGroupAction {
+ unsigned char type; /\(** XkbSA_{Set|Latch|Lock}Group */
+ unsigned char flags; /\(** with type, controls the effect on groups
+*/
+ char group_XXX; /\(** represents a group index or delta */
+ } XkbGroupAction;
+ \ No newline at end of file
diff --git a/libX11/man/xkb/XkbSAPtrDfltValue.man b/libX11/man/xkb/XkbSAPtrDfltValue.man
new file mode 100644
index 000000000..da0543c38
--- /dev/null
+++ b/libX11/man/xkb/XkbSAPtrDfltValue.man
@@ -0,0 +1,117 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSAPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAPtrDfltValue \- Returns the valueXXX field of act converted to a signed int
+.SH SYNOPSIS
+.B int XkbSAPtrDfltValue macro
+(
+.I act
+)
+.br
+ XkbAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract group
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn
+attribute of the MouseKeys control.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction. Otherwise, this action changes
+the
+.I mk_dflt_btn
+attribute of the MouseKeys control.
+
+The
+.I type
+field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the values shown in Table 1
+(currently there is only one value defined).
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Default Flags
+_
+Flag Meaning
+_
+XkbSA_DfltBtnAbsolute T{
+If set, the value field represents an absolute pointer button. Otherwise, the
+value field represents the amount to be added to the current default button.
+T}
+.TE
+
+The
+.I affect
+field specifies what changes as a result of this action. The only valid value
+for the
+.I affect
+field is XkbSA_AffectDfltBtn.
+
+The
+.I valueXXX
+field is a signed character that represents the new button value for the
+.I mk_dflt_btn
+attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in
+.I flags, valueXXX
+specifies the button to be used; otherwise,
+.I valueXXX
+specifies the amount to be added to the current default button. In either case,
+illegal button choices are wrapped back around into range. Xkb provides macros,
+to convert between the integer and signed character values in XkbPtrDfltAction
+structures.
+
+.I XkbSAPtrDfltValue
+returns the
+.I valueXXX
+field of
+.I act
+converted to a signed int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrDfltAction {
+ unsigned char type; /\(** XkbSA_SetPtrDflt */
+ unsigned char flags; /\(** controls the pointer button number */
+ unsigned char affect; /\(** XkbSA_AffectDfltBtn */
+ char valueXXX; /\(** new default button member */
+ } XkbPtrDfltAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectSetVMods.man b/libX11/man/xkb/XkbSARedirectSetVMods.man
new file mode 100644
index 000000000..f1d964835
--- /dev/null
+++ b/libX11/man/xkb/XkbSARedirectSetVMods.man
@@ -0,0 +1,121 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSARedirectSetVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectSetVMods \- Sets the vmods0 and vmods1 of act from v
+.SH SYNOPSIS
+.B void XkbSARedirectSetVMods macro
+(
+.I act,
+.I v
+)
+.br
+ XkbRedirectKeyAction \fIact\fP\^;
+.br
+ unsigned int \fIv\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set vmods
+.TP
+.I \- v
+new value for virtual modifiers
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same device as the key that
+caused the event, unless that device does not belong to the input extension KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+
+.I XkbSARedirectSetVModsMask
+sets the
+.I vmods0
+and
+.I vmods1
+of
+.I act
+from
+.I v.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectSetVModsMask.man b/libX11/man/xkb/XkbSARedirectSetVModsMask.man
new file mode 100644
index 000000000..6675066b8
--- /dev/null
+++ b/libX11/man/xkb/XkbSARedirectSetVModsMask.man
@@ -0,0 +1,134 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSARedirectSetVModsMask __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectSetVModsMask \- Sets the vmods_mask0 and vmods_mask1 fields of act
+from vm
+.SH SYNOPSIS
+.B void XkbSARedirectSetVModsMask macro
+(
+.I act,
+.I vm
+)
+.br
+ XkbRedirectKeyAction \fIact\fP\^;
+.br
+ unsigned int \fIvm\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set vmods
+.TP
+.I \- vm
+new value for virtual modifier mask
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and
+KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the
+current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values
+for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the
+effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same
+device as the key that
+caused the event, unless that device does not belong to the input extension
+KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension
+categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are
+classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+.I XkbSARedirectSetVModsMask
+sets the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields of
+.I act
+from
+.I vm.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be
+reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be
+reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to
+take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to
+take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectVMods.man b/libX11/man/xkb/XkbSARedirectVMods.man
new file mode 100644
index 000000000..202654c69
--- /dev/null
+++ b/libX11/man/xkb/XkbSARedirectVMods.man
@@ -0,0 +1,126 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSARedirectVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectVMods \- Returns the vmods0 and vmods1 fields of act converted to
+an unsigned int
+.SH SYNOPSIS
+.B unsigned int XkbSARedirectVMods macro
+(
+.I act
+)
+.br
+ XkbRedirectKeyAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract vmods
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and
+KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the
+current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values
+for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the
+effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same
+device as the key that
+caused the event, unless that device does not belong to the input extension
+KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension
+categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are
+classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+.I XkbSARedirectVModsMask
+returns the
+.I vmods0
+and
+.I vmods1
+fields of
+.I act
+converted to an unsigned int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be
+reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be
+reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to
+take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to
+take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectVModsMask.man b/libX11/man/xkb/XkbSARedirectVModsMask.man
new file mode 100644
index 000000000..6e78513df
--- /dev/null
+++ b/libX11/man/xkb/XkbSARedirectVModsMask.man
@@ -0,0 +1,127 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSARedirectVModsMask __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectVModsMask \- Returns the vmods_mask0 and vmods_mask1 fields of act
+converted to an unsigned int
+.SH SYNOPSIS
+.B unsigned int XkbSARedirectVModsMask macro
+(
+.I act
+)
+.br
+ XkbRedirectKeyAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract vmods
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and
+KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the
+current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values
+for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the
+effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same
+device as the key that
+caused the event, unless that device does not belong to the input extension
+KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension
+categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are
+classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+.I XkbSARedirectVModsMask
+returns the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields of
+.I act
+converted to an unsigned int.
+.bp
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be
+reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be
+reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to
+take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to
+take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSAScreen.man b/libX11/man/xkb/XkbSAScreen.man
new file mode 100644
index 000000000..8f857d982
--- /dev/null
+++ b/libX11/man/xkb/XkbSAScreen.man
@@ -0,0 +1,112 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSAScreen __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAScreen \- Returns the screenXXX field of act converted to a signed int
+.SH SYNOPSIS
+.B int XkbSAScreen
+(
+.I act
+)
+.br
+ XkbSwitchScreenAction \fIact\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract screen
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbSwitchScreen action structure change the active
+screen on a multiscreen display.
+
+The
+.I type
+field of the XkbSwitchScreenAction structure should always be
+XkbSA_SwitchScreen.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Switch Screen Action Flags
+_
+Flag Meaning
+_
+XkbSA_SwitchAbsolute T{
+If set, the screenXXX field represents the index of the new screen. Otherwise,
+it represents an offset from the current screen to the new screen.
+T}
+XkbSA_SwitchApplication T{
+If not set, the action should switch to another screen on the same server.
+Otherwise, it should switch to another X server or application that shares the
+same physical display.
+T}
+.TE
+
+The
+.I screenXXX
+field is a signed character value that represents either the relative or
+absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in
+the
+.I flags
+field. Xkb provides the following macros to convert between the integer and
+signed character value for screen numbers in XkbSwitchScreenAction structures.
+
+.I XkbSAScreen
+macro returns the
+.I screenXXX
+field of
+.I act
+converted to a signed int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbSwitchScreenAction {
+ unsigned char type; /\(** XkbSA_SwitchScreen */
+ unsigned char flags; /\(** controls screen switching */
+ char screenXXX; /\(** screen number or delta */
+ } XkbSwitchScreenAction;
+
+.fi
+
+.SH NOTES
+.LP
+The XkbSwitchScreen action is optional. Servers are free to ignore the action or
+any of its
+flags if they do not support the requested behavior. If the action is ignored,
+it behaves like XkbSA_NoAction. Otherwise, key press and key release events do
+not generate an event.
diff --git a/libX11/man/xkb/XkbSASetGroup.man b/libX11/man/xkb/XkbSASetGroup.man
new file mode 100644
index 000000000..e4bd0d452
--- /dev/null
+++ b/libX11/man/xkb/XkbSASetGroup.man
@@ -0,0 +1,72 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSASetGroup 3Xkb "Release 6.1" "X Version 11" "XKBLIB FUNCTION"
+.SH NAME
+XkbSASetGroup \- Sets the group_XXX field of act from the group index grp
+.SH SYNTAX
+.B void XkbSASetGroup macro
+(
+.I act,
+.I grp
+)
+.br
+ XkbAction \fIact\fP\^;
+.br
+ int \fIgrp\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to set group
+.TP
+.I \- grp
+group index to set in group_XXX
+.SH DESCRIPTION
+.LP
+.I XkbSASetGroup
+sets the
+.I group_XXX
+field of
+.I act
+from the group index
+.I grp.
+.SH STRUCTURE
+.LP
+Actions associated with the XkbGroupAction structure change the current group state when keys are
+pressed and released:
+.nf
+
+ typedef struct _XkbGroupAction {
+ unsigned char type; /\(** XkbSA_{Set|Latch|Lock}Group */
+ unsigned char flags; /\(** with type, controls the effect on groups */
+ char group_XXX; /\(** represents a group index or delta */
+ } XkbGroupAction;
+ \ No newline at end of file
diff --git a/libX11/man/xkb/XkbSASetPtrDfltValue.man b/libX11/man/xkb/XkbSASetPtrDfltValue.man
new file mode 100644
index 000000000..284e466da
--- /dev/null
+++ b/libX11/man/xkb/XkbSASetPtrDfltValue.man
@@ -0,0 +1,116 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSASetPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSASetPtrDfltValue \- Sets the valueXXX field of act from val
+.SH SYNOPSIS
+.B void XkbSASetPtrDfltValue macro
+(
+.I act,
+.I val
+)
+.br
+ XkbAction \fIact\fP\^;
+.br
+ int \fIval\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set valueXXX
+.TP
+.I \- val
+value to set in valueXXX
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn
+attribute of the MouseKeys control.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction. Otherwise, this action changes
+the
+.I mk_dflt_btn
+attribute of the MouseKeys control.
+
+The
+.I type
+field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the values shown in Table 1
+(currently there is only one value defined).
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Default Flags
+_
+Flag Meaning
+_
+XkbSA_DfltBtnAbsolute T{
+If set, the value field represents an absolute pointer button. Otherwise, the
+value field represents the amount to be added to the current default button.
+T}
+.TE
+
+The
+.I affect
+field specifies what changes as a result of this action. The only valid value
+for the
+.I affect
+field is XkbSA_AffectDfltBtn.
+
+The
+.I valueXXX
+field is a signed character that represents the new button value for the
+.I mk_dflt_btn
+attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in
+.I flags, valueXXX
+specifies the button to be used; otherwise,
+.I valueXXX
+specifies the amount to be added to the current default button. In either case,
+illegal button choices are wrapped back around into range. Xkb provides macros,
+to convert between the integer and signed character values in XkbPtrDfltAction
+structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrDfltAction {
+ unsigned char type; /\(** XkbSA_SetPtrDflt */
+ unsigned char flags; /\(** controls the pointer button number */
+ unsigned char affect; /\(** XkbSA_AffectDfltBtn */
+ char valueXXX; /\(** new default button member */
+ } XkbPtrDfltAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSASetScreen.man b/libX11/man/xkb/XkbSASetScreen.man
new file mode 100644
index 000000000..5a4dc22cc
--- /dev/null
+++ b/libX11/man/xkb/XkbSASetScreen.man
@@ -0,0 +1,109 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSASetScreen __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSASetScreen \- Sets the screenXXX field of act from s
+.SH SYNOPSIS
+.B void XkbSASetScreen macro
+(
+.I act,
+.I s
+)
+.br
+ XkbSwitchScreenAction \fIact\fP\^;
+.br
+ int \fIs\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set screenXXX
+.TP
+.I \- s
+value to set in screenXXX
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbSwitchScreen action structure change the active
+screen on a multiscreen display.
+
+The
+.I type
+field of the XkbSwitchScreenAction structure should always be
+XkbSA_SwitchScreen.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Switch Screen Action Flags
+_
+Flag Meaning
+_
+XkbSA_SwitchAbsolute T{
+If set, the screenXXX field represents the index of the new screen. Otherwise,
+it represents an offset from the current screen to the new screen.
+T}
+XkbSA_SwitchApplication T{
+If not set, the action should switch to another screen on the same server.
+Otherwise, it should switch to another X server or application that shares the
+same physical display.
+T}
+.TE
+
+The
+.I screenXXX
+field is a signed character value that represents either the relative or
+absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in
+the
+.I flags
+field. Xkb provides the following macros to convert between the integer and
+signed character value for screen numbers in XkbSwitchScreenAction structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbSwitchScreenAction {
+ unsigned char type; /\(** XkbSA_SwitchScreen */
+ unsigned char flags; /\(** controls screen switching */
+ char screenXXX; /\(** screen number or delta */
+ } XkbSwitchScreenAction;
+
+.fi
+.SH NOTES
+.LP
+This action is optional. Servers are free to ignore the action or any of its
+flags if they do not support the requested behavior. If the action is ignored,
+it behaves like XkbSA_NoAction. Otherwise, key press and key release events do
+not generate an event.
diff --git a/libX11/man/xkb/XkbSelectEventDetails.man b/libX11/man/xkb/XkbSelectEventDetails.man
new file mode 100644
index 000000000..85f8cf705
--- /dev/null
+++ b/libX11/man/xkb/XkbSelectEventDetails.man
@@ -0,0 +1,163 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSelectEventDetails __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSelectEventDetails \- Selects or deselects for a specific Xkb event and
+optionally places conditions on when events of that type are reported to your
+client
+.SH SYNOPSIS
+.B Bool XkbSelectEventDetails
+(
+.I display,
+.I device_spec,
+.I event_type,
+.I bits_to_change,
+.I values_for_bits
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIevent_type\fP\^;
+.br
+ unsigned long int \fIbits_to_change\fP\^;
+.br
+ unsigned long int \fIvalues_for_bits\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I event_type
+Xkb event type of interest
+.TP
+.I bits_to_change
+determines events to be selected / deselected
+.TP
+.I values_for_bits
+1=>select, 0->deselect; for events in bits_to_change
+.SH DESCRIPTION
+.LP
+Xkb events are selected using an event mask, much the same as normal core X
+events are selected. However, unlike selecting core X events, where you must
+specify the selection status (on or off) for all possible event types whenever
+you wish to change the selection criteria for any one event, Xkb allows you to
+restrict the specification to only the event types you wish to change. This
+means that you do not need to remember the event selection values for all
+possible types each time you want to change one of them.
+
+Many Xkb event types are generated under several different circumstances. When
+selecting to receive an Xkb event, you may specify either that you want it
+delivered under all circumstances, or that you want it delivered only for a
+subset of the possible circumstances.
+
+You can also deselect an event type that was previously selected for, using the
+same granularity.
+
+Xkb provides two functions to select and deselect delivery of Xkb events.
+.I XkbSelectEvents
+allows you to select or deselect delivery of more than one Xkb event type at
+once. Events selected using
+.I XkbSelectEvents
+are delivered to your program under all circumstances that generate the events.
+To restrict delivery of an event to a subset of the conditions under which it
+occurs, use
+.I XkbSelectEventDetails. XkbSelectEventDetails
+only allows you to change the selection conditions for a single event at a time,
+but it provides a means of fine-tuning the conditions under which the event is
+delivered.
+
+To select or deselect for a specific Xkb event and optionally place conditions
+on when events of that type are reported to your client, use
+.I XkbSelectEventDetails.
+This allows you to exercise a finer granularity of
+control over delivery of Xkb events with
+.I XkbSelectEvents.
+
+While
+.I XkbSelectEvents
+allows multiple events to be selected,
+.I XkbSelectEventDetails
+changes the selection criteria for a single type of Xkb
+event. The interpretation of the
+.I bits_to_change
+and
+.I values_for_bits
+masks depends on the event type in question.
+
+.I XkbSelectEventDetails
+changes the Xkb event selection mask for the keyboard
+specified by
+.I device_spec
+and the Xkb event specified by
+.I event_type.
+To turn on event selection for an event detail, set the bit for the
+detail in the
+.I bits_to_change
+parameter and set the corresponding bit in the
+.I values_for_bits
+parameter. To turn off event detail selection for a detail, set
+the bit for the detail in the
+.I bits_to_change
+parameter and do not set the corresponding bit in the
+.I values_for_bits
+parameter.
+
+If an invalid event type is specified, a BadValue protocol error results. If a
+bit is not set in the
+.I bits_to_change
+parameter, but the corresponding bit is set in the
+.I values_for_bits
+parameter, a BadMatch protocol error results. If an undefined
+bit is set in either the
+.I bits_to_change
+or the
+.I values_for_bits
+parameter, a BadValue protocol error results.
+
+For each type of Xkb event, the legal event details that you can specify in the
+.I XkbSelectEventDetails
+request are listed in the chapters that describe each event in detail.
+.SH DIAGNOSTICS
+.TP 15
+.SM BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.SM BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbSelectEvents (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSelectEvents.man b/libX11/man/xkb/XkbSelectEvents.man
new file mode 100644
index 000000000..cb302c7dd
--- /dev/null
+++ b/libX11/man/xkb/XkbSelectEvents.man
@@ -0,0 +1,186 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSelectEvents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSelectEvents \- Selects and / or deselects for delivery of one or more Xkb
+events and has them delivered under all conditions
+.SH SYNOPSIS
+.B Bool XkbSelectEvents
+(
+.I display,
+.I device_spec,
+.I bits_to_change,
+.I values_for_bits
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned long int \fIbits_to_change\fP\^;
+.br
+ unsigned long int \fIvalues_for_bits\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I bits_to_change
+determines events to be selected / deselected
+.TP
+.I values_for_bits
+1=>select, 0->deselect; for events in bits_to_change
+.SH DESCRIPTION
+.LP
+Xkb events are selected using an event mask, much the same as normal core X
+events are selected. However, unlike selecting core X events, where you must
+specify the selection status (on or off) for all possible event types whenever
+you wish to change the selection criteria for any one event, Xkb allows you to
+restrict the specification to only the event types you wish to change. This
+means that you do not need to remember the event selection values for all
+possible types each time you want to change one of them.
+
+Many Xkb event types are generated under several different circumstances. When
+selecting to receive an Xkb event, you may specify either that you want it
+delivered under all circumstances, or that you want it delivered only for a
+subset of the possible circumstances.
+
+You can also deselect an event type that was previously selected for, using the
+same granularity.
+
+Xkb provides two functions to select and deselect delivery of Xkb events.
+.I XkbSelectEvents
+allows you to select or deselect delivery of more than one Xkb
+event type at once. Events selected using
+.I XkbSelectEvents
+are delivered to your program under all circumstances that generate the events.
+To restrict delivery of an event to a subset of the conditions under which it
+occurs, use
+.I XkbSelectEventDetails. XkbSelectEventDetails
+only allows you to change the selection conditions for a single event at a time,
+but it provides a means of fine-tuning the conditions under which the event is
+delivered.
+
+This request changes the Xkb event selection mask for the keyboard specified by
+.I device_spec.
+
+Each Xkb event that can be selected is represented by a bit in the
+.I bits_to_change
+and
+.I values_for_bits
+masks. Only the event selection bits specified by the
+.I bits_to_change
+parameter are affected; any unspecified bits are left unchanged. To turn on
+event selection for an event, set the bit for the event in the
+.I bits_to_change
+parameter and set the corresponding bit in the
+.I values_for_bits
+parameter. To turn off event selection for an event, set the bit for the event
+in the
+.I bits_to_change
+parameter and do not set the corresponding bit in the
+.I values_for_bits
+parameter. The valid values for both of these parameters are an inclusive
+bitwise OR of the masks shown in Table 1. There is no interface to return your
+client's current event selection mask. Clients cannot set other clients' event
+selection masks.
+
+The X server reports the events defined by Xkb to your client application only
+if you have requested them via a call to
+.I XkbSelectEvents
+or
+.I XkbSelectEventDetails.
+Specify the event types in which you are interested in a mask.
+
+Table 1 lists the event mask constants that can be specified with the
+.I XkbSelectEvents
+request and the circumstances in which the mask should be specified.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 XkbSelectEvents Mask Constants
+_
+Event Mask Value Notification Wanted
+_
+XkbNewKeyboardNotifyMask (1L<<0) Keyboard geometry change
+XkbMapNotifyMask (1L<<1) Keyboard mapping change
+XkbStateNotifyMask (1L<<2) Keyboard state change
+XkbControlsNotifyMask (1L<<3) Keyboard control change
+XkbIndicatorStateNotifyMask (1L<<4) Keyboard indicator state change
+XkbIndicatorMapNotifyMask (1L<<5) Keyboard indicator map change
+XkbNamesNotifyMask (1L<<6) Keyboard name change
+XkbCompatMapNotifyMask (1L<<7) Keyboard compat map change
+XkbBellNotifyMask (1L<<8) Bell
+XkbActionMessageMask (1L<<9) Action message
+XkbAccessXNotifyMask (1L<<10) AccessX features
+XkbExtensionDeviceNotifyMask (1L<<11) Extension device
+XkbAllEventsMask (0xFFF) All Xkb events
+.TE
+
+If a bit is not set in the
+.I bits_to_change
+parameter, but the corresponding bit is set in the
+.I values_for_bits
+parameter, a BadMatch protocol error results. If an undefined bit is set in
+either the
+.I bits_to_change
+or the
+.I values_for_bits
+parameter, a BadValue protocol error results.
+
+All event selection bits are initially zero for clients using the Xkb extension.
+Once you set some bits, they remain set for your client until you clear them via
+another call to
+.I XkbSelectEvents.
+
+.I XkbSelectEvents
+returns False if the Xkb extension has not been initilialized and True
+otherwise.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSelectEvents
+function returns True if the Xkb extension has been initilialized.
+.TP 15
+False
+The
+.I XkbSelectEvents
+function returns False if the Xkb extension has not been initilialized.
+.SH "SEE ALSO"
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetAccessXTimeout.man b/libX11/man/xkb/XkbSetAccessXTimeout.man
new file mode 100644
index 000000000..fd7d6248d
--- /dev/null
+++ b/libX11/man/xkb/XkbSetAccessXTimeout.man
@@ -0,0 +1,215 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetAccessXTimeout \- Configures the AccessXTimeout options for a keyboard
+device
+.SH SYNOPSIS
+.B Bool XkbSetAccessXTimeout
+(
+.I display,
+.I device_spec,
+.I timeout,
+.I ctrls_mask,
+.I ctrls_values,
+.I opts_mask,
+.I opts_values
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned short \fI timeout \fP\^;
+.br
+ unsigned int \fI ctrls_mask \fP\^;
+.br
+ unsigned int \fI ctrls_values \fP\^;
+.br
+ unsigned short \fI opts_mask \fP\^;
+.br
+ unsigned short \fI opts_values \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device to configure, or XkbUseCoreKbd
+.TP
+.I \- timeout
+seconds idle until AccessXTimeout occurs
+.TP
+.I \- ctrls_mask
+boolean controls to modify
+.TP
+.I \- ctrls_values
+new bits for controls selected by ctrls_mask
+.TP
+.I \- opts_mask
+ax_options to change
+.TP
+.I \- opts_values
+new bits for ax_options selected by opts_mask
+.SH DESCRIPTION
+.LP
+In environments where computers are shared, features such as SlowKeys present a
+problem: if SlowKeys is on, the keyboard can appear to be unresponsive because
+keys are not accepted until they are held for a certain period of time. To help
+solve this problem, Xkb provides an AccessXTimeout control to automatically
+change the enabled/disabled state of any boolean controls and to change the
+value of the AccessXKeys and AccessXFeedback control attributes if the keyboard
+is idle for a specified period of time.
+
+When a timeout as specified by AccessXTimeout occurs and a control is
+consequently modified, Xkb generates an XkbControlsNotify event. For more
+information on XkbControlsNotify events.
+
+.I timeout
+specifies the number of seconds the keyboard must be idle before the controls
+are modified.
+.I ctrls_mask
+specifies what controls are to be enabled or disabled, and
+.I ctrls_values
+specifies whether those controls are to be enabled or disabled. The bit values
+correspond to those for enabling and disabling boolean controls using
+.I XkbChangeEnabledControls.
+ The
+.I opts_mask
+field specifies which attributes of the AccessXKeys and AccessXFeedback controls
+are to be changed, and
+.I opts_values
+specifies the new values for those options. The bit values correspond to those
+for the
+.I ax_options
+field of an XkbDescRec.
+
+.I XkbSetAccessXTimeout
+sends a request to configure the AccessXTimeout control to the server. It does
+not wait for a reply, and normally returns True. If a compatible version of the
+Xkb extension is not available in the server,
+.I XkbSetAccessXTimeout
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetAccessXTimeout
+function returns True when a compatible version of the Xkb extension is available in the server.
+.TP 15
+False
+The
+.I XkbSetAccessXTimeout
+function returns False when a compatible version of the Xkb extension is not available in the server.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function calls to
+indicate that the structure should be manipulated in some manner, such as allocating it
+or freeing it. These masks and their relationships to the fields in the XkbDescRec are
+shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The structure for the XkbControlsNotify event is defined as follows:
+.nf
+
+ typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbCompatMapNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed_ctrls; /\(** bits indicating which controls data have changed*/
+ unsigned int enabled_ctrls; /\(** controls currently enabled in server */
+ unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled controls */
+ int num_groups; /\(** current number of keyboard groups */
+ KeyCode keycode; /\(** != 0 => keycode of key causing change */
+ char event_type; /\(** Type of event causing change */
+ char req_major; /\(** major event code of event causing change */
+ char req_minor; /\(** minor event code of event causing change */
+ } XkbControlsNotifyEvent;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeEnabledControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetAutoRepeatRate.man b/libX11/man/xkb/XkbSetAutoRepeatRate.man
new file mode 100644
index 000000000..1334c0598
--- /dev/null
+++ b/libX11/man/xkb/XkbSetAutoRepeatRate.man
@@ -0,0 +1,114 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetAutoRepeatRate \- Sets the attributes of the RepeatKeys control for a
+keyboard device
+.SH SYNOPSIS
+.B Bool XkbSetAutoRepeatRate
+(
+.I display,
+.I device_spec,
+.I timeout,
+.I interval
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ unsigned int \fI timeout \fP\^;
+.br
+ unsigned int \fI interval \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device to configure, or XkbUseCoreKbd
+.TP
+.I \- timeout
+initial delay, ms
+.TP
+.I \- interval
+delay between repeats, ms
+.SH DESCRIPTION
+.LP
+The core protocol allows only control over whether or not the entire keyboard or
+individual keys should auto-repeat when held down. RepeatKeys is a boolean
+control that extends this capability by adding control over the delay until a
+key begins to repeat and the rate at which it repeats. RepeatKeys is coupled
+with the core auto-repeat control: when RepeatKeys is enabled or disabled, the
+core auto-repeat is enabled or disabled and vice versa.
+
+Auto-repeating keys are controlled by two attributes. The first,
+.I timeout,
+is the delay after the initial press of an auto-repeating key and the first
+generated repeat event. The second,
+.I interval,
+is the delay between all subsequent generated repeat events. As with all boolean
+controls, configuring the attributes that determine how the control operates
+does not automatically enable the control as a whole.
+
+.I XkbSetAutoRepeatRate
+sends a request to the X server to configure the AutoRepeat control attributes
+to the values specified in
+.I timeout
+and
+.I interval.
+
+.I XkbSetAutoRepeatRate
+does not wait for a reply; it normally returns True. Specifying a zero value for
+either
+.I timeout
+or
+.I interval
+causes the server to generate a BadValue protocol error. If a compatible version
+of the Xkb extension is not available in the server,
+.I XkbSetAutoRepeatRate
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetAutoRepeatRate
+function returns True normally.
+.TP 15
+False
+The
+.I XkbSetAutoRepeatRate
+function returns False if a compatible version of the Xkb extension is not
+available in the server.
+.SH DIAGNOSTICS
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbSetAutoResetControls.man b/libX11/man/xkb/XkbSetAutoResetControls.man
new file mode 100644
index 000000000..5c7765177
--- /dev/null
+++ b/libX11/man/xkb/XkbSetAutoResetControls.man
@@ -0,0 +1,116 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetAutoResetControls \- Changes the current values of the AutoReset control
+attributes
+.SH SYNOPSIS
+.B Bool XkbSetAutoResetControls
+(
+.I dpy,
+.I changes,
+.I auto_ctrls,
+.I auto_values
+)
+.br
+ Display *\fI dpy \fP\^;
+.br
+ unsigned int \fI changes \fP\^;
+.br
+ unsigned int *\fI auto_ctrls \fP\^;
+.br
+ unsigned int *\fI auto_values \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- changes
+controls for which to change auto-reset values
+.TP
+.I \- auto_ctrls
+controls from changes that should auto reset
+.TP
+.I \- auto_values
+1 bit => auto-reset on
+.SH DESCRIPTION
+.LP
+.I XkbSetAutoResetControls
+changes the auto-reset status and associated auto-reset values for the controls
+selected by
+.I changes.
+For any control selected by
+.I changes,
+if the corresponding bit is set in
+.I auto_ctrls,
+the control is configured to auto-reset when the client exits. If the
+corresponding bit in
+.I auto_values
+is on, the control is turned on when the client exits; if zero, the control is
+turned off when the client exits. For any control selected by
+.I changes,
+if the corresponding bit is not set in
+.I auto_ctrls,
+the control is configured to not reset when the client exits.
+
+For example:
+
+.nf
+To leave the auto-reset controls for StickyKeys the way they are:
+
+ ok = XkbSetAutoResetControls(dpy, 0, 0, 0);
+
+To change the auto-reset controls so that StickyKeys are unaffected when the
+client exits:
+
+ ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, 0, 0);
+
+To change the auto-reset controls so that StickyKeys are turned off when the
+client exits:
+
+ ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask, 0);
+
+To change the auto-reset controls so that StickyKeys are turned on when the
+client exits:
+
+ ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask,
+XkbStickyKeysMask);
+
+.fi
+.I XkbSetAutoResetControls
+backfills
+.I auto_ctrls
+and
+.I auto_values
+with the auto-reset controls for this particular client. Note that all of the
+bits are valid in the returned values, not just the ones selected in the
+.I changes
+mask.
diff --git a/libX11/man/xkb/XkbSetBounceKeysDelay.man b/libX11/man/xkb/XkbSetBounceKeysDelay.man
new file mode 100644
index 000000000..a4cfc2629
--- /dev/null
+++ b/libX11/man/xkb/XkbSetBounceKeysDelay.man
@@ -0,0 +1,221 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetBounceKeysDelay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetBounceKeysDelay \- Sets the BounceKeys delay for a keyboard device
+.SH SYNOPSIS
+.B Bool XkbSetBounceKeysDelay
+(
+.I display,
+.I device_spec,
+.I delay
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int *\fIdelay\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- delay
+backfilled with bounce keys delay, ms
+.SH DESCRIPTION
+.LP
+The server can generate XkbAccessXNotify events for some of the global keyboard
+controls.
+The detail field describes what AccessX event just occurred and can be any of
+the values in
+Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 AccessXNotify Events
+_
+detail Reason
+_
+XkbAXN_SKPress T{
+A key was pressed when SlowKeys was enabled.
+T}
+XkbAXN_SKAccept T{
+A key was accepted (held longer than the SlowKeys delay).
+T}
+XkbAXN_SKRelease T{
+An accepted SlowKeys key was released.
+T}
+XkbAXN_SKReject T{
+A key was rejected (released before the SlowKeys delay expired).
+T}
+XkbAXN_BKAccept T{
+A key was accepted by BounceKeys.
+T}
+XkbAXN_BKReject T{
+A key was rejected (pressed before the BounceKeys delay expired).
+T}
+XkbAXN_AXKWarning T{
+AccessXKeys is about to turn on/off StickyKeys or BounceKeys.
+T}
+.TE
+
+The
+.I keycode
+field reports the keycode of the key for which the event occurred. If the action
+is related to
+.I SlowKeys,
+the
+.I slowKeysDelay
+field contains the current SlowKeys acceptance delay. If the action is related
+to BounceKeys,
+the
+.I debounceDelay
+field contains the current BounceKeys debounce delay.
+
+Selecting for AccessX Events
+
+To receive XkbAccessXNotify events under all possible conditions, use
+.I XkbSelectEvents
+and pass XkbAccesXNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbStateNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbAccessXNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 2.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 2 AccessXNotify Event Details
+_
+XkbAccessXNotify Event Details Value Circumstances
+_
+XkbAXN_SKPressMask (1<<0) T{
+Slow key press notification wanted
+T}
+XkbAXN_SKAcceptMask (1<<1) T{
+Slow key accept notification wanted
+T}
+XkbAXN_SKRejectMask (1<<2) T{
+Slow key reject notification wanted
+T}
+XkbAXN_SKReleaseMask (1<<3) T{
+Slow key release notification wanted
+T}
+XkbAXN_BKAcceptMask (1<<4) T{
+Bounce key accept notification wanted
+T}
+XkbAXN_BKRejectMask (1<<5) T{
+Bounce key reject notification wanted
+T}
+XkbAXN_AXKWarningMask (1<<6) T{
+AccessX warning notification wanted
+T}
+XkbAXN_AllEventsMask (0x7f) T{
+All AccessX features notifications wanted
+T}
+.TE
+
+Some users may accidentally "bounce" on a key when they release it. They press
+it once, then accidentally press it again after they release it. The BounceKeys
+control temporarily disables a key after it has been pressed, effectively
+"debouncing" the keyboard. The period of time the key is disabled after it is
+released is known as the
+.I BounceKeys delay.
+BounceKeys is a boolean control.
+
+When the BounceKeys control is active, the server reports acceptance or
+rejection of any key to interested clients by sending an appropriate
+AccessXNotify event.
+
+.I XkbSetBounceKeysDelay
+sends a request to configure the BounceKeys control to the server. It does not
+wait for a reply and normally returns True. Specifying a value of zero for the
+delay parameter causes
+.I XkbSetBounceKeysDelay
+to generate a BadValue protocol error. If a compatible version of the Xkb
+extension is not available in the server,
+.I XkbSetBounceKeysDelay
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetBounceKeysDelay
+function returns True when it sends a request to configure the BounceKeys
+control to the server.
+.TP 15
+False
+The
+.I XkbSetBounceKeysDelay
+function returns False if a compatible version of the Xkb extension is not
+available in the server.
+.SH STRUCTURES
+.LP
+The structure for the XkbAccessXNotify event type is as follows:
+
+.nf
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbAccessXNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int detail; /\(** XkbAXN_* */
+ KeyCode keycode; /\(** key of event */
+ int slowKeysDelay; /\(** current SlowKeys delay */
+ int debounceDelay; /\(** current debounce delay */
+} XkbAccessXNotifyEvent;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbSetCompatMap.man b/libX11/man/xkb/XkbSetCompatMap.man
new file mode 100644
index 000000000..96e374293
--- /dev/null
+++ b/libX11/man/xkb/XkbSetCompatMap.man
@@ -0,0 +1,219 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetCompatMap \- Modify the server's compatibility map
+.SH SYNOPSIS
+.B Bool XkbSetCompatMap
+(
+.I display,
+.I which,
+.I xkb,
+.I update_actions
+)
+.br
+ Display * \fIdisplay\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ Bool \fIupdate_actions\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to server
+.TP
+.I \- which
+mask of compat map components to set
+.TP
+.I \- xkb
+source for compat map components
+.TP
+.I \- update_actions
+True => apply to server's keyboard map
+.SH DESCRIPTION
+.LP
+To modify the server's compatibility map, first modify a local copy of the Xkb
+compatibility map, then call
+.I XkbSetCompatMap.
+You may allocate a new compatibility map for this purpose using
+.I XkbAllocCompatMap.
+You may also use a compatibility map from another server, although you need to
+adjust the
+.I device_spec
+field in the XkbDescRec accordingly. Note that symbol interpretations in a
+compatibility map (
+.I sym_interpret,
+the vector of XkbSymInterpretRec structures) are also allocated using this same
+function.
+
+.I XkbSetCompatMap
+copies compatibility map information from the keyboard description in
+.I xkb
+to the server specified in
+.I display
+'s compatibility map for the device specified by the
+.I device_spec
+field of
+.I xkb.
+Unless you have specifically modified this field, it is the default keyboard
+device.
+.I which
+specifies the compatibility map components to be set, and is an inclusive OR of
+the bits shown in Table 1.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+After updating its compatibility map for the specified device, if
+.I update_actions
+is True, the server applies the new compatibility map to its entire keyboard for
+the device to generate a new set of key semantics, compatibility state, and a
+new core keyboard map. If
+.I update_actions
+is False, the new compatibility map is not used to generate any modifications to
+the current device semantics, state, or core keyboard map. One reason for not
+applying the compatibility map immediately would be if one server was being
+configured to match another on a piecemeal basis; the map should not be applied
+until everything is updated. To force an update at a later time, use
+.I XkbSetCompatMap
+specifying
+.I which
+as zero and
+.I update_actions
+as True.
+
+.I XkbSetCompatMap
+returns True if successful and False if unsuccessful. The server may report
+problems it encounters when processing the request subsequently via protocol
+errors.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetCompatMap
+function returns True if successful.
+.TP 15
+False
+The
+.I XkbSetCompatMap
+function returns False if unsuccessful.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The XkbSymInterpretRec structure specifies a symbol interpretation:
+.nf
+
+ typedef struct {
+ KeySym sym; /\(** keysym of interest or NULL */
+ unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */
+ unsigned char match; /\(** specifies how mods is interpreted */
+ unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */
+ unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */
+ XkbAnyAction act; /\(** action to bind to symbol position on key */
+ } XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocCompatMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetControls.man b/libX11/man/xkb/XkbSetControls.man
new file mode 100644
index 000000000..caf662b4d
--- /dev/null
+++ b/libX11/man/xkb/XkbSetControls.man
@@ -0,0 +1,181 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetControls \- Copies changes to the X server based on a modified ctrls
+structure in a local copy of the keyboard description
+.SH SYNOPSIS
+.B Bool XkbSetControls
+(
+.I display,
+.I which,
+.I xkb
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned long \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask of controls requested
+.TP
+.I \- xkb
+keyboard description for controls information
+.SH DESCRIPTION
+.LP
+For each bit that is set in the
+.I which
+parameter,
+.I XkbSetControls
+sends the corresponding values from the
+.I xkb->ctrls
+field to the server. Valid values for
+.I which
+are any combination of the masks listed in Table 1 that have "ok" in the
+.I which
+column.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+If
+.I xkb->ctrls
+is NULL, the server does not support a compatible version of Xkb, or the Xkb
+extension has not been properly initialized,
+.I XkbSetControls
+returns False. Otherwise, it sends the request to the X server and returns True.
+
+Note that changes to attributes of controls in the XkbControlsRec structure are
+apparent only when the associated control is enabled, although the corresponding
+values are still updated in the X server. For example, the
+.I repeat_delay
+and
+.I repeat_interval
+fields are ignored unless the RepeatKeys control is enabled (that is, the X
+server's equivalent of
+.I xkb->ctrls
+has XkbRepeatKeyMask set in
+.I enabled_ctrls).
+It is permissible to modify the attributes of a control in one call to
+.I XkbSetControls
+and enable the control in a subsequent call. See
+.I XkbChangeEnabledControls
+for more information on enabling and disabling controls.
+
+Note that the
+.I enabled_ctrls
+field is itself a control - the EnabledControls control. As such, to set a
+specific configuration of enabled and disabled boolean controls, you must set
+.I enabled_ctrls
+to the appropriate bits to enable only the controls you want and disable all
+others, then specify the XkbControlsEnabledMask in a call to
+.I XkbSetControls.
+
+Because this is somewhat awkward if all you want to do is enable and disable
+controls, and not modify any of their attributes, a convenience function is also
+provided for this purpose,
+.I XkbChangeEnabledControls.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetControls
+function returns True when it sends the request to the X server.
+.TP 15
+False
+The
+.I XkbSetControls
+function returns False when
+.I xkb->ctrls
+is NULL, the server does not support a compatible version of Xkb, or the Xkb
+extension has not been properly initialized.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbFreeControls (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbSetDebuggingFlags.man b/libX11/man/xkb/XkbSetDebuggingFlags.man
new file mode 100644
index 000000000..c877d3208
--- /dev/null
+++ b/libX11/man/xkb/XkbSetDebuggingFlags.man
@@ -0,0 +1,193 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetDebuggingFlags __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetDebuggingFlags \- Change the values of any of the debug controls
+.SH SYNOPSIS
+.B Bool XkbSetDebuggingFlags
+(
+.I display,
+.I mask,
+.I flags,
+.I msg,
+.I ctrls_mask,
+.I ctrls,
+.I ret_flags,
+.I ret_ctrls
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fImask\fP\^;
+.br
+ unsigned int \fIflags\fP\^;
+.br
+ char *\fImsg\fP\^;
+.br
+ unsigned int \fIctrls_mask\fP\^;
+.br
+ unsigned int \fIctrls\fP\^;
+.br
+ unsigned int *\fIret_flags\fP\^;
+.br
+ unsigned int *\fIret_ctrls\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- mask
+mask selecting debug output flags to change
+.TP
+.I \- flags
+values for debug output flags selected by mask
+.TP
+.I \- msg
+message to print right now
+.TP
+.I \- ctrls_mask
+mask selecting debug controls to change
+.TP
+.I \- ctrls
+values for debug controls selected by ctrls_mask
+.TP
+.I \- ret_flags
+resulting state of all debug output flags
+.TP
+.I \- ret_ctrls
+resulting state of all debug controls
+.SH DESCRIPTION
+.LP
+The debugging aids are intended for use primarily by Xkb implementors and are
+optional in any implementation.
+
+There are two bitmasks that may be used to control debugging. One bitmask
+controls the output of debugging information, and the other controls behavior.
+Both bitmasks are initially all zeros.
+
+To change the values of any of the debug controls, use
+.I XkbSetDebuggingFlags.
+
+.I XkbSetDebuggingFlags
+modifies the debug output flags as specified by
+.I mask
+and
+flags,
+modifies the debug controls flags as specified by
+.I ctrls_mask
+and
+ctrls,
+prints the message
+.I msg,
+and backfills
+.I ret_flags
+and
+.I ret_ctrls
+with the resulting debug output and debug controls flags.
+
+When bits are set in the debug output masks,
+.I mask
+and
+.I flags,
+Xkb prints debug information corresponding to each bit at appropriate points
+during its processing. The device to which the output is written is
+implementation-dependent, but is normally the same device to which X server
+error messages are directed; thus the bits that can be set in
+.I mask
+and
+.I flags
+is implementation-specific. To turn on a debug output selection, set the bit for
+the output in the
+.I mask
+parameter and set the corresponding bit in the
+.I flags
+parameter. To turn off event selection for an event, set the bit for the output
+in the
+.I mask
+parameter and do not set the corresponding bit in the
+.I flags
+parameter.
+
+When bits are set in the debug controls masks,
+.I ctrls_mask
+and
+.I ctrls,
+Xkb modifies its behavior according to each controls bit.
+.I ctrls_mask
+and
+ctrls
+are related in the same way that
+.I mask
+and
+.I flags
+are. The valid controls bits are defined in Table 1.
+
+.TS
+c s s
+l l l.
+Table 1 Debug Control Masks
+_
+Debug Control Mask Value Meaning
+_
+XkbDF_DisableLocks (1 << 0) Disable actions that lock modifiers
+.TE
+
+.I XkbSetDebuggingFlags
+returns True if successful and False otherwise. The only protocol error it may
+generate is BadAlloc, if for some reason it is unable to allocate storage.
+
+.I XkbSetDebuggingFlags
+is intended for developer use and may be disabled in production X servers. If it
+is disabled,
+.I XkbSetDebuggingFlags
+has no effect and does not generate any protocol errors.
+
+The message in
+.I msg
+is written immediately. The device to which it is written is implementation
+dependent but is normally the same device where X server error messages are
+directed.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetDebuggingFlags
+function returns True when successful.
+.TP 15
+False
+The
+.I XkbSetDebuggingFlags
+function returns False when not successful.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbSetDetectableAutorepeat.man b/libX11/man/xkb/XkbSetDetectableAutorepeat.man
new file mode 100644
index 000000000..9ba780bd9
--- /dev/null
+++ b/libX11/man/xkb/XkbSetDetectableAutorepeat.man
@@ -0,0 +1,119 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetDetectableAutorepeat __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetDetectableAutorepeat \- Sets DetectableAutorepeat
+.SH SYNTAX
+.B Bool XkbSetDetectableAutorepeat
+(
+.I display,
+.I detectable,
+.I supported_rtrn
+)
+.br
+ Display *\fI display \fP\^;
+.br
+ Bool \fI detectable \fP\^;
+.br
+ Bool *\fI supported_rtrn \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- detectable
+True => set DetectableAutorepeat
+.TP
+.I \- supported_rtrn
+backfilled True if DetectableAutorepeat supported
+.SH DESCRIPTION
+.LP
+Auto-repeat is the generation of multiple key events by a keyboard when the user
+presses a key and holds it down. Keyboard hardware and device-dependent X server
+software often implement auto-repeat by generating multiple KeyPress events with
+no intervening KeyRelease event. The standard behavior of the X server is to
+generate a KeyRelease event for every KeyPress event. If the keyboard hardware
+and device-dependent software of the X server implement auto-repeat by
+generating multiple KeyPress events, the device-independent part of the X server
+by default synthetically generates a KeyRelease event after each KeyPress event.
+This provides predictable behavior for X clients, but does not allow those
+clients to detect the fact that a key is auto-repeating.
+
+Xkb allows clients to request
+.I detectable auto-repeat.
+If a client requests and the server supports DetectableAutorepeat, Xkb generates
+KeyRelease events only when the key is physically released. If
+DetectableAutorepeat is not supported or has not been requested, the server
+synthesizes a KeyRelease event for each repeating KeyPress event it generates.
+
+DetectableAutorepeat, unlike other controls, is not contained in the
+XkbControlsRec structure, nor can it be enabled or disabled via the
+EnabledControls control. Instead, query and set DetectableAutorepeat using
+.I XkbGetDetectableAutorepeat
+and
+.I XkbSetDetectableAutorepeat.
+
+DetectableAutorepeat is a condition that applies to all keyboard devices for a
+client's connection to a given X server; it cannot be selectively set for some
+devices and not for others. For this reason, none of the Xkb library functions
+involving DetectableAutorepeat involve a device specifier.
+
+This request affects all keyboard activity for the requesting client only; other
+clients still see the expected nondetectable auto-repeat behavior, unless they
+have requested otherwise.
+
+.I XkbSetDetectableAutorepeat
+sends a request to the server to set DetectableAutorepeat on for the current
+client if
+.I detectable
+is True, and off if
+.I detectable
+is False; it then waits for a reply. If
+.I supported_rtrn
+is not NULL,
+.I XkbSetDetectableAutorepeat
+backfills
+.I supported_rtrn
+with True if the server supports DetectableAutorepeat, and False if it does not.
+.I XkbSetDetectableAutorepeat
+returns the current state of DetectableAutorepeat for the requesting client:
+True if DetectableAutorepeat is set, and False otherwise.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetDetectableAutorepeat
+function returns True if DetectableAutorepeat is set.
+.TP 15
+False
+The
+.I XkbSetDetectableAutorepeat
+function returns False if DetectableAutorepeat is not set.
diff --git a/libX11/man/xkb/XkbSetDeviceButtonActions.man b/libX11/man/xkb/XkbSetDeviceButtonActions.man
new file mode 100644
index 000000000..ebfc5230f
--- /dev/null
+++ b/libX11/man/xkb/XkbSetDeviceButtonActions.man
@@ -0,0 +1,112 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetDeviceButtonActions 3Xkb "Release 6.1" "X Version 11" "XKBLIB FUNCTION"
+.SH NAME
+XkbSetDeviceButtonActions \- Change only the button actions for an input extension device
+.SH SYNTAX
+.B Bool XkbSetDeviceButtonActions
+(
+.I dpy,
+.I device,
+.I first_button,
+.I num_buttons,
+.I actions
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ XkbDeviceInfoPtr \fIdevice\fP\^;
+.br
+ unsigned int \fIfirst_button\fP\^;
+.br
+ unsigned int \fInum_buttons\fP\^;
+.br
+ *** MISSING *** \fIactions\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device
+structure defining the device and modifications
+.TP
+.I \- first_button
+number of first button to update, 0 relative
+.TP
+.I \- num_buttons
+number of buttons to update
+.TP
+.I \- actions
+*** MISSING ***
+.SH DESCRIPTION
+.LP
+.I XkbSetDeviceButtonActions
+assigns actions to the buttons of the device specified in
+.I device_info->device_spec.
+Actions are assigned to
+.I num_buttons
+buttons beginning with
+.I first_button
+and are taken from the actions specified in
+.I device_info->btn_acts.
+
+If the server does not support assignment of Xkb actions to extension device buttons,
+.I XkbSetDeviceButtonActions
+has no effect and returns False. If the device has no buttons or if
+.I first_button
+or
+.I num_buttons
+specify buttons outside of the valid range as determined by
+.I device_info->num_btns,
+the function has no effect and returns False. Otherwise,
+.I XkbSetDeviceButtonActions
+sends a request to the server to change the actions for the specified buttons and returns
+True.
+
+If the actual request sent to the server involved illegal button numbers, a BadValue protocol
+error is generated. If an invalid device identifier is specified in
+.I device_info->device_spec,
+a BadKeyboard protocol error results. If the actual device specified in
+.I device_info->device_spec
+does not contain buttons and a request affecting buttons is made, a BadMatch protocol error is
+generated.
+.SH DIAGNOSTICS
+.TP 15
+.B BadKeyboard
+The device specified was not a valid core or input extension device
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type
+and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbSetDeviceInfo.man b/libX11/man/xkb/XkbSetDeviceInfo.man
new file mode 100644
index 000000000..593defcc1
--- /dev/null
+++ b/libX11/man/xkb/XkbSetDeviceInfo.man
@@ -0,0 +1,235 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetDeviceInfo \- Modify some or all of the characteristics of an X Input
+Extension device
+.SH SYNOPSIS
+.B Bool XkbSetDeviceInfo
+(
+.I dpy,
+.I which,
+.I device_info
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDeviceInfoPtr \fIdevice_info\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- which
+mask indicating characteristics to modify
+.TP
+.I \- device_info
+structure defining the device and modifications
+.SH DESCRIPTION
+.LP
+To change characteristics of an X Input Extension device in the server, first
+modify a local copy of the device structure and then use either
+.I XkbSetDeviceInfo,
+or, to save network traffic, use an XkbDeviceChangesRec structure and call
+.I XkbChangeDeviceInfo
+to download the changes to the server.
+
+.I XkbSetDeviceInfo
+sends a request to the server to modify the characteristics of the device
+specified in the
+.I device_info
+structure. The particular characteristics modified are identified by the bits
+set in
+.I which
+and take their values from the relevant fields in
+device_info (see Table 1). XkbSetDeviceInfo returns True if the request was
+successfully sent to the server. If the X server implementation does not allow
+interaction between the X input extension and the Xkb Extension, the function
+does nothing and returns False.
+.bp
+.nf
+ Table 1 XkbDeviceInfoRec Mask Bits
+____________________________________________________________________________________
+Name XkbDeviceInfoRec Value Capability If Set
+ Fields Effected
+____________________________________________________________________________________
+XkbXI_KeyboardsMask (1L <<0) Clients can use all
+ Xkb requests and events
+ with KeyClass devices
+ supported by the input
+ device extension.
+
+XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
+ btn_acts actions to buttons
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
+ names to indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
+ indicator maps to
+ indicators on
+ non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
+ the status of indicators
+ on non-KeyClass input
+ extension devices.
+
+XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
+ num_leds XkbXI_IndicatorMapsMask |
+ leds->* XkbXI_IndicatorStateMask
+
+XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
+
+XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
+ by Value Column XkbSI_ButtonActionsMask
+ masks
+
+XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
+ by Value Column XkbSI_KeyboardsMask
+ masks
+
+XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
+ by Value column XkbXI_UnsupportedFeaturesMask
+ masks
+.fi
+
+The
+.I which
+parameter specifies which aspects of the device should be changed and is a
+bitmask composed of an inclusive OR or one or more of the following bits:
+XkbXI_ButtonActionsMask, XkbXI_IndicatorNamesMask, XkbXI_IndicatorMapsMask. If
+the features requested to be manipulated in
+.I which
+are valid for the device, but the server does not support assignment of one or
+more of them, that particular portion of the request is ignored.
+
+If the device specified in
+.I device_info->device_spec
+does not contain buttons and a request affecting buttons is made, or the device
+does not contain indicators and a request affecting indicators is made, a
+BadMatch protocol error results.
+
+If the XkbXI_ButtonActionsMask bit is set in the
+.I supported
+mask returned by
+.I XkbGetDeviceInfo,
+the Xkb extension allows applications to assign key actions to buttons on input
+extension devices other than the core keyboard device. If the
+XkbXI_ButtonActionsMask is set in
+.I which,
+the actions for all buttons specified in
+.I device_info
+are set to the XkbActions specified in
+.I device_info->btn_acts.
+If the number of buttons requested to be updated is not valid for the device,
+.I XkbSetDeviceInfo
+returns False and a BadValue protocol error results.
+
+If the XkbXI_IndicatorMaps and / or XkbXI_IndicatorNamesMask bit is set in the
+.I supported
+mask returned by
+.I XkbGetDeviceInfo,
+the Xkb extension allows applications to assign maps and / or names to the
+indicators of nonkeyboard extension devices. If supported, maps and / or names
+can be assigned to all extension device indicators, whether they are part of a
+keyboard feedback or part of an indicator feedback.
+
+If the XkbXI_IndicatorMapsMask and / or XkbXI_IndicatorNamesMask flag is set in
+.I which,
+the indicator maps and / or names for all
+.I device_info->num_leds
+indicator devices specified in
+.I device_info->leds
+are set to the maps and / or names specified in
+.I device_info->leds. device_info->leds->led_class
+and
+.I led_id
+specify the input extension class and device ID for each indicator device to
+modify; if they have invalid values, a BadValue protocol error results and
+.I XkbSetDeviceInfo
+returns False. If they have legal values but do not specify a keyboard or
+indicator class feedback for the device in question, a BadMatch error results.
+If any of the values in
+.I device_info->leds->names
+are not a valid Atom or None, a BadAtom protocol error results.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetDeviceInfo
+function returns True if the request was successfully sent to the server.
+.TP 15
+False
+The
+.I XkbSetDeviceInfo
+function returns False if the X server implementation does not allow interaction
+between the X input extension and the Xkb Extension.
+.SH STRUCTURES
+.LP
+Changes to an Xkb extension device may be tracked by listening to
+XkbDeviceExtensionNotify events and accumulating the changes in an
+XkbDeviceChangesRec structure. The changes noted in the structure may then be
+used in subsequent operations to update either a server configuration or a local
+copy of an Xkb extension device configuration. The changes structure is defined
+as follows:
+.nf
+
+typedef struct _XkbDeviceChanges {
+ unsigned int changed; /\(** bits indicating what has changed */
+ unsigned short first_btn; /\(** number of first button which changed, if any */
+ unsigned short num_btns; /\(** number of buttons that have changed */
+ XkbDeviceLedChangesRec leds;
+} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeDeviceInfo (__libmansuffix__),
+.BR XkbGetDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetIgnoreLockMods.man b/libX11/man/xkb/XkbSetIgnoreLockMods.man
new file mode 100644
index 000000000..19684cf79
--- /dev/null
+++ b/libX11/man/xkb/XkbSetIgnoreLockMods.man
@@ -0,0 +1,214 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetIgnoreLockMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetIgnoreLockMods \- Sets the modifiers that, if locked, are not to be
+reported in matching events to passive grabs
+.SH SYNOPSIS
+.B Bool XkbSetIgnoreLockMods
+(
+.I display,
+.I device_spec,
+.I affect_real,
+.I real_values,
+.I affect_virtual,
+.I virtual_values
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIaffect_real\fP\^;
+.br
+ unsigned int \fIreal_values\fP\^;
+.br
+ unsigned int \fIaffect_virtual\fP\^;
+.br
+ unsigned int \fIvirtual_values\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- affect_real
+mask of real modifiers affected by this call
+.TP
+.I \- real_values
+values for affected real modifiers (1=>set, 0=>unset)
+.TP
+.I \- affect_virtual
+mask of virtual modifiers affected by this call
+.TP
+.I \- virtual_values
+values for affected virtual modifiers (1=>set, 0=>unset)
+.SH DESCRIPTION
+.LP
+The core protocol does not provide a way to exclude specific modifiers from grab
+calculations, with the result that locking modifiers sometimes have
+unanticipated side effects.
+
+The IgnoreLockMods control specifies modifiers that should be excluded from grab
+calculations. These modifiers are also not reported in any core events except
+KeyPress and KeyRelease events that do not activate a passive grab and that do
+not occur while a grab is active.
+
+Manipulate the IgnoreLockMods control via the
+.I ignore_lock
+field in the XkbControlsRec structure, then use
+.I XkbSetControls
+and
+.I XkbGetControls
+to query and change this control. Alternatively, use
+.I XkbSetIgnoreLockMods.
+
+.I XkbSetIgnoreLockMods
+sends a request to the server to change the server's IgnoreLockMods control.
+.I affect_real
+and
+.I real_values
+are masks of real modifier bits indicating which real modifiers are to be added
+and removed from the server's IgnoreLockMods control. Modifiers selected by both
+.I affect_real
+and
+.I real_values
+are added to the server's IgnoreLockMods control; those selected by
+.I affect_real
+but not by
+.I real_values
+are removed from the server's IgnoreLockMods control. Valid values for
+.I affect_real
+and
+.I real_values
+consist of any combination of the eight core modifier bits: ShiftMask, LockMask,
+ControlMask, Mod1Mask - Mod5Mask.
+.I affect_virtual
+and
+.I virtual_values
+are masks of virtual modifier bits indicating which virtual modifiers are to be
+added and removed from the server's IgnoreLockMods control. Modifiers selected
+by both
+.I affect_virtual
+and
+.I virtual_values
+are added to the server's IgnoreLockMods control; those selected by
+.I affect_virtual
+but not by
+.I virtual_values
+are removed from the server's IgnoreLockMods control. See below for a discussion
+of virtual modifier masks to use in
+.I affect_virtual
+and
+.I virtual_values. XkbSetIgnoreLockMods
+does not wait for a reply from the server. It returns True if the request was
+sent, and False otherwise.
+
+Virtual modifiers are named by converting their string name to an X Atom and
+storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also
+the index used when accessing virtual modifier information in arrays: the name
+in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb,
+various functions have a parameter that is a mask representing virtual modifier
+choices. In each case, the i-th bit (0 relative) of the mask represents the i-th
+virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component structures in the XkbDescRec represent the major Xkb components.
+.nf
+
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The display field points to an X display structure. The flags field is private
+to the library: modifying flags may yield unpredictable results. The device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The min_key_code
+and max_key_code fields specify the least and greatest keycode that can be
+returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to indicate that the structure should be manipulated in some manner, such
+as allocating it or freeing it. These masks and their relationships to the
+fields in the XkbDescRec are shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.SH "SEE ALSO"
+.BR XkbGetControls (__libmansuffix__),
+.BR XkbGetNames (__libmansuffix__),
+.BR XkbSetControls (__libmansuffix__),
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetIndicatorMap.man b/libX11/man/xkb/XkbSetIndicatorMap.man
new file mode 100644
index 000000000..978d6d46e
--- /dev/null
+++ b/libX11/man/xkb/XkbSetIndicatorMap.man
@@ -0,0 +1,194 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetIndicatorMap \- Downloads the changes to the server based on modifications
+to a local copy of the keyboard description which will update the maps for one
+or more indicators
+.SH SYNOPSIS
+.B Bool XkbSetIndicatorMap
+(
+.I dpy,
+.I which,
+.I desc
+)
+.br
+ Display *\fI dpy \fP\^;
+.br
+ unsigned int \fI which \fP\^;
+.br
+ XkbDescPtr \fI desc \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of indicators to change
+.TP
+.I \- desc
+keyboard description from which the maps are taken
+.SH DESCRIPTION
+.LP
+This section discusses the effects of explicitly changing indicators depending
+upon different settings in the indicator map. See Tables 1 and Table 2 for
+information on the effects of the indicator map fields when explicit changes are
+made.
+
+.TS
+c s s
+c s s
+l l l
+l l lw(3i).
+Table 1 XkbIndicatorMapRec which_groups and groups,
+Indicator Drives Keyboard
+_
+which_groups New State Effect on Keyboard Group State
+_
+XkbIM_UseNone On or Off No effect
+XkbIM_UseBase On or Off No effect
+XkbIM_UseLatched On T{
+The groups field is treated as a group mask. The keyboard group latch is changed
+to the lowest numbered
+group specified in groups; if groups is empty, the keyboard group latch is
+changed to zero.
+T}
+XkbIM_UseLatched Off T{
+The groups field is treated as a group mask. If the indicator is explicitly
+extinguished, keyboard group
+latch is changed to the lowest numbered group not specified in groups; if groups
+is zero, the keyboard
+group latch is set to the index of the highest legal keyboard group.
+T}
+XkbIM_UseLocked or
+.br
+XkbIM_UseEffective On T{
+If the groups mask is empty, group is not changed; otherwise, the locked
+keyboard group is changed to the
+lowest numbered group specified in groups.
+T}
+XkbIM_UseLocked or
+.br
+XkbIM_UseEffective Off T{
+Locked keyboard group is changed to the lowest numbered group that is not
+specified in the groups mask, or
+to Group1 if the groups mask contains all keyboard groups.
+T}
+
+.TE
+
+.TS
+c s s
+c s s
+l l l
+l l lw(3i).
+Table 2 XkbIidocatorMapRec which_mods and mods,
+Indicator Drives Keyboard
+_
+which_mods New State Effect on Keyboard Modifiers
+_
+XkbIM_UseNone or XkbIM_UseBase On or Off No Effect
+XkbIM_UseLatched On T{
+Any modifiers specified in the mask field of mods are added to the latched
+modifiers.
+T}
+XkbIM_UseLatched Off T{
+Any modifiers specified in the mask field of mods are removed from the latched
+modifiers.
+T}
+XkbIM_UseLocked, XkbIM_UseCompat, or XkbIM_UseEffective On T{
+Any modifiers specified in the mask field of mods are added to the locked
+modifiers.
+T}
+XkbIM_UseLocked Off T{
+Any modifiers specified in the mask field of mods are removed from the locked
+modifiers.
+T}
+XkbIM_UseCompat or XkbIM_UseEffective Off T{
+Any modifiers specified in the mask field of mods are removed from both the
+locked and latched modifiers.
+T}
+.TE
+
+If XkbIM_LEDDrivesKB is set and XkbIM_NoExplicit is not, and if you call a
+function that updates the server's image of the indicator map (such as
+.I XkbSetIndicatorMap
+or
+.I XkbSetNamedIndicator),
+ Xkb changes the keyboard state and controls to reflect the other fields of the
+indicator map. If you attempt to explicitly change the value of an indicator for
+which XkbIM_LEDDrivesKB is absent or for which XkbIM_NoExplicit is present,
+keyboard state or controls are unaffected.
+
+If neither XkbIM_NoAutomatic nor XkbIM_NoExplicit is set in an indicator map,
+Xkb honors any request to change the state of the indicator, but the new state
+might be immediately superseded by automatic changes to the indicator state if
+the keyboard state or controls change.
+
+The effects of changing an indicator that drives the keyboard are cumulative; it
+is possible for a single change to affect keyboard group, modifiers, and
+controls simultaneously.
+
+If you change an indicator for which both the XkbIM_LEDDrivesKB and
+XkbIM_NoAutomatic flags are specified, Xkb applies the keyboard changes
+specified in the other indicator map fields and changes the indicator to reflect
+the state that was explicitly requested. The indicator remains in the new state
+until it is explicitly changed again.
+
+If the XkbIM_NoAutomatic flag is not set and XkbIM_LEDDrivesKB is set, Xkb
+applies the changes specified in the other indicator map fields and sets the
+state of the indicator to the values specified by the indicator map. Note that
+it is possible in this case for the indicator to end up in a different state
+than the one that was explicitly requested. For example, Xkb does not extinguish
+an indicator with
+.I which_mods
+of XkbIM_UseBase and
+.I mods
+of Shift if, at the time Xkb processes the request to extinguish the indicator,
+one of the Shift keys is physically depressed.
+
+If you explicitly light an indicator for which XkbIM_LEDDrivesKB is set, Xkb
+enables all of the boolean controls specified in the
+.I ctrls
+field of its indicator map. Explicitly extinguishing such an indicator causes
+Xkb to disable all of the boolean controls specified in
+.I ctrls.
+
+For each bit set in the
+.I which
+parameter,
+.I XkbSetIndicatorMap
+sends the corresponding indicator map from the
+.I desc
+parameter to the server.
+.SH "SEE ALSO"
+.BR XkbSetNamedIndicator (__libmansuffix__) \ No newline at end of file
diff --git a/libX11/man/xkb/XkbSetMap.man b/libX11/man/xkb/XkbSetMap.man
new file mode 100644
index 000000000..f822cbf7b
--- /dev/null
+++ b/libX11/man/xkb/XkbSetMap.man
@@ -0,0 +1,397 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetMap \- Send a complete new set of values for entire components to the
+server.
+.SH SYNOPSIS
+.B Bool XkbSetMap
+(
+.I dpy,
+.I which,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- which
+mask selecting subcomponents to update
+.TP
+.I \- xkb
+description from which new values are taken
+.SH DESCRIPTION
+.LP
+There are two ways to make changes to map components: either change a local copy
+of the keyboard map and
+call
+.I XkbSetMap
+to send the modified map to the server, or, to reduce network traffic, use an
+XkbMapChangesRec structure
+and call
+.I XkbChangeMap.
+
+Use
+.I XkbSetMap
+to send a complete new set of values for entire components (for example, all
+symbols, all actions, and so
+on) to the server. The
+.I which
+parameter specifies the components to be sent to the server, and is a bitwise
+inclusive OR of the masks
+listed in Table 1. The
+.I xkb
+parameter is a pointer to an XkbDescRec structure and contains the information
+to be copied to the server.
+For each bit set in the
+.I which
+parameter,
+.I XkbSetMap
+takes the corresponding structure values from the
+.I xkb
+parameter and sends it to the server specified by
+.I dpy.
+
+If any components specified by
+.I which
+are not present in the
+.I xkb
+parameter,
+.I XkbSetMap
+returns False. Otherwise, it sends the update request to the server and returns
+True.
+.I XkbSetMap
+can generate BadAlloc, BadLength, and BadValue protocol errors.
+
+Key types, symbol maps, and actions are all interrelated; changes in one require
+changes in the others. Xkb
+provides functions to make it easier to edit these components and handle the
+interdependencies. Table 1
+lists these helper functions and provides a pointer to where they are defined.
+
+.TS
+c s s s s
+c s s s s
+l l l l l
+l l l l l
+lw(2i) l l lw(1i) lw(3i).
+Table 1 Xkb Mapping Component Masks
+and Convenience Functions
+_
+Mask Value Map Fields Convenience
+ Functions
+_
+T{
+XkbKeyTypesMask
+T} (1<<0) client T{
+types
+.br
+size_types
+.br
+num_types
+T} T{
+XkbGetKeyTypes
+.br
+XkbResizeKeyType
+.br
+XkbCopyKeyType
+.br
+XkbCopyKeyTypes
+T}
+T{
+XkbKeySymsMask
+T} (1<<1) client T{
+syms
+.br
+size_syms
+.br
+num_syms
+.br
+key_sym_map
+T} T{
+XkbGetKeySyms
+.br
+XkbResizeKeySyms
+.br
+XkbChangeTypesOfKey
+T}
+T{
+XkbModifierMapMask
+T} (1<<2) client modmap T{
+XkbGetKeyModifierMap
+T}
+T{
+XkbExplicitComponentsMask
+T} (1<<3) server T{
+explicit
+T} T{
+XkbGetKeyExplicitComponents
+T}
+T{
+XkbKeyActionsMask
+T} (1<<4) server T{
+key_acts
+.br
+acts
+.br
+num_acts
+.br
+size_acts
+T} T{
+XkbGetKeyActions
+.br
+XkbResizeKeyActions
+T}
+T{
+XkbKeyBehaviorsMask
+T} (1<<5) server T{
+behaviors
+T} T{
+XkbGetKeyBehaviors
+T}
+T{
+XkbVirtualModsMask
+T} (1<<6) server T{
+vmods
+T} T{
+XkbGetVirtualMods
+T}
+T{
+XkbVirtualModMapMask
+T} (1<<7) server T{
+vmodmap
+T} T{
+XkbGetVirtualModMap
+T}
+.TE
+
+The
+.I changed
+field identifies the map components that have changed in an XkbDescRec structure
+and may contain any of the
+bits in Table 1, which are also shown in Table 2. Every 1 bit in
+.I changed
+also identifies which other fields in the XkbMapChangesRec structure contain
+valid values, as indicated in
+Table 2. The
+.I min_key_code
+and
+.I max_key_code
+fields are for reference only; they are ignored on any requests sent to the
+server and are always updated
+by the server whenever it returns the data for an XkbMapChangesRec.
+.bp
+.TS
+c s s
+l l l
+l l l
+l l l
+l lw(2i) lw(3i).
+Table 2 XkbMapChangesRec Masks
+_
+ Valid
+Mask XkbMapChangesRec XkbDescRec Field Containing
+ Fields Changed Data
+_
+XkbKeyTypesMask first_type, map->type[first_type] ..
+ num_types map->type[first_type + num_types - 1]
+.sp
+XkbKeySymsMask first_key_sym, map->key_sym_map[first_key_sym] ..
+ num_key_syms map->key_sym_map[first_key_sym +
+ num_key_syms - 1]
+XkbModifierMapMask first_modmap_key, map->modmap[first_modmap_key] ..
+ num_modmap_keys map->modmap[first_modmap_key +
+ num_modmap_keys-1]
+XkbExplicitComponentsMask first_key_explicit,
+server->explicit[first_key_explicit] ..
+ num_key_explicit server->explicit[first_key_explicit +
+ num_key_explicit - 1]
+XkbKeyActionsMask first_key_act, server->key_acts[first_key_act] ..
+ num_key_acts server->key_acts[first_key_act +
+ num_key_acts - 1]
+XkbKeyBehaviorsMask first_key_behavior,
+server->behaviors[first_key_behavior] ..
+ num_key_behaviors server->behaviors[first_key_behavior +
+ num_key_behaviors - 1]
+XkbVirtualModsMask vmods server->vmods[*]
+XkbVirtualModMapMask first_vmodmap_key,
+server->vmodmap[first_vmodmap_key]
+ num_vmodmap_keys ..
+ server->vmodmap[first_vmodmap_key
+ + num_vmodmap_keys - 1]
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetMap
+function returns True all components specified by
+.I which
+are present in the
+.I xkb
+parameter.
+.TP 15
+False
+The
+.I XkbSetMap
+function returns False if any component specified by
+.I which
+is not present in the
+.I xkb
+parameter.
+.SH STRUCTURES
+.LP
+
+Use the XkbMapChangesRec structure to identify and track partial modifications
+to the mapping components
+and to reduce the amount of traffic between the server and clients.
+.nf
+
+typedef struct _XkbMapChanges {
+ unsigned short changed; /\(** identifies valid components in structure */
+ KeyCode min_key_code; /\(** lowest numbered keycode for device */
+ KeyCode max_key_code; /\(** highest numbered keycode for device */
+ unsigned char first_type; /\(** index of first key type modified */
+ unsigned char num_types; /\(** # types modified */
+ KeyCode first_key_sym; /\(** first key whose key_sym_map changed */
+ unsigned char num_key_syms; /\(** # key_sym_map entries changed */
+ KeyCode first_key_act; /\(** first key whose key_acts entry changed */
+ unsigned char num_key_acts; /\(** # key_acts entries changed */
+ KeyCode first_key_behavior; /\(** first key whose behaviors changed */
+ unsigned char num_key_behaviors; /\(** # behaviors entries changed */
+ KeyCode first_key_explicit; /\(** first key whose explicit entry changed */
+ unsigned char num_key_explicit; /\(** # explicit entries changed */
+ KeyCode first_modmap_key; /\(** first key whose modmap entry changed */
+ unsigned char num_modmap_keys; /\(** # modmap entries changed */
+ KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */
+ unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */
+ unsigned char pad1; /\(** reserved */
+ unsigned short vmods; /\(** mask indicating which vmods changed */
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+.fi
+
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 3.
+.bp
+.TS
+c s s
+l l l
+l l l.
+Table 3 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeMap (__libmansuffix__),
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbCopyKeyType (__libmansuffix__),
+.BR XkbCopyKeyTypes (__libmansuffix__),
+.BR XkbGetKeyActions (__libmansuffix__),
+.BR XkbGetKeyBehaviors (__libmansuffix__),
+.BR XkbGetKeyExplicitComponents (__libmansuffix__),
+.BR XkbGetKeyModifierMap (__libmansuffix__),
+.BR XkbGetKeySyms (__libmansuffix__),
+.BR XkbGetKeyTypes (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__),
+.BR XkbResizeKeyType (__libmansuffix__),
+.BR XkbGetVirtualModMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetModActionVMods.man b/libX11/man/xkb/XkbSetModActionVMods.man
new file mode 100644
index 000000000..3805be602
--- /dev/null
+++ b/libX11/man/xkb/XkbSetModActionVMods.man
@@ -0,0 +1,69 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetModActionVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetModActionVMods \- Sets the vmods1 and vmods2 fields of act using the vmods
+format of an Xkb modifier description
+.SH SYNOPSIS
+.B void XkbSetModActionVMods macro
+(
+.I act,
+.I vmods
+)
+.br
+ XkbAction \fIact\fP\^;
+.br
+ unsigned short \fIvmods\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set vmods
+.TP
+.I \- vmods
+virtual mods to set
+.SH DESCRIPTION
+.LP
+.I XkbSetModActionVMods
+sets the
+.I vmods1
+and
+.I vmods2
+fields of
+.I act
+using the
+.I vmods
+format of an Xkb modifier description.
+.SH NOTES
+.LP
+Despite the fact that the first parameter of these two macros is of type
+XkbAction, these macros may be used only with Actions of type XkbModAction and
+XkbISOAction.
diff --git a/libX11/man/xkb/XkbSetNamedIndicator.man b/libX11/man/xkb/XkbSetNamedIndicator.man
new file mode 100644
index 000000000..d21cb1643
--- /dev/null
+++ b/libX11/man/xkb/XkbSetNamedIndicator.man
@@ -0,0 +1,141 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetNamedIndicator \- Names an indicator if it is not already named; toggles
+the state of the indicator; sets the indicator to a specified state and sets the
+indicator map for the indicator
+.SH SYNOPSIS
+.B Bool XkbSetNamedIndicator
+(
+.I dpy,
+.I device_spec,
+.I name,
+.I change_state,
+.I state,
+.I create_new,
+.I map
+)
+.br
+ Display *\fI dpy \fP\^;
+.br
+ unsigned int \fI device_spec \fP\^;
+.br
+ Atom \fI name \fP\^;
+.br
+ Bool \fI change_state \fP\^;
+.br
+ Bool \fI state \fP\^;
+.br
+ Bool \fI create_new \fP\^;
+.br
+ XkbIndicatorMapPtr \fI map \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- name
+name of the indicator to change
+.TP
+.I \- change_state
+whether to change the indicator state or not
+.TP
+.I \- state
+desired new state for the indicator
+.TP
+.I \- create_new
+whether a new indicator with the specified name should be created when necessary
+.TP
+.I \- map
+new map for the indicator
+.SH DESCRIPTION
+.LP
+If a compatible version of the Xkb extension is not available in the server,
+.I XkbSetNamedIndicator
+returns False. Otherwise, it sends a request to the X server to change the
+indicator specified by
+.I name
+and returns True.
+
+If
+.I change_state
+is True, and the optional parameter,
+.I state,
+is not NULL,
+.I XkbSetNamedIndicator
+tells the server to change the state of the named indicator to the value
+specified by
+.I state.
+
+If an indicator with the name specified by
+.I name
+does not already exist, the
+.I create_new
+parameter tells the server whether it should create a new named indicator. If
+.I create_new
+is True, the server finds the first indicator that doesn't have a name and gives
+it the name specified by
+.I name.
+If the optional parameter,
+.I map, is not NULL,
+.I XkbSetNamedIndicator
+tells the server to change the indicator's map to the values specified in
+.I map.
+
+In addition, it can also generate XkbIndicatorStateNotify,
+XkbIndicatorMapNotify, and XkbNamesNotify events.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetNamedIndicator
+function returns True if a compatible version of the Xkb extension is available in the server.
+.TP 15
+False
+The
+.I XkbSetNamedIndicator
+function returns False if a compatible version of the Xkb extension is not available in the server.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.SH "SEE ALSO"
+.BR XkbIndicatorMapNotify (__libmansuffix__),
+.BR XkbIndicatorStateNotify (__libmansuffix__),
+.BR XkbNamesNotify (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbSetNames.man b/libX11/man/xkb/XkbSetNames.man
new file mode 100644
index 000000000..2a072d8c7
--- /dev/null
+++ b/libX11/man/xkb/XkbSetNames.man
@@ -0,0 +1,226 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetNames \- Change the symbolic names in the server
+.SH SYNOPSIS
+.B Bool XkbSetNames
+(
+.I dpy,
+.I which,
+.I first_type,
+.I num_types ,
+.I xkb
+)
+.br
+ Display * \fIdpy\fP\^;
+.br
+ unsigned int \fIwhich\fP\^;
+.br
+ unsigned int \fIfirst_type\fP\^;
+.br
+ unsigned int \fInum_types\fP\^;
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of names or map components to be changed
+.TP
+.I \- first_type
+first type whose name is to be changed
+.TP
+.I \- num_types
+number of types for which names are to be changed
+.TP
+.I \- xkb
+keyboard description from which names are to be taken
+.SH DESCRIPTION
+.LP
+To change the symbolic names in the server, first modify a local copy of the
+keyboard description and then
+use either
+.I XkbSetNames,
+or, to save network traffic, use a XkbNameChangesRecstructure and call
+.I XkbChangeNames
+to download the changes to the server.
+.I XkbSetNames
+and
+.I XkbChangeNames
+can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation
+errors.
+
+Use
+.I XkbSetNames
+to change many names at the same time. For each bit set in
+.I which, XkbSetNames
+takes the corresponding value (or values in the case of arrays) from the
+keyboard description
+.I xkb
+and sends it to the server.
+
+The
+.I first_type
+and
+.I num_types
+arguments are used only if XkbKeyTypeNamesMask or XkbKTLevelNamesMask is set in
+.I which
+and specify a subset of the types for which the corresponding names are to be
+changed. If either or both of
+these mask bits are set but the specified types are illegal,
+.I XkbSetNames
+returns False and does not update any of the names specified in
+.I which.
+The specified types are illegal if
+.I xkb
+does not include a map component or if
+.I first_type
+and
+.I num_types
+specify types that are not defined in the keyboard description.
+.SH STRUCTURES
+.LP
+The XkbNameChangesRec allows applications to identify small modifications to the
+symbolic names and
+effectively reduces the amount of traffic sent to the server:
+.nf
+
+ typedef struct _XkbNameChanges {
+ unsigned int changed; /\(** name components that have changed */
+ unsigned char first_type; /\(** first key type with a new name */
+ unsigned char num_types; /\(** number of types with new names */
+ unsigned char first_lvl; /\(** first key type with new level names
+*/
+ unsigned char num_lvls; /\(** number of key types with new level
+names */
+ unsigned char num_aliases; /\(** if key aliases changed, total number
+of key aliases */
+ unsigned char num_rg; /\(** if radio groups changed, total
+number of radio groups */
+ unsigned char first_key; /\(** first key with a new name */
+ unsigned char num_keys; /\(** number of keys with new names */
+ unsigned short changed_vmods; /\(** mask of virtual modifiers for which
+names have changed */
+ unsigned long changed_indicators; /\(** mask of indicators for which names
+were changed */
+ unsigned char changed_groups; /\(** mask of groups for which names
+were changed */
+ } XkbNameChangesRec, *XkbNameChangesPtr
+
+.fi
+The
+.I changed
+field specifies the name components that have changed and is the bitwise
+inclusive OR of the valid names
+mask bits defined in Table 1. The rest of the fields in the structure specify
+the ranges that have changed
+for the various kinds of symbolic names, as shown in Table 2.
+
+Xkb provides several functions that work with symbolic names. Each of these
+functions uses a mask to
+specify individual fields of the structures described above. These masks and
+their relationships to the
+fields in a keyboard description are shown in Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+.TS
+c s s s
+l l l l.
+Table 2 XkbNameChanges Fields
+_
+Mask Fields Component Field
+_
+XkbKeyTypeNamesMask first_type, Xkb->map type[*].name
+ num_types
+XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*]
+ num_lvls
+XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*]
+XkbRGNamesMask num_rg Xkb->names radio_groups[*]
+XkbKeyNamesMask first_key, Xkb->names keys[*]
+ num_keys
+XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*]
+XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*]
+XkbGroupNamesMask changed_groups Xkb->names groups[*]
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbChangeNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetPtrActionX.man b/libX11/man/xkb/XkbSetPtrActionX.man
new file mode 100644
index 000000000..51b34a1e4
--- /dev/null
+++ b/libX11/man/xkb/XkbSetPtrActionX.man
@@ -0,0 +1,120 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetPtrActionX \- Sets the high_XXX and low_XXX fields of act from the signed
+integer value x
+.SH SYNOPSIS
+.B void XkbSetPtrActionX macro
+(
+.I act,
+.I x
+)
+.br
+ XkbPtrAction \fIact\fP\^;
+.br
+ int \fIx\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set X
+.TP
+.I \- x
+new value to set
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+If the MouseKeys control is enabled, a server action of type XkbSA_MovePtr
+instructs the server to generate core pointer MotionNotify events rather than
+the usual KeyPress event, and the corresponding KeyRelease event disables any
+mouse keys timers that were created as a result of handling the XkbSA_MovePtr
+action.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+If set, the X portion of the structure specifies the new pointer X coordinate.
+Otherwise, the X portion is added to the current pointer X coordinate to
+determine the new pointer X coordinate.
+T}
+XkbSA_MoveAbsoluteY T{
+If set, the Y portion of the structure specifies the new pointer Y coordinate.
+Otherwise, the Y portion is added to the current pointer Y coordinate to
+determine the new pointer Y coordinate.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I low_XXX,
+and similarly for the Y coordinate. Xkb provides the following macros, to
+convert between a signed integer and two signed 16-bit values in XkbPtrAction
+structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrAction {
+ unsigned char type; /\(** XkbSA_MovePtr */
+ unsigned char flags; /\(** determines type of pointer motion */
+ unsigned char high_XXX; /\(** x coordinate, high bits*/
+ unsigned char low_XXX; /\(** y coordinate, low bits */
+ unsigned char high_YYY; /\(** x coordinate, high bits */
+ unsigned char low_YYY; /\(** y coordinate, low bits */
+ } XkbPtrAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSetPtrActionY.man b/libX11/man/xkb/XkbSetPtrActionY.man
new file mode 100644
index 000000000..ba3d30d60
--- /dev/null
+++ b/libX11/man/xkb/XkbSetPtrActionY.man
@@ -0,0 +1,120 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetPtrActionY \- Sets the high_YYY and low_YYY fields of act from the signed
+integer value y
+.SH SYNOPSIS
+.B void XkbSetPtrActionY macro
+(
+.I act,
+.I y
+)
+.br
+ XkbPtrAction \fIact\fP\^;
+.br
+ int \fIy\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set Y
+.TP
+.I \- y
+new value to set
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+If the MouseKeys control is enabled, a server action of type XkbSA_MovePtr
+instructs the server to generate core pointer MotionNotify events rather than
+the usual KeyPress event, and the corresponding KeyRelease event disables any
+mouse keys timers that were created as a result of handling the XkbSA_MovePtr
+action.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+If set, the X portion of the structure specifies the new pointer X coordinate.
+Otherwise, the X portion is added to the current pointer X coordinate to
+determine the new pointer X coordinate.
+T}
+XkbSA_MoveAbsoluteY T{
+If set, the Y portion of the structure specifies the new pointer Y coordinate.
+Otherwise, the Y portion is added to the current pointer Y coordinate to
+determine the new pointer Y coordinate.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I low_XXX,
+and similarly for the Y coordinate. Xkb provides the following macros, to
+convert between a signed integer and two signed 16-bit values in XkbPtrAction
+structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrAction {
+ unsigned char type; /\(** XkbSA_MovePtr */
+ unsigned char flags; /\(** determines type of pointer motion */
+ unsigned char high_XXX; /\(** x coordinate, high bits*/
+ unsigned char low_XXX; /\(** y coordinate, low bits */
+ unsigned char high_YYY; /\(** x coordinate, high bits */
+ unsigned char low_YYY; /\(** y coordinate, low bits */
+ } XkbPtrAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSetServerInternalMods.man b/libX11/man/xkb/XkbSetServerInternalMods.man
new file mode 100644
index 000000000..949e435f4
--- /dev/null
+++ b/libX11/man/xkb/XkbSetServerInternalMods.man
@@ -0,0 +1,218 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetServerInternalMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetServerInternalMods \- Sets the modifiers that are consumed by the server
+before events are delivered to the client
+.SH SYNOPSIS
+.B Bool XkbSetServerInternalMods
+(
+.I display,
+.I device_spec,
+.I affect_real,
+.I real_values,
+.I affect_virtual,
+.I virtual_values
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int \fIaffect_real\fP\^;
+.br
+ unsigned int \fIreal_values\fP\^;
+.br
+ unsigned int \fIaffect_virtual\fP\^;
+.br
+ unsigned int \fIvirtual_values\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- affect_real
+mask of real modifiers affected by this call
+.TP
+.I \- real_values
+values for affected real modifiers (1=>set, 0=>unset)
+.TP
+.I \- affect_virtual
+mask of virtual modifiers affected by this call
+.TP
+.I \- virtual_values
+values for affected virtual modifiers (1=>set, 0=>unset)
+.SH DESCRIPTION
+.LP
+The core protocol does not provide any means to prevent a modifier from being
+reported in events sent to clients; Xkb, however makes this possible via the
+InternalMods control. It specifies modifiers that should be consumed by the
+server and not reported to clients. When a key is pressed and a modifier that
+has its bit set in the InternalMods control is reported to the server, the
+server uses the modifier when determining the actions to apply for the key. The
+server then clears the bit, so it is not actually reported to the client. In
+addition, modifiers specified in the InternalMods control are not used to
+determine grabs and are not used to calculate core protocol compatibility state.
+
+Manipulate the InternalMods control via the
+.I internal
+field in the XkbControlsRec structure, using
+.I XkbSetControls
+and
+.I XkbGetControls.
+Alternatively, use
+.I XkbSetServerInternalMods.
+
+.I XkbSetServerInternalMods
+sends a request to the server to change the internal modifiers consumed by the
+server.
+.I affect_real
+and
+.I real_values
+are masks of real modifier bits indicating which real modifiers are to be added
+and removed from the server's internal modifiers control. Modifiers selected by
+both
+.I affect_real
+and
+.I real_values
+are added to the server's internal modifiers control; those selected by
+.I affect_real
+but not by
+.I real_values
+are removed from the server's internal modifiers mask. Valid values for
+.I affect_real
+and
+.I real_values
+consist of any combination of the eight core modifier bits: ShiftMask, LockMask,
+ControlMask, Mod1Mask - Mod5Mask.
+.I affect_virtual
+and
+.I virtual_values
+are masks of virtual modifier bits indicating which virtual modifiers are to be
+added and removed from the server's internal modifiers control. Modifiers
+selected by both
+.I affect_virtual
+and
+.I virtual_values
+are added to the server's internal modifiers control; those selected by
+.I affect_virtual
+but not by
+.I virtual_values
+are removed from the server's internal modifiers control. See below for a
+discussion of virtual modifier masks to use in
+.I affect_virtual
+and
+.I virtual_values. XkbSetServerInternalMods
+does not wait for a reply from the server. It returns True if the request was
+sent and False otherwise.
+
+Virtual modifiers are named by converting their string name to an X Atom and
+storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also
+the index used when accessing virtual modifier information in arrays: the name
+in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb,
+various functions have a parameter that is a mask representing virtual modifier
+choices. In each case, the i-th bit (0 relative) of the mask represents the i-th
+virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component structures in the XkbDescRec represent the major Xkb components
+outlined in Figure 1.1.
+.nf
+
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The display field points to an X display structure. The flags field is private
+to the library: modifying flags may yield unpredictable results. The device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The min_key_code
+and max_key_code fields specify the least and greatest keycode that can be
+returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to indicate that the structure should be manipulated in some manner, such
+as allocating it or freeing it. These masks and their relationships to the
+fields in the XkbDescRec are shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.SH "SEE ALSO"
+.BR XkbGetControls (__libmansuffix__),
+.BR XkbGetNames (__libmansuffix__),
+.BR XkbSetControls (__libmansuffix__),
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetXlibControls.man b/libX11/man/xkb/XkbSetXlibControls.man
new file mode 100644
index 000000000..35cd43a9b
--- /dev/null
+++ b/libX11/man/xkb/XkbSetXlibControls.man
@@ -0,0 +1,119 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbSetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetXlibControls \- Changes the state of the Library Controls
+.SH SYNOPSIS
+.B unsigned int XkbSetXlibControls
+(
+.I display,
+.I bits_to_change,
+.I values_for_bits
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned long \fIbits_to_change\fP\^;
+.br
+ unsigned long \fIvalues_for_bits\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- bits_to_change
+selects controls to be modified
+.TP
+.I \- values_for_bits
+turns selected controls on (1) or off (0)
+.SH DESCRIPTION
+.LP
+.I XkbSetXlibControls
+modifies the state of the controls selected by
+.I bits_to_change;
+only the controls selected by
+.I bits_to_change
+are modified. If the bit corresponding to a control is on in
+.I bits_to_change
+and also on in
+.I values_for_bits,
+the control is enabled. If the bit corresponding to a control is on in
+.I bits_to_change
+but off in
+.I values_for_bits,
+the control is disabled.
+.I bits_to_change
+should be an inclusive OR of bits from Table 1.
+
+.TS
+c s
+l l
+l l.
+Table 1 Library Control Masks
+_
+Library Control Mask Value
+_
+XkbLC_ForceLatin1Lookup (1 << 0)
+XkbLC_ConsumeLookupMods (1 << 1)
+XkbLC_AlwaysConsumeShiftAndLock (1 << 2)
+XkbLC_IgnoreNewKeyboards (1 << 3)
+XkbLC_ConsumeKeysOnComposeFail (1 << 29)
+XkbLC_ComposeLED (1 << 30)
+XkbLC_BeepOnComposeFail (1 << 31)
+XkbLC_AllControls (0xc0000007)
+.TE
+.SH "RETURN VALUES"
+.TP 15
+(1 << 0)
+XkbLC_ForceLatin1Lookup
+.TP 15
+(1 << 1)
+XkbLC_ConsumeLookupMods
+.TP 15
+(1 << 2)
+XkbLC_AlwaysConsumeShiftAndLock
+.TP 15
+(1 << 3)
+XkbLC_IgnoreNewKeyboards
+.TP 15
+(1 << 29)
+XkbLC_ConsumeKeysOnComposeFail
+.TP 15
+(1 << 30)
+XkbLC_ComposeLED
+.TP 15
+(1 << 31)
+XkbLC_BeepOnComposeFail
+.TP 15
+(0xc0000007)
+XkbLC_AllControls
+
diff --git a/libX11/man/xkb/XkbTranslateKeyCode.man b/libX11/man/xkb/XkbTranslateKeyCode.man
new file mode 100644
index 000000000..4e4455be0
--- /dev/null
+++ b/libX11/man/xkb/XkbTranslateKeyCode.man
@@ -0,0 +1,89 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbTranslateKeyCode __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbTranslateKeyCode \- Translate a keycode to a key symbol and modifiers
+.SH SYNOPSIS
+.B Bool XkbTranslateKeyCode
+(
+.I xkb,
+.I key,
+.I mods,
+.I mods_rtrn,
+.I keysym_rtrn
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIkey\fP\^;
+.br
+ unsigned int \fImods\fP\^;
+.br
+ unsigned int * \fImods_rtrn\fP\^;
+.br
+ KeySym * \fIkeysym_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to use for translation
+.TP
+.I \- key
+keycode to translate
+.TP
+.I \- mods
+modifiers to apply when translating key
+.TP
+.I \- mods_rtrn
+backfilled with unconsumed modifiers
+.TP
+.I \- keysym_rtrn
+keysym resulting from translation
+.SH DESCRIPTION
+.LP
+.I mods_rtrn
+is backfilled with the modifiers consumed by the translation process.
+.I mods
+is a bitwise inclusive OR of the legal modifier masks: ShiftMask, LockMask,
+ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask.The
+AlwaysConsumeShiftAndLock library control (see below), if enabled, causes
+.I XkbTranslateKeyCode
+to consume shift and lock.
+.I XkbTranslateKeyCode
+returns True if the translation resulted in a keysym, and False if it resulted
+in NoSymbol.
+
+The AlwaysConsumeShiftAndLock control, if enabled, forces
+.I XLookupString
+to consume the Shift and Lock modifiers when processing all keys, even if the
+definition for the key type does not specify these modifiers. The
+AlwaysConsumeShiftAndLock control is unset by default.
+.SH "SEE ALSO"
+.BR XLookupString (3X11)
diff --git a/libX11/man/xkb/XkbTranslateKeySym.man b/libX11/man/xkb/XkbTranslateKeySym.man
new file mode 100644
index 000000000..526a012ea
--- /dev/null
+++ b/libX11/man/xkb/XkbTranslateKeySym.man
@@ -0,0 +1,101 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbTranslateKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbTranslateKeySym \- Find the string and symbol associated with a keysym for a
+given keyboard state
+.SH SYNOPSIS
+.B int XkbTranslateKeySym
+(
+.I dpy ,
+.I sym_inout ,
+.I mods ,
+.I buf ,
+.I nbytes ,
+.I extra_rtrn
+)
+.br
+ Display *\fIdpy\fP\^;
+.br
+ KeySym *\fIsym_inout\fP\^;
+.br
+ unsigned int \fImods\fP\^;
+.br
+ char *\fIbuf\fP\^;
+.br
+ int \fInbytes\fP\^;
+.br
+ int *\fIextra_rtrn\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- sym_inout
+symbol to be translated; result of translation
+.TP
+.I \- mods
+modifiers to apply to sym_inout
+.TP
+.I \- buf
+buffer into which returned string is written
+.TP
+.I \- nbytes
+size of buffer in bytes
+.TP
+.I \- extra_rtrn
+number of bytes overflow
+.SH DESCRIPTION
+.LP
+.I XkbTranslateKeySym
+applies the transformations specified in
+.I mods
+to the symbol specified by
+.I sym_inout.
+It returns in
+.I buf
+the string, if any, associated with the keysym for the current locale. If the
+transformations in
+.I mods
+changes the keysym,
+.I sym_inout
+is updated accordingly. If the string returned is larger than
+.I nbytes,
+a count of bytes that does not fit into the buffer is returned in
+.I extra_rtrn. XkbTranslateKeySym
+returns the number of bytes it placed into
+.I buf.
+.SH "RETURN VALUES"
+.TP 15
+buf
+Returns the string, if any, associated with the keysym for the current locale.
+
+
diff --git a/libX11/man/xkb/XkbUpdateMapFromCore.man b/libX11/man/xkb/XkbUpdateMapFromCore.man
new file mode 100644
index 000000000..6f04d8c46
--- /dev/null
+++ b/libX11/man/xkb/XkbUpdateMapFromCore.man
@@ -0,0 +1,130 @@
+'\" t
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbUpdateMapFromCore __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbUpdateMapFromCore \- Update a local Xkb keyboard map to reflect the mapping
+expressed by a core format mapping
+.SH SYNOPSIS
+.B Bool XkbUpdateMapFromCore
+(
+.I xkb,
+.I first_key,
+.I num_keys,
+.I map_width,
+.I core_keysyms,
+.I changes
+)
+.br
+ XkbDescPtr \fIxkb\fP\^;
+.br
+ KeyCode \fIfirst_key\fP\^;
+.br
+ int \fInum_keys\fP\^;
+.br
+ int \fImap_width\fP\^;
+.br
+ KeySym * \fIcore_keysyms\fP\^;
+.br
+ XkbChangesPtr \fIchanges\fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to update
+.TP
+.I \- first_key
+keycode of first key description to update
+.TP
+.I \- num_keys
+number of key descriptions to update
+.TP
+.I \- map_width
+width of core protocol keymap
+.TP
+.I \- core_keysyms
+symbols in core protocol keymap
+.TP
+.I \- changes
+backfilled with changes made to Xkb
+.SH DESCRIPTION
+.LP
+Xkb provides several functions that make it easier to apply the compatibility
+map to configure a client-side Xkb keyboard mapping, given a core protocol
+representation of part or all of a keyboard mapping. Obtain a core protocol
+representation of a keyboard mapping from an actual server (by using
+.I XGetKeyboardMapping,
+for example), a data file, or some other source.
+
+.I XkbUpdateMapFromCore
+interprets input argument information representing a keyboard map in core format
+to update the Xkb keyboard description passed in
+.I xkb.
+Only a portion of the Xkb map is updated - the portion corresponding to keys
+with keycodes in the range
+.I first_key
+through
+.I first_key + num_keys - 1.
+If
+.I XkbUpdateMapFromCore
+is being called in response to a MappingNotify event,
+.I first_key
+and
+.I num_keys
+are reported in the MappingNotify event.
+.I core_keysyms
+contains the keysyms corresponding to the keycode range being updated, in core
+keyboard description order.
+.I map_width
+is the number of keysyms per key in
+.I core_keysyms.
+Thus, the first
+.I map_width
+entries in
+.I core_keysyms
+are for the key with keycode
+.I first_key,
+the next
+.I map_width
+entries are for key
+.I first_key + 1,
+and so on.
+
+In addition to modifying the Xkb keyboard mapping in
+.I xkb, XkbUpdateMapFromCore
+backfills the changes structure whose address is passed in
+.I changes
+to indicate the modifications that were made. You may then use
+.I changes
+in subsequent calls such as
+.I XkbSetMap,
+to propagate the local modifications to a server.
+.SH "SEE ALSO"
+.BR XkbSetMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbVirtualModsToReal.man b/libX11/man/xkb/XkbVirtualModsToReal.man
new file mode 100644
index 000000000..17785e365
--- /dev/null
+++ b/libX11/man/xkb/XkbVirtualModsToReal.man
@@ -0,0 +1,144 @@
+.\" Copyright (c) 1999 - Sun Microsystems, Inc.
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.TH XkbVirtualModsToReal __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbVirtualModsToReal \- Determines the mapping of virtual modifiers to core X
+protocol modifiers
+.SH SYNOPSIS
+.B Bool XkbVirtualModsToReal
+(
+.I xkb,
+.I virtual_mask,
+.I mask_rtrn
+)
+.br
+ XkbDescPtr \fI xkb \fP\^;
+.br
+ unsigned int \fI virtual_mask \fP\^;
+.br
+ unsigned int *\fI mask_rtrn \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for input device
+.TP
+.I \- virtual_mask
+virtual modifier mask to translate
+.TP
+.I \- mask_rtrn
+backfilled with real modifiers
+.SH DESCRIPTION
+.LP
+Xkb maintains a
+.I virtual modifier mapping,
+which lists the virtual modifiers associated with, or bound to, each key. The
+real modifiers bound to a virtual modifier always include all of the modifiers
+bound to any of the keys that specify that virtual modifier in their virtual
+modifier mapping. The
+.I server.vmodmap
+array indicates which virtual modifiers are bound to each key; each entry is a
+bitmask for the virtual modifier bits. The
+.I server.vmodmap
+array is indexed by keycode.
+
+The
+.I vmodmap
+and
+.I vmods
+members of the server map are the "master" virtual modifier definitions. Xkb
+automatically propagates any changes to these fields to all other fields that
+use virtual modifier mappings.
+
+For example, if Mod3 is bound to the Num_Lock key by the core protocol modifier
+mapping, and the NumLock virtual modifier is bound to they Num_Lock key by the
+virtual modifier mapping, Mod3 is added to the set of modifiers associated with
+NumLock.
+
+The virtual modifier mapping is normally updated whenever actions are
+automatically applied to symbols and few applications should need to change the
+virtual modifier mapping explicitly.
+
+Use
+.I XkbGetMap
+to get the virtual modifiers from the server or use
+.I XkbGetVirtualMods
+to update a local copy of the virtual modifiers bindings from the server. To set
+the binding of a virtual modifier to a real modifier, use
+.I XkbGetVirtualMods
+
+If the keyboard description defined by
+.I xkb
+includes bindings for virtual modifiers,
+.I XkbVirtualModsToReal
+uses those bindings to determine the set of real modifiers that correspond to
+the set of virtual modifiers specified in
+.I virtual_mask.
+The
+.I virtual_mask
+parameter is a mask specifying the virtual modifiers to translate; the i-th bit
+(0 relative) of the mask represents the i-th virtual modifier. If
+.I mask_rtrn
+is non-NULL,
+.I XkbVirtualModsToReal
+backfills it with the resulting real modifier mask. If the keyboard description
+in
+.I xkb
+does not include virtual modifier bindings,
+.I XkbVirtualModsToReal
+returns False; otherwise, it returns True.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbVirtualModsToReal
+function returns True if the keyboard description
+in
+.I xkb
+does include virtual modifier bindings.
+.TP 15
+False
+The
+.I XkbVirtualModsToReal
+function returns False if the keyboard description
+in
+.I xkb
+does not include virtual modifier bindings.
+.SH "SEE ALSO"
+.BR XkbGetMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__)
+.SH NOTES
+.LP
+It is possible for a local (client-side) keyboard description (the
+.I xkb
+parameter) to not contain any virtual modifier information (simply because the
+client has not requested it) while the server's corresponding definition may
+contain virtual modifier information.
+