# PaCkAgE DaTaStReAm
libxi 1 4920
# end of header
07070100026b14000081a400000000000000000000000153c5c75f000001100000011200010015ffffffffffffffff0000000e00000000libxi/pkginfo RSTATES=S s 1 2 3
ISTATES=S s 1 2 3
BASEDIR=/
CLASSES=none
CATEGORY=utility
ARCH=sparc
DESC=X.org libXi Client library for XInput
EMAIL=http://cgit.freedesktop.org/xorg/lib/libXi
VENDOR=X.org
PSTAMP=16th July 2014
VERSION=1.7.3
NAME=libxi 1.7.3 i86pc Solaris 11
PKG=libxi
07070100026b13000081a400000000000000000000000153c5c75f000021020000011200010015ffffffffffffffff0000000d00000000libxi/pkgmap : 1 4920
1 d none /usr/local/include 0755 root root
1 d none /usr/local/include/X11 0755 root root
1 d none /usr/local/include/X11/extensions 0755 root root
1 f none /usr/local/include/X11/extensions/XInput.h 0644 root root 36014 41508 1405469679
1 f none /usr/local/include/X11/extensions/XInput2.h 0644 root root 18788 3202 1405469679
1 d none /usr/local/lib 0755 root root
1 f none /usr/local/lib/libXi.a 0644 root root 223092 32718 1405469679
1 f none /usr/local/lib/libXi.la 0755 root root 1080 29169 1405469679
1 s none /usr/local/lib/libXi.so=libXi.so.6.1.0
1 s none /usr/local/lib/libXi.so.6=libXi.so.6.1.0
1 f none /usr/local/lib/libXi.so.6.1.0 0755 root root 142420 12319 1405469679
1 d none /usr/local/lib/pkgconfig 0755 root root
1 f none /usr/local/lib/pkgconfig/xi.pc 0644 root root 261 23953 1405469679
1 d none /usr/local/share 0755 root root
1 d none /usr/local/share/doc 0755 root root
1 d none /usr/local/share/doc/libXi 0755 root root
1 f none /usr/local/share/doc/libXi/encoding.xml 0644 root root 49193 29403 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.html 0644 root root 287293 38578 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.html.db 0644 root root 20379 5788 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.pdf 0644 root root 267702 2627 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.pdf.db 0644 root root 21351 27378 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.ps 0644 root root 688826 16620 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.xml 0644 root root 3082 64603 1405469679
1 f none /usr/local/share/doc/libXi/library.xml 0644 root root 238242 1584 1405469679
1 d none /usr/local/share/man 0755 root root
1 d none /usr/local/share/man/man3 0755 root root
1 f none /usr/local/share/man/man3/XAllowDeviceEvents.3 0644 root root 6967 57938 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceControl.3 0644 root root 29 2530 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceDontPropagateList.3 0644 root root 4698 41630 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceKeyMapping.3 0644 root root 32 2806 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceProperty.3 0644 root root 30 2662 1405469679
1 f none /usr/local/share/man/man3/XChangeFeedbackControl.3 0644 root root 31 2711 1405469679
1 f none /usr/local/share/man/man3/XChangeKeyboardDevice.3 0644 root root 3593 22941 1405469679
1 f none /usr/local/share/man/man3/XChangePointerDevice.3 0644 root root 3946 48534 1405469679
1 f none /usr/local/share/man/man3/XCloseDevice.3 0644 root root 23 1907 1405469679
1 f none /usr/local/share/man/man3/XDeleteDeviceProperty.3 0644 root root 30 2662 1405469679
1 f none /usr/local/share/man/man3/XDeviceBell.3 0644 root root 3770 29827 1405469679
1 f none /usr/local/share/man/man3/XDeviceTimeCoord.3 0644 root root 34 3052 1405469679
1 f none /usr/local/share/man/man3/XFreeDeviceList.3 0644 root root 29 2560 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceButtonMapping.3 0644 root root 35 3157 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceControl.3 0644 root root 5903 11078 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceDontPropagateList.3 0644 root root 42 3835 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceFocus.3 0644 root root 27 2317 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceKeyMapping.3 0644 root root 7128 55660 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceModifierMapping.3 0644 root root 5867 17712 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceMotionEvents.3 0644 root root 5439 39788 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceProperty.3 0644 root root 6482 46527 1405469679
1 f none /usr/local/share/man/man3/XGetExtensionVersion.3 0644 root root 2887 31638 1405469679
1 f none /usr/local/share/man/man3/XGetFeedbackControl.3 0644 root root 10608 4648 1405469679
1 f none /usr/local/share/man/man3/XGetSelectedExtensionEvents.3 0644 root root 33 2992 1405469679
1 f none /usr/local/share/man/man3/XGrabDevice.3 0644 root root 7788 56278 1405469679
1 f none /usr/local/share/man/man3/XGrabDeviceButton.3 0644 root root 8304 20289 1405469679
1 f none /usr/local/share/man/man3/XGrabDeviceKey.3 0644 root root 8457 30786 1405469679
1 f none /usr/local/share/man/man3/XIBarrierReleasePointer.3 0644 root root 3641 20923 1405469679
1 f none /usr/local/share/man/man3/XIBarrierReleasePointers.3 0644 root root 35 3139 1405469679
1 f none /usr/local/share/man/man3/XIChangeHierarchy.3 0644 root root 5445 41330 1405469679
1 f none /usr/local/share/man/man3/XIChangeProperty.3 0644 root root 10116 53756 1405469679
1 f none /usr/local/share/man/man3/XIDefineCursor.3 0644 root root 3596 13319 1405469679
1 f none /usr/local/share/man/man3/XIDeleteProperty.3 0644 root root 28 2437 1405469679
1 f none /usr/local/share/man/man3/XIFreeDeviceInfo.3 0644 root root 25 2112 1405469679
1 f none /usr/local/share/man/man3/XIGetClientPointer.3 0644 root root 30 2630 1405469679
1 f none /usr/local/share/man/man3/XIGetFocus.3 0644 root root 22 1798 1405469679
1 f none /usr/local/share/man/man3/XIGetProperty.3 0644 root root 28 2437 1405469679
1 f none /usr/local/share/man/man3/XIGetSelectedEvents.3 0644 root root 26 2223 1405469679
1 f none /usr/local/share/man/man3/XIGrabButton.3 0644 root root 10923 31950 1405469679
1 f none /usr/local/share/man/man3/XIGrabDevice.3 0644 root root 7168 60270 1405469679
1 f none /usr/local/share/man/man3/XIGrabEnter.3 0644 root root 9006 8756 1405469679
1 f none /usr/local/share/man/man3/XIGrabFocusIn.3 0644 root root 23 1876 1405469679
1 f none /usr/local/share/man/man3/XIGrabKeycode.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIGrabTouchBegin.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIListProperties.3 0644 root root 2306 46379 1405469679
1 f none /usr/local/share/man/man3/XIQueryDevice.3 0644 root root 12151 8521 1405469679
1 f none /usr/local/share/man/man3/XIQueryPointer.3 0644 root root 4449 21885 1405469679
1 f none /usr/local/share/man/man3/XIQueryVersion.3 0644 root root 4270 18046 1405469679
1 f none /usr/local/share/man/man3/XISelectEvents.3 0644 root root 4565 30849 1405469679
1 f none /usr/local/share/man/man3/XISetClientPointer.3 0644 root root 3485 8871 1405469679
1 f none /usr/local/share/man/man3/XISetFocus.3 0644 root root 4114 62070 1405469679
1 f none /usr/local/share/man/man3/XIUndefineCursor.3 0644 root root 26 2211 1405469679
1 f none /usr/local/share/man/man3/XIUngrabButton.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIUngrabDevice.3 0644 root root 24 1958 1405469679
1 f none /usr/local/share/man/man3/XIUngrabEnter.3 0644 root root 23 1876 1405469679
1 f none /usr/local/share/man/man3/XIUngrabFocusIn.3 0644 root root 23 1876 1405469679
1 f none /usr/local/share/man/man3/XIUngrabKeycode.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIUngrabTouchBegin.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIWarpPointer.3 0644 root root 4168 63795 1405469679
1 f none /usr/local/share/man/man3/XListDeviceProperties.3 0644 root root 2603 861 1405469679
1 f none /usr/local/share/man/man3/XListInputDevices.3 0644 root root 11056 1322 1405469679
1 f none /usr/local/share/man/man3/XOpenDevice.3 0644 root root 5732 12291 1405469679
1 f none /usr/local/share/man/man3/XQueryDeviceState.3 0644 root root 3802 34642 1405469679
1 f none /usr/local/share/man/man3/XSelectExtensionEvent.3 0644 root root 6144 47851 1405469679
1 f none /usr/local/share/man/man3/XSendExtensionEvent.3 0644 root root 5794 14613 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceButtonMapping.3 0644 root root 4765 51833 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceFocus.3 0644 root root 7263 4634 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceMode.3 0644 root root 3031 37405 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceModifierMapping.3 0644 root root 37 3324 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceValuators.3 0644 root root 3626 22669 1405469679
1 f none /usr/local/share/man/man3/XUngrabDevice.3 0644 root root 23 1885 1405469679
1 f none /usr/local/share/man/man3/XUngrabDeviceButton.3 0644 root root 29 2521 1405469679
1 f none /usr/local/share/man/man3/XUngrabDeviceKey.3 0644 root root 26 2182 1405469679
1 i checkinstall 790 2505 1405470558
1 i pkginfo 272 21216 1405470559
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!! 07070100026b14000081a400000000000000000000000153c5c75f000001100000011200010015ffffffffffffffff0000000800000000pkginfo RSTATES=S s 1 2 3
ISTATES=S s 1 2 3
BASEDIR=/
CLASSES=none
CATEGORY=utility
ARCH=sparc
DESC=X.org libXi Client library for XInput
EMAIL=http://cgit.freedesktop.org/xorg/lib/libXi
VENDOR=X.org
PSTAMP=16th July 2014
VERSION=1.7.3
NAME=libxi 1.7.3 i86pc Solaris 11
PKG=libxi
07070100026b13000081a400000000000000000000000153c5c75f000021020000011200010015ffffffffffffffff0000000700000000pkgmap : 1 4920
1 d none /usr/local/include 0755 root root
1 d none /usr/local/include/X11 0755 root root
1 d none /usr/local/include/X11/extensions 0755 root root
1 f none /usr/local/include/X11/extensions/XInput.h 0644 root root 36014 41508 1405469679
1 f none /usr/local/include/X11/extensions/XInput2.h 0644 root root 18788 3202 1405469679
1 d none /usr/local/lib 0755 root root
1 f none /usr/local/lib/libXi.a 0644 root root 223092 32718 1405469679
1 f none /usr/local/lib/libXi.la 0755 root root 1080 29169 1405469679
1 s none /usr/local/lib/libXi.so=libXi.so.6.1.0
1 s none /usr/local/lib/libXi.so.6=libXi.so.6.1.0
1 f none /usr/local/lib/libXi.so.6.1.0 0755 root root 142420 12319 1405469679
1 d none /usr/local/lib/pkgconfig 0755 root root
1 f none /usr/local/lib/pkgconfig/xi.pc 0644 root root 261 23953 1405469679
1 d none /usr/local/share 0755 root root
1 d none /usr/local/share/doc 0755 root root
1 d none /usr/local/share/doc/libXi 0755 root root
1 f none /usr/local/share/doc/libXi/encoding.xml 0644 root root 49193 29403 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.html 0644 root root 287293 38578 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.html.db 0644 root root 20379 5788 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.pdf 0644 root root 267702 2627 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.pdf.db 0644 root root 21351 27378 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.ps 0644 root root 688826 16620 1405469679
1 f none /usr/local/share/doc/libXi/inputlib.xml 0644 root root 3082 64603 1405469679
1 f none /usr/local/share/doc/libXi/library.xml 0644 root root 238242 1584 1405469679
1 d none /usr/local/share/man 0755 root root
1 d none /usr/local/share/man/man3 0755 root root
1 f none /usr/local/share/man/man3/XAllowDeviceEvents.3 0644 root root 6967 57938 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceControl.3 0644 root root 29 2530 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceDontPropagateList.3 0644 root root 4698 41630 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceKeyMapping.3 0644 root root 32 2806 1405469679
1 f none /usr/local/share/man/man3/XChangeDeviceProperty.3 0644 root root 30 2662 1405469679
1 f none /usr/local/share/man/man3/XChangeFeedbackControl.3 0644 root root 31 2711 1405469679
1 f none /usr/local/share/man/man3/XChangeKeyboardDevice.3 0644 root root 3593 22941 1405469679
1 f none /usr/local/share/man/man3/XChangePointerDevice.3 0644 root root 3946 48534 1405469679
1 f none /usr/local/share/man/man3/XCloseDevice.3 0644 root root 23 1907 1405469679
1 f none /usr/local/share/man/man3/XDeleteDeviceProperty.3 0644 root root 30 2662 1405469679
1 f none /usr/local/share/man/man3/XDeviceBell.3 0644 root root 3770 29827 1405469679
1 f none /usr/local/share/man/man3/XDeviceTimeCoord.3 0644 root root 34 3052 1405469679
1 f none /usr/local/share/man/man3/XFreeDeviceList.3 0644 root root 29 2560 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceButtonMapping.3 0644 root root 35 3157 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceControl.3 0644 root root 5903 11078 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceDontPropagateList.3 0644 root root 42 3835 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceFocus.3 0644 root root 27 2317 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceKeyMapping.3 0644 root root 7128 55660 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceModifierMapping.3 0644 root root 5867 17712 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceMotionEvents.3 0644 root root 5439 39788 1405469679
1 f none /usr/local/share/man/man3/XGetDeviceProperty.3 0644 root root 6482 46527 1405469679
1 f none /usr/local/share/man/man3/XGetExtensionVersion.3 0644 root root 2887 31638 1405469679
1 f none /usr/local/share/man/man3/XGetFeedbackControl.3 0644 root root 10608 4648 1405469679
1 f none /usr/local/share/man/man3/XGetSelectedExtensionEvents.3 0644 root root 33 2992 1405469679
1 f none /usr/local/share/man/man3/XGrabDevice.3 0644 root root 7788 56278 1405469679
1 f none /usr/local/share/man/man3/XGrabDeviceButton.3 0644 root root 8304 20289 1405469679
1 f none /usr/local/share/man/man3/XGrabDeviceKey.3 0644 root root 8457 30786 1405469679
1 f none /usr/local/share/man/man3/XIBarrierReleasePointer.3 0644 root root 3641 20923 1405469679
1 f none /usr/local/share/man/man3/XIBarrierReleasePointers.3 0644 root root 35 3139 1405469679
1 f none /usr/local/share/man/man3/XIChangeHierarchy.3 0644 root root 5445 41330 1405469679
1 f none /usr/local/share/man/man3/XIChangeProperty.3 0644 root root 10116 53756 1405469679
1 f none /usr/local/share/man/man3/XIDefineCursor.3 0644 root root 3596 13319 1405469679
1 f none /usr/local/share/man/man3/XIDeleteProperty.3 0644 root root 28 2437 1405469679
1 f none /usr/local/share/man/man3/XIFreeDeviceInfo.3 0644 root root 25 2112 1405469679
1 f none /usr/local/share/man/man3/XIGetClientPointer.3 0644 root root 30 2630 1405469679
1 f none /usr/local/share/man/man3/XIGetFocus.3 0644 root root 22 1798 1405469679
1 f none /usr/local/share/man/man3/XIGetProperty.3 0644 root root 28 2437 1405469679
1 f none /usr/local/share/man/man3/XIGetSelectedEvents.3 0644 root root 26 2223 1405469679
1 f none /usr/local/share/man/man3/XIGrabButton.3 0644 root root 10923 31950 1405469679
1 f none /usr/local/share/man/man3/XIGrabDevice.3 0644 root root 7168 60270 1405469679
1 f none /usr/local/share/man/man3/XIGrabEnter.3 0644 root root 9006 8756 1405469679
1 f none /usr/local/share/man/man3/XIGrabFocusIn.3 0644 root root 23 1876 1405469679
1 f none /usr/local/share/man/man3/XIGrabKeycode.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIGrabTouchBegin.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIListProperties.3 0644 root root 2306 46379 1405469679
1 f none /usr/local/share/man/man3/XIQueryDevice.3 0644 root root 12151 8521 1405469679
1 f none /usr/local/share/man/man3/XIQueryPointer.3 0644 root root 4449 21885 1405469679
1 f none /usr/local/share/man/man3/XIQueryVersion.3 0644 root root 4270 18046 1405469679
1 f none /usr/local/share/man/man3/XISelectEvents.3 0644 root root 4565 30849 1405469679
1 f none /usr/local/share/man/man3/XISetClientPointer.3 0644 root root 3485 8871 1405469679
1 f none /usr/local/share/man/man3/XISetFocus.3 0644 root root 4114 62070 1405469679
1 f none /usr/local/share/man/man3/XIUndefineCursor.3 0644 root root 26 2211 1405469679
1 f none /usr/local/share/man/man3/XIUngrabButton.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIUngrabDevice.3 0644 root root 24 1958 1405469679
1 f none /usr/local/share/man/man3/XIUngrabEnter.3 0644 root root 23 1876 1405469679
1 f none /usr/local/share/man/man3/XIUngrabFocusIn.3 0644 root root 23 1876 1405469679
1 f none /usr/local/share/man/man3/XIUngrabKeycode.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIUngrabTouchBegin.3 0644 root root 24 2002 1405469679
1 f none /usr/local/share/man/man3/XIWarpPointer.3 0644 root root 4168 63795 1405469679
1 f none /usr/local/share/man/man3/XListDeviceProperties.3 0644 root root 2603 861 1405469679
1 f none /usr/local/share/man/man3/XListInputDevices.3 0644 root root 11056 1322 1405469679
1 f none /usr/local/share/man/man3/XOpenDevice.3 0644 root root 5732 12291 1405469679
1 f none /usr/local/share/man/man3/XQueryDeviceState.3 0644 root root 3802 34642 1405469679
1 f none /usr/local/share/man/man3/XSelectExtensionEvent.3 0644 root root 6144 47851 1405469679
1 f none /usr/local/share/man/man3/XSendExtensionEvent.3 0644 root root 5794 14613 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceButtonMapping.3 0644 root root 4765 51833 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceFocus.3 0644 root root 7263 4634 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceMode.3 0644 root root 3031 37405 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceModifierMapping.3 0644 root root 37 3324 1405469679
1 f none /usr/local/share/man/man3/XSetDeviceValuators.3 0644 root root 3626 22669 1405469679
1 f none /usr/local/share/man/man3/XUngrabDevice.3 0644 root root 23 1885 1405469679
1 f none /usr/local/share/man/man3/XUngrabDeviceButton.3 0644 root root 29 2521 1405469679
1 f none /usr/local/share/man/man3/XUngrabDeviceKey.3 0644 root root 26 2182 1405469679
1 i checkinstall 790 2505 1405470558
1 i pkginfo 272 21216 1405470559
07070100026b79000041ed00000000000000000000000253c5c75f000000000000011200010015ffffffffffffffff0000000800000000install 07070100026b7a000081ed00000000000000000000000153c5c75e000003160000011200010015ffffffffffffffff0000001500000000install/checkinstall #!/bin/sh
#
expected_bits="64"
expected_release="5.11"
expected_platform="i386"
#
release=`uname -r`
platform=`uname -p`
bits=`isainfo -b`
#
if [ ${platform} != ${expected_platform} ]; then
echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n"
echo "\tAborting installation.\n\n\n"
exit 1
fi
if [ ${release} != ${expected_release} ]; then
echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n"
echo "\tAborting installation.\n\n\n"
exit 1
fi
#if [ ${bits} != ${expected_bits} ]; then
# echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n"
# echo "\tYour machine is running a ${bits} bit O.S. currently\n"
# echo "\tAborting installation.\n\n\n"
# exit 1
#fi
exit 0
07070100026b15000041ed00000000000000000000000353c5c75f000000000000011200010015ffffffffffffffff0000000500000000root 07070100026b16000041ed00000000000000000000000353c5c75f000000000000011200010015ffffffffffffffff0000000900000000root/usr 07070100026b17000041ed00000000000000000000000553c5c75f000000000000011200010015ffffffffffffffff0000000f00000000root/usr/local 07070100026b23000041ed00000000000000000000000453c5c75f000000000000011200010015ffffffffffffffff0000001500000000root/usr/local/share 07070100026b2e000041ed00000000000000000000000353c5c75f000000000000011200010015ffffffffffffffff0000001900000000root/usr/local/share/man 07070100026b2f000041ed00000000000000000000000253c5c75f000000000000011200010015ffffffffffffffff0000001e00000000root/usr/local/share/man/man3 07070100026b66000081a400000000000000000000000153c5c3ef000000170000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XIUngrabEnter.3 .so man3/XIGrabEnter.3
07070100026b44000081a400000000000000000000000153c5c3ef000019520000011200010015ffffffffffffffff0000003300000000root/usr/local/share/man/man3/XGetDeviceProperty.3 '\" t
.\" Title: xgetdeviceproperty
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETDEVICEPROPERTY" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetDeviceProperty, XChangeDeviceProperty, XDeleteDeviceProperty \- Get, change or delete a device\*(Aqs property\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XGetDeviceProperty( Display *display,
XDevice *device,
Atom property,
long offset,
long length,
Bool delete,
Atom req_type,
Atom *actual_type_return,
int *actual_format_return,
unsigned long *nitems_return,
unsigned long *bytes_after_return,
unsigned char **prop_return)
.fi
.sp
.nf
void XChangeDeviceProperty( Display *display,
XDevice *device,
Atom property,
Atom type,
int format,
int mode,
const char *data,
int nelements)
.fi
.sp
.nf
void XDeleteDeviceProperty( Display *display,
XDevice *device,
Atom property)
.fi
.sp
.nf
actual_type_return
Returns an atom identifier that defines the actual type
of the property\&.
.fi
.sp
.nf
actual_format_return
Returns the actual format of the property\&.
.fi
.sp
.nf
bytes_after_return
Returns the number of bytes remaining to be read in the
property if a partial read was performed\&.
.fi
.sp
.nf
data
Specifies the property data\&.
.fi
.sp
.nf
delete
Specifies a Boolean value that determines whether the
property is deleted\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
The device to grab\&.
.fi
.sp
.nf
format
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
the data pointer to an (unsigned char*) in the call to
XChangeDeviceProperty\&.
.fi
.sp
.nf
length
Specifies the length in 32\-bit multiplies of the data to
be retrieved\&.
.fi
.sp
.nf
mode
Specifies the mode of operation\&. You can pass
PropModeReplace, PropModePrepend, or PropModeAppend\&.
.fi
.sp
.nf
nelements
Specifies the number of elements in data\&.
.fi
.sp
.nf
nitems_return
Returns the actual number of 8\-bit, 16\-bit, or 32\-bit
items stored in the prop_return array\&.
.fi
.sp
.nf
num_values
Specifies the number of elements in the values list\&.
.fi
.sp
.nf
offset
Specifies the offset in the specified property (in
32\-bit quantities) where the data is to be retrieved\&.
.fi
.sp
.nf
property
Specifies the property to modify or query\&.
.fi
.sp
.nf
prop_return
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 an 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)\&.
.fi
.sp
.nf
req_type
Specifies the atom identifier associated with the
property type or AnyPropertyType\&.
.fi
.SH "DESCRIPTION"
.sp
The XGetDeviceProperty 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\&. For a detailed description of this function, see the man page to XGetWindowProperty\&.
.sp
The XChangeDeviceProperty function alters the property for the specified device and causes the server to generate a XPropertyNotifyEvent event on that device\&. For a detailed description of this function, see the man page to XChangeProperty\&.
.sp
The XDeleteDeviceProperty function deletes the specified device property\&. Note that a client cannot delete a property created by a driver or the server\&. Attempting to do so will result in a BadAtom error\&.
.sp
XGetDeviceProperty can generate a BadAtom, BadDevice error\&.
.sp
XChangeDeviceProperty can generate a BadDevice, a BadMatch, a BadAtom, and a BadValue error\&.
.sp
XDeleteDeviceProperty can generate a BadDevice, and a BadAtom error\&.
.SH "DIAGNOSIS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadAtom
A value does not describe a valid named identifier or
the client attempted to remove a driver\-allocated
property\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XListDeviceProperties(3)
.fi
.if n \{\
.RE
.\}
07070100026b6b000081a400000000000000000000000153c5c3ef00000a2b0000011200010015ffffffffffffffff0000003600000000root/usr/local/share/man/man3/XListDeviceProperties.3 '\" t
.\" Title: xlistdeviceproperties
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XLISTDEVICEPROPERTIE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XListDeviceProperties \- List a device\*(Aqs properties\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Atom* XListDeviceProperties( Display *display,
XDevice *device,
int *nprops_return);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
The device to list the properties for\&.
.fi
.sp
.nf
nprops_return
Specifies the number of Atoms returned\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XListDeviceProperties function returns a list of the
properties associated with the input device specified in
device\&. Each device may have an arbitrary number of properties
attached, some of which were created by the driver and/or
server, others created by clients at runtime\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The client is expected to free the list of properties using
XFree\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XListDeviceProperties can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeDeviceProperty(3),
XGetDeviceProperty(3),
XDeleteDeviceProperty(3)
.fi
.if n \{\
.RE
.\}
07070100026b61000081a400000000000000000000000153c5c3ef00000d9d0000011200010015ffffffffffffffff0000003300000000root/usr/local/share/man/man3/XISetClientPointer.3 '\" t
.\" Title: xisetclientpointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XISETCLIENTPOINTER" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XISetClientPointer, XIGetClientPointer \- set or get the ClientPointer device\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XISetClientPointer( Display *display,
Window win,
int deviceid);
.fi
.sp
.nf
Bool XIGetClientPointer( Display *display,
Window win,
int *device);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
win
Specifies a window belonging to the client\&. May be None\&.
.fi
.sp
.nf
deviceid
Specifies the ClientPointer device\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The ClientPointer is the device that is percieved to be the
core pointer for non\-XI protocol requests and replies\&. Each
time a protocol message needs device\-dependent data and the
device is not explicitly given, the ClientPointer device is
used to obtain the data\&. For example, a XQueryPointer request
will return the coordinates of the ClientPointer\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XISetClientPointer request sets the ClientPointer device for
the client that owns the given window\&. If win is None, the
requesting client\*(Aqs ClientPointer is set to the device
specified with deviceid\&. Only master pointer devices can be set
as ClientPointer\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XISetClientPointer and can generate a BadDevice and a BadWindow
error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XIGetClientPointer request returns the ClientPointer\*(Aqs
device ID for the client that owns the given window\&. If win is
None, the requesting client\*(Aqs ClientPointer is returned\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
win may be a client ID instead of a window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIGetClientPointer can generate a BadWindow error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a master pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
07070100026b30000081a400000000000000000000000153c5c3ef00001b370000011200010015ffffffffffffffff0000003300000000root/usr/local/share/man/man3/XAllowDeviceEvents.3 '\" t
.\" Title: xallowdeviceevents
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XALLOWDEVICEEVENTS" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XAllowDeviceEvents \- release queued events
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XAllowDeviceEvents( Display *display,
XDevice *device,
int event_mode,
Time time);
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device from which events are to be
allowed\&.
.fi
.sp
.nf
event_mode
Specifies the event mode\&.You can pass AsyncThisDevice,
SyncThisDevice, ReplayThisDevice, AsyncOtherDevices,
SyncAll,or AsyncAll\&.
.fi
.sp
.nf
time
Specifies the time\&.You can pass either a timestamp or
CurrentTime\&.
.fi
.SH "DESCRIPTION"
.sp
The XAllowDeviceEvents 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 and device, or if the specified time is later than the current X server time\&.
.sp
The following describes the processing that occurs depending on what constant you pass to the event_mode argument\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
AsyncThisDevice \- If the specified device is frozen by the client, event processing for that device continues as usual\&. If the device is frozen multiple times by the client on behalf of multiple separate grabs, AsyncThisDevice thaws for all\&.AsyncThisDevice has no effect if the specified device is not frozen by the client, but the device need not be grabbed by the client\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
SyncThisDevice \- If the specified device is frozen and actively grabbed by the client, event processing for that device continues normally until the next key or button event is reported to the client\&. At this time, the specified device again appears to freeze\&. However, if the reported event causes the grab to be released, the specified device does not freeze\&. SyncThisDevice has no effect if the specified device is not frozen by the client or is not grabbed by the client\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ReplayThisDevice \- If the specified device is actively grabbed by the client and is frozen as the result of an event having been sent to the client (either from the activation of a GrabDeviceButton or from a previous AllowDeviceEvents with mode SyncThisDevice, but not from a GrabDevice), the grab is released and that event is completely reprocessed\&. This time, however, the request ignores any passive grabs at or above (toward the root) that the grab\-window of the grab just released\&. The request has no effect if the specified device is not grabbed by the client or if it is not frozen as the result of an event\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
AsyncOtherDevices \- If the remaining devices are frozen by the client, event processing for them continues as usual\&. If the other devices are frozen multiple times by the client on behalf of multiple grabs, AsyncOtherDevices "thaws" for all\&. AsyncOtherDevices has no effect if the devices are not frozen by the client\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
SyncAll \- If all devices are frozen by the client, event processing (for all devices) continues normally until the next button or key event is reported to the client for a grabbed device, at which time all devices again appear to freeze\&. However, if the reported event causes the grab to be released, then the devices do not freeze\&. If any device is still grabbed, then a subsequent event for it will still cause all devices to freeze\&. SyncAll has no effect unless all devices are frozen by the client\&. If any device is frozen twice by the client on behalf of two separate grabs, SyncAll thaws for both\&. A subsequent freeze for SyncAll will only freeze each device once\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
AsyncAll \- If all devices are frozen by the client, event processing for all devices continues normally\&. If any device is frozen multiple times by the client on behalf of multiple separate grabs, AsyncAll thaws for all\&. AsyncAll has no effect unless all devices are frozen by the client\&.
.RE
.sp
AsyncThisDevice, SyncThisDevice, and ReplayThisDevice have no effect on the processing of events from the remaining devices\&.AsyncOtherDevices has no effect on the processing of events from the specified device\&. When the event_mode is SyncAll or AsyncAll, the device parameter is ignored\&.
.sp
It is possible for several grabs of different devices by the same or different clients to be active simultaneously\&. If a device is frozen on behalf of any grab, no event processing is performed for the device\&. It is possible for a single device to be frozen because of several grabs\&. In this case, the freeze must be released on behalf of each grab before events can again be processed\&.
.sp
XAllowDeviceEvents can generate a BadDevice or BadValue error\&.
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
An invalid mode was specified on the request\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XGrabDevice(3)
.fi
.if n \{\
.RE
.\}
07070100026b60000081a400000000000000000000000153c5c3ef000011d50000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XISelectEvents.3 '\" t
.\" Title: xiselectevents
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XISELECTEVENTS" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XISelectEvents, XIGetSelectedEvents \- select for or get selected XI2 events on the window\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XISelectEvents( Display *display,
Window win,
XIEventMask *masks,
int num_masks);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
masks
Device event mask\&.
.fi
.sp
.nf
num_masks
Number of masks in masks\&.
.fi
.sp
.nf
win
Specifies the window\&.
.fi
.sp
.nf
XIEventMask *XIGetSelectedEvents( Display *display,
Window win,
int *num_masks_return);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
num_masks_return
Number of masks in the return value\&.
.fi
.sp
.nf
win
Specifies the window\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XI2 events must be selected using XISelectEvents\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XISelectEvents sets the event mask for this client on win\&.
Further events are only reported to this client if the event
type matches the selected event mask\&. The masks overrides the
previously selected event mask for the given device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If deviceid is a valid device, the event mask is selected only
for this device\&. If deviceid is XIAllDevices or
XIAllMasterDevices, the event mask is selected for all devices
or all master devices, respectively\&. The effective event mask
is the bit\-wise OR of the XIAllDevices, XIAllMasterDevices and
the respective device\*(Aqs event mask\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int deviceid;
int mask_len;
unsigned char* mask;
} XIEventMask;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The mask_len specifies the length of mask in bytes\&. mask is a
binary mask in the form of (1 << event type)\&. deviceid must be
either a device or XIAllDevices or XIAllMasterDevices\&. A client
may submit several masks with the same deviceid in one request
but only the last mask will be effective\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XISelectEvents can generate a BadValue, a BadDevice, and a
BadWindow error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIGetSelectedEvents returns the events selected by this client on the given
window\&. If no events were selected on this window, XIGetSelectedEvents
returns NULL and num_masks_return is set to 0\&. If an internal error occurs,
XIGetSelectedEvents returns NULL and num_masks_return is set to \-1\&.
Otherwise, XIGetSelectedEvent returns the selected event masks for all
devices including the masks for XIAllDevices and XIAllMasterDevices
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The caller must free the returned data using XFree()\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
A value is outside of the permitted range\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist\&.
.fi
.if n \{\
.RE
.\}
07070100026b3e000081a400000000000000000000000153c5c3ef0000170f0000011200010015ffffffffffffffff0000003200000000root/usr/local/share/man/man3/XGetDeviceControl.3 '\" t
.\" Title: xgetdevicecontrol
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETDEVICECONTROL" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetDeviceControl, XChangeDeviceControl \- query and change input device controls
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XDeviceControl *XGetDeviceControl( Display *display,
XDevice *device,
int *controlType);
.fi
.sp
.nf
int XChangeDeviceControl( Display *display,
XDevice *device,
int controlType,
XDeviceControl *control);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose control is to be interrogated
or modified\&.
.fi
.sp
.nf
controlType
Specifies the type of control to be interrogated or
changed\&.
.fi
.sp
.nf
control
Specifies the address of an XDeviceControl structure
that contains the new values for the Device\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
These requests are provided to manipulate those input devices
that support device control\&. A BadMatch error will be generated
if the requested device does not support any device controls\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Valid device control types that can be used with these requests
include the following:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
DEVICE_RESOLUTION: Queries or changes the resolution of
valuators on input devices\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetDeviceControl request returns a pointer to an
XDeviceControl structure\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceControl can generate a BadDevice or BadMatch error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XChangeDeviceControl request modifies the values of one
control on the specified device\&. The control is identified by
the id field of the XDeviceControl structure that is passed
with the request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeDeviceControl can generate a BadDevice, BadMatch, or
BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SH "STRUCTURES"
.sp
.if n \{\
.RS 4
.\}
.nf
Each control is described by a structure specific to that control\&.
These structures are defined in the file XInput\&.h\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XDeviceControl is a generic structure that contains two fields
that are at the beginning of each class of control:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
} XDeviceControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XDeviceResolutionState structure defines the information
that is returned for device resolution for devices with
valuators\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID control;
int length;
int num_valuators;
int* resolutions;
int* min_resolutions;
int* max_resolutions;
} XDeviceResolutionState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XDeviceResolutionControl structure defines the attributes
that can be controlled for keyboard Devices\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID control;
int length;
int first_valuator;
int num_valuators;
int* resolutions;
} XDeviceResolutionControl;
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if some
other client has caused the specified device to become
the X keyboard or X pointer device via the
XChangeKeyboardDevice or XChangePointerDevice requests\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetDeviceControl request was
made specifying a device that has no controls or an
XChangeDeviceControl request was made with an
XDeviceControl structure that contains an invalid Device
type\&. It may also occur if an invalid combination of
mask bits is specified ( DvKey but no DvAutoRepeatMode
for keyboard Devices), or if an invalid KeySym is
specified for a string Device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
Some numeric value falls outside the range of values
accepted by the XChangeDeviceControl request\&. Unless a
specific range is specified for an argument, the full
range defined by the argument\*(Aqs type is accepted\&. Any
argument defined as a set of alternatives can generate
this error\&.
.fi
.if n \{\
.RE
.\}
07070100026b5e000081a400000000000000000000000153c5c3ef000011610000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XIQueryPointer.3 '\" t
.\" Title: xiquerypointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIQUERYPOINTER" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIQueryPointer \- get device pointer coordinates\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Bool XIQueryPointer( Display *display,
int deviceid,
Window win,
Window *root_return,
Window *child_return,
double *root_x_return,
double *root_y_return,
double *win_x_return,
double *win_y_return,
XIButtonState *buttons_return,
XIModifierState *modifiers_return,
XIGroupState *group_return);
.fi
.sp
.nf
buttons_return
Returns the current button state\&.
.fi
.sp
.nf
child_return
Returns the child window that the pointer is located in,
if any\&.
.fi
.sp
.nf
deviceid
Specifies the device to query\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
group_return
Returns the current group state\&.
.fi
.sp
.nf
modifiers_return
Returns the current state of the modifier keys\&.
.fi
.sp
.nf
root_return
Returns the root window that the pointer is in\&.
.fi
.sp
.nf
root_x_return, root_y_return
Return the pointer coordinates relative to the root
window\*(Aqs origin\&.
.fi
.sp
.nf
win
Specifies the window\&.
.fi
.sp
.nf
win_x_return, win_y_return
Return the pointer coordinates relative to the specified
window\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XIQueryPointer function returns the root window the
device\*(Aqs pointer is logically on and the pointer coordinates
relative to the root window\*(Aqs origin\&. If XIQueryPointer returns
False, the pointer is not on the same screen as the specified
window, and XIQueryPointer returns None to child_return and
zero to win_x_return and win_y_return\&. If XIQueryPointer
returns 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, XIQueryPointer returns the child that
contains the pointer, if any, or else None to child_return\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIQueryPointer returns the current logical state of the buttons
buttons_return\&. The keyboard paired with the master pointer is
selected to obtain the data for modifiers_return and
group_return\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The mask field in buttons_return is dynamically allocated and
must be freed by the caller\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIQueryPointer is identical to XQueryPointer but specifies the
device explicitly\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIQueryPointer can generate a BadDevice and a BadWindow error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XQueryPointer(3)
.fi
.if n \{\
.RE
.\}
07070100026b74000081a400000000000000000000000153c5c3ef000000250000011200010015ffffffffffffffff0000003a00000000root/usr/local/share/man/man3/XSetDeviceModifierMapping.3 .so man3/XGetDeviceModifierMapping.3
07070100026b70000081a400000000000000000000000153c5c3ef000016a20000011200010015ffffffffffffffff0000003400000000root/usr/local/share/man/man3/XSendExtensionEvent.3 '\" t
.\" Title: xsendextensionevent
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XSENDEXTENSIONEVENT" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XSendExtensionEvent \- send input extension events to a client
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XSendExtensionEvent( Display *display,
XDevice *device,
Window destination,
Bool propagate,
int event_count,
XEventClass *event_list,
XEvent *event_send);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device from which the events are to be
sent\&.
.fi
.sp
.nf
destination
Specifies the window the event is to be sent to\&. You can
pass window id, PointerWindow,or InputFocus\&.
.fi
.sp
.nf
propagate
Specifies a Boolean value that is either True or False\&.
.fi
.sp
.nf
event_count
Specifies the count of XEventClasses in event_list\&.
.fi
.sp
.nf
event_list
Specifies the list of event selections to be used\&.
.fi
.sp
.nf
event_send
Specifies a pointer to the event that is to be sent\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSendExtensionEvent request identifies the destination
window, determines which clients should receive the specified
events, and ignores any active grabs\&. This request requires you
to pass an event class list\&. For a discussion of the valid
event class names, see XOpenDevice(3) This
request uses the w argument to identify the destination window
as follows:
* If w is PointerWindow,the destination window is the window
that contains the pointer\&.
* If w is InputFocusand 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
To determine which clients should receive the specified events,
XSendExtensionEventuses the propagate argument as follows:
* If event_list 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\&.
* If propagate is False,the event is sent to every client
selecting on destination any of the eventtypes specified by
the event_list array\&.
* If propagate is Trueand no clients have selected on
destination any ofthe events specified by the event_list
array,the destination is replaced with theclosest ancestor
of destination for which some client has selected atype
specified by the event\-list array and for which no
interveningwindow has that type in
itsdo\-not\-propagate\-mask\&. If no such window exists or if
the window isan ancestor of the focus window and
InputFocuswas originally specifiedas the destination, the
event is not sent to any clients\&. Otherwise, the event is
reported to every client selecting on the finaldestination
any of the events specified in the event_list array\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The event in the XEventstructure must be one of the events
defined by the input extension (or a BadValueerror results) so
that the X server can correctly byte\-swapthe contents as
necessary\&. The contents of the event areotherwise unaltered and
unchecked by the X server except to force send_event to Truein
the forwarded event and to set the serial number in the event
correctly\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSendExtensionEventreturns zero if the conversion to wire
protocol format failedand returns nonzero
otherwise\&.XSendExtensionEventcan generate BadClass, BadDevice,
BadValue, and BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
07070100026b4c000081a400000000000000000000000153c5c3ef000000230000011200010015ffffffffffffffff0000003900000000root/usr/local/share/man/man3/XIBarrierReleasePointers.3 .so man3/XIBarrierReleasePointer.3
07070100026b78000081a400000000000000000000000153c5c3ef0000001a0000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XUngrabDeviceKey.3 .so man3/XGrabDeviceKey.3
07070100026b62000081a400000000000000000000000153c5c3ef000010120000011200010015ffffffffffffffff0000002b00000000root/usr/local/share/man/man3/XISetFocus.3 '\" t
.\" Title: xisetfocus
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XISETFOCUS" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XISetFocus, XIGetFocus \- set or get the device\*(Aqs focus\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XISetFocus( Display *display,
int deviceid,
Window focus,
Time time);
.fi
.sp
.nf
Status XIGetFocus( Display *display,
Window *focus_return);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
deviceid
Specifies the device whose focus is to be queried or
changed\&.
.fi
.sp
.nf
focus
The new focus window\&.
.fi
.sp
.nf
focus_return
Returns the current focus window\&.
.fi
.sp
.nf
time
A valid timestamp or CurrentTime\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XISetFocus changes the focus of the specified device ans its
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\&.
CurrentTime is replaced by the current X server time)\&.
XISetFocus causes the X server to generate core, XI and XI2
focus events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the focus window is None all keyboard events by this device
are discarded until a new focus window is set\&. Otherwise, if
focus is a window, it becomes the device\*(Aqs focus window\&. If a
generated device 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The specified focus window must be viewable at the time
XISetFocus is called, or a BadMatch error results\&. If the focus
window later becomes not viewable, the focus reverts to the
parent (or the closest viewable ancestor\&. When the focus
reverts, the X server generates core, XI and XI2 focus events
but the last\-focus\-change time is not affected\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Attempting to set the focus on a master pointer device or an
attached slave device will result in a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XISetFocus can generate BadDevice, BadMatch, BadValue, and
BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
A value is outside of the permitted range\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a appropriate for the type of change\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
The window is not viewable\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
07070100026b65000081a400000000000000000000000153c5c3ef000000180000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XIUngrabDevice.3 .so man3/XIGrabDevice.3
07070100026b59000081a400000000000000000000000153c5c3ef000000170000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XIGrabFocusIn.3 .so man3/XIGrabEnter.3
07070100026b31000081a400000000000000000000000153c5c3ef0000001d0000011200010015ffffffffffffffff0000003500000000root/usr/local/share/man/man3/XChangeDeviceControl.3 .so man3/XGetDeviceControl.3
07070100026b38000081a400000000000000000000000153c5c3ef000000170000011200010015ffffffffffffffff0000002d00000000root/usr/local/share/man/man3/XCloseDevice.3 .so man3/XOpenDevice.3
07070100026b6f000081a400000000000000000000000153c5c3ef000018000000011200010015ffffffffffffffff0000003600000000root/usr/local/share/man/man3/XSelectExtensionEvent.3 '\" t
.\" Title: xselectextensionevent
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XSELECTEXTENSIONEVEN" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XSelectExtensionEvent, XGetSelectedExtensionEvents \- select extension events, get the list of currently selected extension events
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XSelectExtensionEvent( Display *display,
Window w,
XEventClass *event_list,
int event_count);
.fi
.sp
.nf
XGetSelectedExtensionEvents( Display *display,
Window w,
int *this_client_event_count_return,
XEventClass **this_client_event_list_return,
int *all_clients_event_count_return,
XEventClass **all_clients_event_list_return);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
w
Specifies the window whose events you are interested in\&.
.fi
.sp
.nf
event_list
Specifies the list of event classes that describe the
events you are interested in\&.
.fi
.sp
.nf
event_count
Specifies the count of event classes in the event list\&.
.fi
.sp
.nf
this_client_event_count_return
Returns the count of event classes selected by this
client\&.
.fi
.sp
.nf
this_client_event_list_return
Returns a pointer to the list of event classes selected
by this client\&.
.fi
.sp
.nf
all_clients_event_count_return
Returns the count of event classes selected by all
clients\&.
.fi
.sp
.nf
all_clients_event_list_return
Returns a pointer to the list of event classes selected
by all clients\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSelectExtensionEvent request causes the X server to report
the events associated with the specified list of event classes\&.
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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Multiple clients can select for the same events on the same
window with the following restrictions:
* 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\&.
* Only one client at a time can select a DeviceButtonPress
event with automatic passive grabbing enabled, which is
associated with the event class DeviceButtonPressGrab\&. To
receive DeviceButtonPress events without automatic passive
grabbing, use event class DeviceButtonPress but do not
specify event class DeviceButtonPressGrab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The server reports the event to all interested clients\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Information contained in the XDevice structure returned by
XOpenDevice is used by macros to obtain the event classes that
clients use in making XSelectExtensionEvent requests\&. Currently
defined macros include DeviceKeyPress, DeviceKeyRelease,
DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
DeviceStateNotify, DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
DeviceButtonPressGrab, and NoExtensionEvent\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
To obtain the proper event class for a particular device, one
of the above macros is invoked using the XDevice structure for
that device\&. For example,
DeviceKeyPress (*device, type, eventclass);
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
returns the DeviceKeyPress event type and the eventclass for
selecting DeviceKeyPress events from this device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSelectExtensionEvent can generate a BadWindow or BadClass
error\&. The XGetSelectedExtensionEvents request reports the
extension events selected by this client and all clients for
the specified window\&. This request returns pointers to two
XEventClass arrays\&. One lists the input extension events
selected by this client from the specified window\&. The other
lists the event classes selected by all clients from the
specified window\&. You should use XFree to free these two
arrays\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetSelectedExtensionEvents can generate a BadWindow error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadClass
A value for an XEventClass is invalid\&.
.fi
.if n \{\
.RE
.\}
07070100026b5b000081a400000000000000000000000153c5c3ef000000180000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XIGrabTouchBegin.3 .so man3/XIGrabButton.3
07070100026b67000081a400000000000000000000000153c5c3ef000000170000011200010015ffffffffffffffff0000003000000000root/usr/local/share/man/man3/XIUngrabFocusIn.3 .so man3/XIGrabEnter.3
07070100026b77000081a400000000000000000000000153c5c3ef0000001d0000011200010015ffffffffffffffff0000003400000000root/usr/local/share/man/man3/XUngrabDeviceButton.3 .so man3/XGrabDeviceButton.3
07070100026b41000081a400000000000000000000000153c5c3ef00001bd80000011200010015ffffffffffffffff0000003500000000root/usr/local/share/man/man3/XGetDeviceKeyMapping.3 '\" t
.\" Title: xgetdevicekeymapping
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETDEVICEKEYMAPPING" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetDeviceKeyMapping, XChangeDeviceKeyMapping \- query or change device key mappings
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
KeySym *XGetDeviceKeyMapping( Display *display,
XDevice *device,
KeyCode first_keycode,
int keycode_count,
int *keysyms_per_keycode_return);
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose key mapping is to be queried
or modified\&.
.fi
.sp
.nf
first_keycode
Specifies the first KeyCode to be returned\&.
.fi
.sp
.nf
keycode_count
Specifies the number of KeyCodes to be returned or
modified\&.
.fi
.sp
.nf
keysyms_per_keycode
Specifies the number of KeySyms per KeyCode\&.
.fi
.sp
.nf
keysyms_per_keycode_return
Specifies the address of a variable into which the
number of KeySyms per KeyCodewill be returned\&.
.fi
.sp
.nf
keysyms
Specifies the address of an array of KeySyms\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
For the specified device, the XGetDeviceKeyMapping request
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 XListInputDevices, or a BadValue error results\&. In
addition, the following expression must be less than or equal
to max_keycode as returned by XListInputDevices:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
first_keycode + keycode_count \- 1
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If this is not the case, a BadValue error results\&. The number
of elements in the KeySyms list is:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
keycode_count * keysyms_per_keycode_return
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
KeySym number N, counting from zero, for KeyCode K has the
following index in the list, counting from zero: (K \-
first_code) * keysyms_per_code_return + N
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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 NoSymbol is used to fill in unused
elements for individual KeyCodes\&. To free the storage returned
by XGetDeviceKeyMapping, use XFree\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the specified device does not support input class keys, a
BadMatch error will result\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceKeyMapping can generate a BadDevice, BadMatch, or
BadValue error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
For the specified device, the XChangeDeviceKeyMapping request
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:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
num_codes * keysyms_per_keycode
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The specified first_keycode must be greater than or equal to
min_keycode returned by XListInputDevices, or a BadValue error
results\&. In addition, the following expression must be less
than or equal to max_keycode as returned by XListInputDevices,
or a BadValue error results:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
first_keycode + num_codes \- 1
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
KeySym number N, counting from zero, for KeyCode K has the
following index in keysyms, counting from zero:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
(K \- first_keycode) * keysyms_per_keycode + N
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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 NoSymbol should be used to fill in
unused elements for individual KeyCodes\&. It is legal for
NoSymbol to appear in nontrailing positions of the effective
list for a KeyCode\&.XChangeDeviceKeyMapping generates a
DeviceMappingNotify event that is sent to all clients that have
selected that type of event\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
There is no requirement that the X server interpret this
mapping\&. It is merely stored for reading and writing by
clients\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the specified device does not support input class keys, a
BadMatch error results\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeDeviceKeyMapping can generate a BadDevice, BadMatch,
BadAlloc, or BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetDeviceKeyMapping or
XChangeDeviceKeyMapping request was made specifying a
device that has no keys\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadAlloc
The server failed to allocate the requested resource or
server memory\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceButtonMapping(3), XSetDeviceModifierMapping(__3_)
.fi
.if n \{\
.RE
.\}
07070100026b4a000081a400000000000000000000000153c5c3ef000021090000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XGrabDeviceKey.3 '\" t
.\" Title: xgrabdevicekey
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGRABDEVICEKEY" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGrabDeviceKey, XUngrabDeviceKey \- grab/ungrab extension input device Keys
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XGrabDeviceKey( Display *display,
XDevice *device,
unsigned int key,
unsigned int modifiers,
XDevice *modifier_device,
Window grab_window,
Bool owner_events,
unsigned int event_count,
XEventClass *event_list,
int this_device_mode,
int other_devices_mode);
.fi
.sp
.nf
int XUngrabDeviceKey( Display *display,
XDevice *device,
unsigned int key,
unsigned int modifiers,
XDevice *modifier_device,
Window grab_window);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device that is to be grabbed or released\&.
.fi
.sp
.nf
Key
Specifies the device Key that is to be grabbed released
or AnyKey\&.
.fi
.sp
.nf
modifiers
Specifies the set of keymasks or AnyModifier\&.The mask is
the bitwise inclusive OR of the valid keymask bits\&.Valid
bits are: ShiftMask, LockMask, ControlMask, Mod1Mask,
Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask\&.
.fi
.sp
.nf
modifier_device
Specifies the device whose modifiers are to be used\&. If
a modifier_device ofNULL is specified, the X keyboard
will be used as the modifier_device\&.
.fi
.sp
.nf
grab_window
Specifies the grab window\&.
.fi
.sp
.nf
owner_events
Specifies a Boolean value that indicates whether the
deviceevents are to be reported as usual or reported
with respect to the grab windowif selected by the event
list\&.
.fi
.sp
.nf
event_count
Specifies the number of event classes in the event list\&.
.fi
.sp
.nf
event_list
Specifies which device events are reported to the
client\&.
.fi
.sp
.nf
this_device_mode
Specifies further processing of events from this
device\&.You can pass GrabModeSync or GrabModeAsync\&.
.fi
.sp
.nf
other_devices_mode
Specifies further processing of events from other
devices\&.You can pass GrabModeSyncor GrabModeAsync\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XGrabDeviceKey request establishes a passive grab\&. In the
future, the device is actively grabbed (as for XGrabDevice, the
last\-device\-grab time is set to the time at which the Key was
pressed (as transmitted in the DeviceKeyPress event), and the
DeviceKeyPress event is reported if all of the following
conditions are true:
* The device is not grabbed, and the specified key is
logically pressed when the specified modifier keys are
logically down, and no other keys or modifier keys are
logically down\&.
* The grab_window is an ancestor (or is) the focus window OR
the grab window is a descendant of the focus window and
contains the device\&.
* The confine_to window (if any) is viewable\&.
* A passive grab on the same key/modifier combination does
not exist on any ancestor of grab_window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The interpretation of the remaining arguments is as for
XGrabDevice\&. The active grab is terminated automatically when
the logical state of the device has the specified key released\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Note that the logical state of a device (as seen by means of
the X protocol ) may lag the physical state if device event
processing is frozen\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the key is not AnyKey, it must be in the range specified by
min_keycode and max_keycode as returned by the
XListInputDevices request\&. Otherwise, a BadValue error results\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This request overrides all previous grabs by the same client on
the same Key/modifier combinations on the same window\&. A
modifier of 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 key of
AnyKey is equivalent to issuing the request for all possible
keys\&. Otherwise, it is not required that the specified key
currently be assigned to a physical Key\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If a modifier_device of NULL is specified, the X keyboard will
be used as the modifier_device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If some other client has already issued a XGrabDeviceKey with
the same Key/modifier combination on the same window, a
BadAccess error results\&. When using AnyModifier or AnyKey, the
request fails completely, and a BadAccess error results (no
grabs are established) if there is a conflicting grab for any
combination\&.XGrabDeviceKey has no effect on an active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGrabDeviceKey can generate BadAccess, BadClass, BadDevice,
BadMatch, BadValue, and BadWindow errors\&. It returns Success on
successful completion of the request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XUngrabDeviceKey request releases the passive grab for a
key/modifier combination on the specified window if it was
grabbed by this client\&. A modifier of AnyModifier is equivalent
to issuing the ungrab request for all possible modifier
combinations, including the combination of no modifiers\&. A Key
of AnyKey is equivalent to issuing the request for all possible
Keys\&.XUngrabDeviceKey has no effect on an active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If a modifier_device of NULL is specified, the X keyboard will
be used as the modifier_device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XUngrabDeviceKey can generate BadDevice, BadMatch, BadValue and
BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGrabDeviceKey request was
made specifying a device that has no keys, or a modifier
device that has no keys\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XAllowDeviceEvents(3), XGrabDevice(3), XGrabDeviceButton(3)
.fi
.if n \{\
.RE
.\}
07070100026b43000081a400000000000000000000000153c5c3ef0000153f0000011200010015ffffffffffffffff0000003700000000root/usr/local/share/man/man3/XGetDeviceMotionEvents.3 '\" t
.\" Title: xgetdevicemotionevents
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETDEVICEMOTIONEVEN" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetDeviceMotionEvents, XDeviceTimeCoord \- get device motion history
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XDeviceTimeCoord *XGetDeviceMotionEvents( Display *display,
XDevice *device,
Time start,
Time stop,
int *nevents_return,
int *mode_return,
int *axis_count_return);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose motion history is to be
queried\&.
.fi
.sp
.nf
start, stop
Specify the time interval in which the events are
returned from the motionhistory buffer\&.You can pass a
timestamp or CurrentTime\&.
.fi
.sp
.nf
nevents_return
Returns the number of events from the motion history
buffer\&.
.fi
.sp
.nf
mode_return
Returns the mode of the device (Absolute or Relative)\&.
.fi
.sp
.nf
axis_count_return
Returns the count of axes being reported\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The server may retain the recent history of the device motion
and do so to a finer granularity than is reported by
DeviceMotionNotify events\&. The XGetDeviceMotionEvents request
makes this history available\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetDeviceMotionEvents request returns all events in the
motion history buffer that fall between the specified start and
stop times, inclusive\&. If the start time is later than the stop
time or if the start time is in the future, no events are
returned\&. If the stop time is in the future, it is equivalent
to specifying CurrentTime\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The mode indicates whether the device is reporting absolute
positional data (mode = Absolute ) or relative motion data
(mode = Relative )\&. Some devices allow their mode to be changed
via the XSetDeviceMode request\&. These constants are defined in
the file XI\&.h\&. The axis_count returns the number of axes or
valuators being reported by the device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceMotionEvents can generate a BadDevice, or BadMatch
error\&.
.fi
.if n \{\
.RE
.\}
.sp
Structures
.sp
.if n \{\
.RS 4
.\}
.nf
The XDeviceTimeCoord structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
Time time;
int *data;
} XDeviceTimeCoord;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The time member is set to the time, in milliseconds\&. The data
member is a pointer to an array of integers\&. These integers are
set to the values of each valuator or axis reported by the
device\&. There is one element in the array per axis of motion
reported by the device\&. The value of the array elements depends
on the mode of the device\&. If the mode is Absolute, the values
are the raw values generated by the device\&. These may be scaled
by client programs using the maximum values that the device can
generate\&. The maximum value for each axis of the device is
reported in the max_val field of the XAxisInfo returned by the
XListInputDevices request\&. If the mode is Relative, the data
values are the relative values generated by the device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
You should use XFreeDeviceMotionEvents to free the data
returned by this request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Errors returned by this request: BadDevice, BadMatch\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetDeviceMotionEvents
request is made specifying a device that has no
valuators and reports no axes of motion\&.
.fi
.if n \{\
.RE
.\}
07070100026b6c000081a400000000000000000000000153c5c3ef00002b300000011200010015ffffffffffffffff0000003200000000root/usr/local/share/man/man3/XListInputDevices.3 '\" t
.\" Title: xlistinputdevices
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XLISTINPUTDEVICES" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XListInputDevices, XFreeDeviceList \- list available input devices
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XDeviceInfo *XListInputDevices( Display *display,
int *ndevices_return);
.fi
.sp
.nf
int XFreeDeviceList( XDeviceInfo *list);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
ndevices_return
Specifies a pointer to a variable where the number of
available devices canbe returned\&.
.fi
.sp
.nf
list
Specifies the list of devices to free\&. The
XFreeDeviceList functionfrees the list of available
extension input devices\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XListInputDevices request lists the available input
devices\&. This list includes the core keyboard and any physical
input device currently accessible through the X server, and any
input devices that are not currently accessible through the X
server but could be accessed if requested\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A master pointer is a virtual pointer device that does not
represent a physical device\&. It is visually represented through
a cursor\&. A master keyboard is a virtual keyboard device that
does not represent a physical device\&. It is virtually
representd through a keyboard focus\&. A master pointer and a
master keyboard are always paired (i\&.e\&. if shift is pressed on
the master keyboard, a pointer click would be a shift\-click)\&.
Multiple master pointer/keyboard pairs can exist\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
X servers supporting the X Input Extension version 2,
XListInputDevices only returns the first master pointer, the
first master keyboard and all slave devices\&. Additional master
devices are not listed\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Physical devices (so\-called slave devices) are attached to
either a master pointer or a master keyboard, depending on
their capabilities\&. If a slave device generates an event, the
event is also generated by the respective master device\&.
Multiple slave devices can be attached to a single master
device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Some server implementations may make all physical input devices
available at the time the server is initialized\&. Others may
wait until requested by a client to access an input device\&. In
the latter case, it is possible that an input device will be
listed as available at one time but not at another\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
For each input device available to the server, the
XListInputDevices request returns an XDeviceInfo structure\&.
That structure contains a pointer to a list of structures, each
of which contains information about one class of input
supported by the device\&. The XDeviceInfo structure is defined
as follows:
typedef struct _XDeviceInfo {
XID id;
Atom type;
char *name;
int num_classes;
int use;
XAnyClassPtr inputclassinfo;
} XDeviceInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The id is a number in the range 0\-128 that uniquely identifies
the device\&. It is assigned to the device when it is initialized
by the server\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The type field is of type Atom and indicates the nature of the
device\&. The type will correspond to one of the following strings
(defined in the header file XI\&.h):
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XI_MOUSE XI_TABLET XI_KEYBOARD XI_TOUCHSCREEN XI_TOUCHPAD
XI_BUTTONBOX XI_BARCODE XI_TRACKBALL XI_QUADRATURE XI_ID_MODULE
XI_ONE_KNOB XI_NINE_KNOB XI_KNOB_BOX XI_SPACEBALL XI_DATAGLOVE
XI_EYETRACKER XI_CURSORKEYS XI_FOOTMOUSE XI_JOYSTICK
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
These strings may be used in an XInternAtom request to return
an atom that can be compared with the type field of the
XDeviceInfo structure\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The name field contains a pointer to a null\-terminated string
that serves as identifier of the device\&. This identifier may be
user\-configured or automatically assigned by the server\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The num_classes field is a number in the range 0\-255 that
specifies the number of input classes supported by the device
for which information is returned by ListInputDevices\&. Some
input classes, such as class Focus and class Proximity do not
have any information to be returned by ListInputDevices\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
All devices provide an AttachClass\&. This class specifies the
master device a given slave device is attached to\&. For master
devices, the class specifies the respective paired master
device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The use field specifies how the device is currently being used\&.
If the value is IsXKeyboard, the device is a master keyboard\&.
If the value is IsXPointer, the device is a master pointer\&. If
the value is IsXExtensionPointer, the device is a slave
pointer\&. If the value is IsXExtensionKeyboard, the device is a
slave keyboard\&. If the value is IsXExtensionDevice, the device
is available for use as an extension device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The inputclassinfo field contains a pointer to the first
input\-class specific data\&. The first two fields are common to
all classes\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The class field is a number in the range 0\-255\&. It uniquely
identifies the class of input for which information is
returned\&. Currently defined classes are KeyClass, ButtonClass,
and ValuatorClass\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The length field is a number in the range 0\- 255\&. It specifies
the number of bytes of data that are contained in this input
class\&. The length includes the class and length fields\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XKeyInfo structure describes the characteristics of the
keys on the device\&. It is defined as follows:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct _XKeyInfo {
XID class;
int length;
unsigned short min_keycode;
unsigned short max_keycode;
unsigned short num_keys;
} XKeyInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
min_keycode is of type KEYCODE\&. It specifies the minimum
keycode that the device will report\&. The minimum keycode will
not be smaller than 8\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
max_keycode is of type KEYCODE\&. It specifies the maximum
keycode that the device will report\&. The maximum keycode will
not be larger than 255\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
num_keys specifies the number of keys that the device has\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XButtonInfo structure defines the characteristics of the
buttons on the device\&. It is defined as follows:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct _XButtonInfo {
XID class;
int length;
short num_buttons;
} XButtonInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
num_buttons specifies the number of buttons that the device
has\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XValuatorInfo structure defines the characteristics of the
valuators on the device\&. It is defined as follows:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct _XValuatorInfo {
XID class;
int length;
unsigned char num_axes;
unsigned char mode;
unsigned long motion_buffer;
XAxisInfoPtr axes;
} XValuatorInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
num_axes contains the number of axes the device supports\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
mode is a constant that has one of the following values:
Absolute or Relative\&. Some devices allow the mode to be changed
dynamically via the SetDeviceMode request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
motion_buffer_size is a cardinal number that specifies the
number of elements that can be contained in the motion history
buffer for the device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The axes field contains a pointer to an XAxisInfo structure\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XAxisInfo structure is defined as follows:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct _XAxisInfo {
int resolution;
int min_value;
int max_value;
} XAxisInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The resolution contains a number in counts/meter\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The min_val field contains a number that specifies the minimum
value the device reports for this axis\&. For devices whose mode
is Relative, the min_val field will contain 0\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The max_val field contains a number that specifies the maximum
value the device reports for this axis\&. For devices whose mode
is Relative, the max_val field will contain 0\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XAttachInfo structure is defined as follows:
typedef struct _XAttachInfo {
int attached;
} XAttachInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the device is a slave device, attached specifies the device
ID of the master device this device is attached to\&. If the
device is not attached to a master device, attached is
Floating\&. If the device is a master device, attached specifies
the device ID of the master device this device is paired with\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
To free the XDeviceInfo array created by XListInputDevices, use
XFreeDeviceList\&.
.fi
.if n \{\
.RE
.\}
07070100026b72000081a400000000000000000000000153c5c3ef00001c5f0000011200010015ffffffffffffffff0000003000000000root/usr/local/share/man/man3/XSetDeviceFocus.3 '\" t
.\" Title: xsetdevicefocus
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XSETDEVICEFOCUS" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XSetDeviceFocus, XGetDeviceFocus \- control extension input device focus
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XSetDeviceFocus( Display *display,
XDevice *device,
Window focus,
int revert_to,
Time time);
.fi
.sp
.nf
XGetDeviceFocus( Display *display,
XDevice *device,
Window *focus_return,
int *revert_to_return,
int * time_return);
.fi
.sp
Arguments
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose focus is to be queried or
changed\&.
.fi
.sp
.nf
focus
Specifies the window, PointerRoot, FollowKeyboard,or
None\&.
.fi
.sp
.nf
focus_return
Returns the focus window, PointerRoot, FollowKeyboard,or
None\&.
.fi
.sp
.nf
revert_to
Specifies where the input focus reverts to if the window
becomes notviewable\&.You can pass RevertToParent,
RevertToPointerRoot, RevertToFollowKeyboard,or
RevertToNone\&.
.fi
.sp
.nf
revert_to_return
Returns the current focus state RevertToParent,
RevertToPointerRoot, RevertToFollowKeyboard,or
RevertToNone\&.
.fi
.sp
.nf
time_return
Returns the last_focus_time for the device\&.
.fi
.sp
.nf
time
Specifies the time\&.You can pass either a timestamp or
CurrentTime\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSetDeviceFocus request changes the focus of the specified
device and its 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 CurrentTime
is replaced by the current X server time)\&. XSetDeviceFocus
causes the X server to generate DeviceFocusIn and
DeviceFocusOut events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Depending on the focus argument, the following occurs:
* If focus is None , all device events are discarded until a
new focus window is set, and the revert_to argument is
ignored\&.
* If focus is a window, it becomes the device\*(Aqs focus window\&.
If a generated device 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\&.
* If focus is PointerRoot, the focus window is dynamically
taken to be the root window of whatever screen the pointer
is on at each event from the specified device\&. In this
case, the revert_to argument is ignored\&.
* If focus is FollowKeyboard, the focus window is dynamically
taken to be the window to which the X keyboard focus is set
at each input event\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The specified focus window must be viewable at the time
XSetDeviceFocus is called, or a 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:
* If revert_to is RevertToParent, the focus reverts to the
parent (or the closest viewable ancestor), and the new
revert_to value is taken to be RevertToNone\&.
* If revert_to is RevertToPointerRoot,
RevertToFollowKeyboard, or RevertToNone, the focus reverts
to PointerRoot, FollowKeyboard, or None, respectively\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
When the focus reverts, the X server generates DeviceFocusIn
and DeviceFocusOut events, but the last\-focus\-change time is
not affected\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Input extension devices are not required to support the ability
to be focused\&. Attempting to set the focus of a device that
does not support this request will result in a BadMatch error\&.
Whether or not given device can support this request can be
determined by the information returned by XOpenDevice\&. For
those devices that support focus, XOpenDevice will return an
XInputClassInfo structure with the input_class field equal to
the constant FocusClass (defined in the file XI\&.h)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceFocus can generate BadDevice, BadMatch, BadValue, and
BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetDeviceFocus request returns the focus window and the
current focus state\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Not all input extension devices can be focused\&. Attempting to
query the focus state of a device that can\*(Aqt be focused results
in a BadMatch error\&. A device that can be focused returns
information for input Class Focus when an XOpenDevice request
is made\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceFocus can generate BadDevice, and BadMatch errors\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetDeviceFocus or
XSetDeviceFocus request was made specifying a device
that the server implementation does not allow to be
focused\&.
.fi
.if n \{\
.RE
.\}
07070100026b58000081a400000000000000000000000153c5c3ef0000232e0000011200010015ffffffffffffffff0000002c00000000root/usr/local/share/man/man3/XIGrabEnter.3 '\" t
.\" Title: xigrabenter
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIGRABENTER" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIGrabEnter, XIUngrabEnter, XIGrabFocusIn, XIUngrabFocusIn \- grab/ungrab enter or focus in events\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XIGrabEnter( Display *display,
int deviceid,
Window grab_window,
Cursor cursor,
int grab_mode,
int paired_device_mode,
Bool owner_events,
XIEventMask *mask,
int num_modifiers,
XIGrabModifiers *modifiers_inout);
.fi
.sp
.nf
int XIUngrabEnter( Display *display,
int deviceid,
Window grab_window
int num_modifiers,
XIGrabModifiers *modifiers);
.fi
.sp
.nf
int XIGrabFocusIn ( Display *display,
int deviceid,
Window grab_window
int grab_mode,
int paired_device_mode,
Bool owner_events,
XIEventMask *mask,
int num_modifiers,
XIGrabModifiers *modifiers_inout);
.fi
.sp
.nf
int XIUngrabFocusIn( Display *display,
int deviceid,
Window grab_window
int num_modifiers,
XIGrabModifiers *modifiers);
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device that is to be grabbed or released
.fi
.sp
.nf
num_modifiers
Number of elements in modifiers or modifiers_inout\&.
.fi
.sp
.nf
modifiers
Specifies the set of latched and base modifiers or
XIAnyModifier to ungrab\&. The data type is for
consistency with the respective grab request and the
status code of the XIGrabModifiers struct is ignored\&.
.fi
.sp
.nf
modifiers_inout
Specifies the set of latched and base modifiers or
XIAnyModifier to grab\&. Returns the modifiers that could
not be grabbed and their status code\&.
.fi
.sp
.nf
grab_window
Specifies the grab window\&.
.fi
.sp
.nf
owner_events
Specifies a Boolean value that indicates whether the are
to be reported as usual or reported with respect to the
grab window\&.
.fi
.sp
.nf
mask
Specifies the event mask\&.
.fi
.sp
.nf
grab_mode
Specifies further processing of events from this device\&.
You can pass XIGrabModeSync or XIGrabModeAsync\&.
.fi
.sp
.nf
paired_device_mode
Specifies further processing of events from the paired
master device\&. You can pass XIGrabModeSync or
XIGrabModeAsync\&. If deviceid specifies a floating slave
device, this parameter is ignored\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabEnter and XIGrabFocusIn establish a passive grab\&. The
modifier device for a enter grab is the paired master device if
deviceid specifies a master pointer\&. Otherwise, the modifier
device is the device specified with deviceid\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
For XIGrabEnter and XIGrabFocusIn, in the future, the device is
actively grabbed (as for XIGrabDevice, the last\-grab time is
set to the time at which the pointer/focus entered window) if
the device is not grabbed and the pointer has entered the
grab_window or the focus has been set to the grab_window when
the specified modifier keys are logically down on the modifier
device and no other buttons or modifier keys are logically
down\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The interpretation of the remaining arguments is as for
XIGrabDevice\&. The active grab is terminated automatically when
the pointer leaves the window or the focus is set to a
different window (independent of the logical state of the
modifier keys)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the device is an attached slave device, the device is
automatically detached from the master device when the grab
activates and reattached to the same master device when the
grab deactivates\&. If the master device is removed while the
device is floating as a result of a grab, the device remains
floating once the grab deactivates\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Note that the logical state of a device (as seen by client
applications) may lag the physical state if device event
processing is frozen\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This request overrides all previous grabs by the same client of
the same type and modifier combinations on the same window\&. A
modifiers of XIAnyModifier 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If some other client has already issued a XIGrabEnter or
XIGrabFocusIn on the same window, a BadAccess error results\&.
When using XIAnyModifier, the request fails completely, and a
XIBadAccess error results (no grabs are established) if there
is a conflicting grab for any combination\&. XIGrabEnter and
XIGrabFocusin have no effect on an active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
On success, XIGrabEnter and XIGrabFocusIn return 0;
If one or more modifier combinations could not be grabbed,
XIGrabEnter and XIGrabFocusIn return the number of failed
combinations and modifiers_inout contains the failed combinations
and their respective status codes\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabEnter and XIGrabFocusIn can generate BadDevice,
BadMatch, BadValue, and BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIUngrabEnter and XIUngrabFocusIn releases the passive grab on
the specified window if it was grabbed by this client\&. A
modifier of XIAnyModifier is equivalent to issuing the ungrab
request for all possible modifier combinations, including the
combination of no modifiers\&. XIUngrabEnter and XIUngrabFocusIn
have no effect on an active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIUngrabEnter and XIUngrabFocusIn can generate BadDevice,
BadMatch, BadValue and BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.SH "RETURN VALUE"
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabEnter and XIGrabFocusIn return the number of modifier combination
that could not establish a passive grab\&. The modifiers are returned in
modifiers_inout, along with the respective error for this modifier
combination\&. If XIGrabEnter or XIGrabFocusIn return zero, passive grabs
with all requested modifier combinations were established successfully\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid deviceid was specified\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if XIGrabEnter specified a device
that has no valuators, or XIGrabFocusIn specified a device
that has no keys\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.SH "BUGS"
.sp
.if n \{\
.RS 4
.\}
.nf
The protocol headers for XI 2\&.0 did not provide
XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
GrabModeAsync instead, respectively\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XIAllowEvents(3)
.fi
.if n \{\
.RE
.\}
07070100026b57000081a400000000000000000000000153c5c3ef00001c000000011200010015ffffffffffffffff0000002d00000000root/usr/local/share/man/man3/XIGrabDevice.3 '\" t
.\" Title: xigrabdevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIGRABDEVICE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIGrabDevice, XIUngrabDevice \- grab or ungrab the device\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XIGrabDevice( Display *display,
int deviceid,
Window grab_window,
Time time,
Cursor cursor,
int grab_mode,
int paired_device_mode,
Bool owner_events,
XIEventMask *mask);
.fi
.sp
.nf
Status XIUngrabDevice( Display *display,
int deviceid,
Time time);
.fi
.sp
.nf
cursor
Specifies the cursor image to display for the duration
of the grab\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
deviceid
Specifies the device that should be grabbed or
ungrabbed\&.
.fi
.sp
.nf
grab_mode, paired_device_mode
The grab mode for this device and (if applicable) the
paired device\&.
.fi
.sp
.nf
grab_window
The grab window\&.
.fi
.sp
.nf
mask
Event mask\&.
.fi
.sp
.nf
owner_events
True if events are to be reported normally\&.
.fi
.sp
.nf
time
A valid timestamp or CurrentTime\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabDevice actively grabs control of the device\&. Further
device events are reported only to the grabbing client\&.
XIGrabDevice overrides any active device grab by this client\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the device is an attached slave device, the device is
automatically detached from the master device and reattached to
the same master device when client ungrabs the device\&. If the
master device is removed while the device is floating as a
result of a grab, the device remains floating once the grab
deactivates\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If owner_events is False, all generated device events are
reported with respect to grab_window if selected\&. If
owner_events is True and if a generated device event would
normally be reported to this client, it is reported normally;
otherwise, the event is reported with respect to the
grab_window, and is only reported if specified in the event
mask\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the grab_mode argument is XIGrabModeAsync, device event
processing continues as usual\&. If the device is currently
frozen by this client, then processing of device events is
resumed\&. If the grab_mode argument is XIGrabModeSync, the state
of the device (as seen by client applications) appears to
freeze, and the X server generates no further device events
until the grabbing client issues a releasing XIAllowEvents call
or until the device grab is released\&. Actual device changes are
not lost while the device is frozen; they are simply queued in
the server for later processing\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If paired_device_mode is XIGrabModeAsync, processing of events
from the paired master device is unaffected by activation of
the grab\&. If paired_device_mode is XIGrabModeSync, the state of
the paired master device (as seen by client applications)
appears to freeze, and the X server generates no further events
from this device until the grabbing client issues a releasing
XIAllowEvents call or until the device grab is released\&. Actual
events are not lost while the devices are frozen; they are
simply queued in the server for later processing\&. If the device
is a slave device paired_device_mode is ignored\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the device is actively grabbed by some other client,
XIGrabDevice fails and returns AlreadyGrabbed\&. If grab_window
is not viewable, it fails and returns GrabNotViewable\&. If the
device is frozen by an active grab of another client, it fails
and returns GrabFrozen\&. If the specified time is earlier than
the last\-device\-grab time or later than the current X server
time, it fails and returns GrabInvalidTime\&. Otherwise, the
last\-device\-grab time is set to the specified time\&. CurrentTime
is replaced by the current X server time\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If cursor is not None this cursor is displayed until the client
calls XIUngrabDevice\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabDevice can generate BadDevice, BadValue, and BadWindow
errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XIUngrabDevice request releases the device and any queued
events if this client has it actively grabbed from either
XIGrabDevice or XIGrabKey or XIGrabButton\&. If other devices are
frozen by the grab, XUngrabDevice thaws them\&. XUngrabDevice
does not release the device and any queued events if the
specified time is earlier than the last\-device\-grab time or is
later than the current X server time\&. The X server
automatically performs an XIUngrabDevice request if the event
window for an active device grab becomes not viewable\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIUngrabDevice can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
A value is outside of the permitted range\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a appropriate for the type of change\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
The window is not viewable\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.SH "BUGS"
.sp
.if n \{\
.RS 4
.\}
.nf
The protocol headers for XI 2\&.0 did not provide
XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
GrabModeAsync instead, respectively\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XIAllowEvents(3)
.fi
.if n \{\
.RE
.\}
07070100026b45000081a400000000000000000000000153c5c3ef00000b470000011200010015ffffffffffffffff0000003500000000root/usr/local/share/man/man3/XGetExtensionVersion.3 '\" t
.\" Title: xgetextensionversion
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETEXTENSIONVERSION" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetExtensionVersion \- query the version of the input extension\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XExtensionVersion *XGetExtensionVersion( Display *display,
char *name);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
name
Specifies the extension to be queried\&. The input
extension name is definedin the header file XI\&.h\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetExtensionVersion request is deprecated and should not
be used in XI2 applications\&. Clients issuing a XGetExtensionVersion
request will not be able to use XI2 features\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetExtensionVersion request queries the version of the input
extension, and returns an XExtensionVersion structure\&. This structure
contains a major_version and minor_version number which can be compared
with constants defined in XI\&.h\&. Support for additional protocol
requests added to the input extension after its initial release
is indicated by a version number corresponding to the added
requests\&. Each version contains all the protocol requests
contained by previous versions\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
You should use XFree to free the XExtensionVersion structure\&.
.fi
.if n \{\
.RE
.\}
.SH "STRUCTURES"
.sp
.if n \{\
.RS 4
.\}
.nf
This request returns an XExtensionVersion structure\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int present;
short major_version;
short minor_version;
} XExtensionVersion;
.fi
.if n \{\
.RE
.\}
07070100026b5c000081a400000000000000000000000153c5c3ef000009020000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XIListProperties.3 '\" t
.\" Title: xilistproperties
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XILISTPROPERTIES" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIListProperties \- List a device\*(Aqs properties\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Atom* XListProperties( Display *display,
int deviceid,
int *nprops_return);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
deviceid
The device to list the properties for\&.
.fi
.sp
.nf
nprops_return
Specifies the number of Atoms returned\&.
.fi
.SH "DESCRIPTION"
.sp
The XIListProperties function returns a list of the properties associated with the input device specified with deviceid\&. Each device may have an arbitrary number of properties attached, some of which were created by the driver and/or server, others created by clients at runtime\&.
.sp
The client is expected to free the list of properties using XFree\&.
.sp
XIListProperties can generate a BadDevice error\&.
.SH "DIAGNOSTICS"
.sp
BadDevice An invalid device was specified\&. The device does not exist\&.
.SH "SEE ALSO"
.sp
XIChangeProperty(3), XIGetProperty(3), XIDeleteProperty(3)
07070100026b5a000081a400000000000000000000000153c5c3ef000000180000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XIGrabKeycode.3 .so man3/XIGrabButton.3
07070100026b3f000081a400000000000000000000000153c5c3ef0000002a0000011200010015ffffffffffffffff0000003c00000000root/usr/local/share/man/man3/XGetDeviceDontPropagateList.3 .so man3/XChangeDeviceDontPropagateList.3
07070100026b51000081a400000000000000000000000153c5c3ef000000190000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XIFreeDeviceInfo.3 .so man3/XIQueryDevice.3
07070100026b3b000081a400000000000000000000000153c5c3ef000000220000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XDeviceTimeCoord.3 .so man3/XGetDeviceMotionEvents.3
07070100026b73000081a400000000000000000000000153c5c3ef00000bd70000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XSetDeviceMode.3 '\" t
.\" Title: xsetdevicemode
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XSETDEVICEMODE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XSetDeviceMode \- change the mode of a device
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XSetDeviceMode( Display *display,
XDevice *device,
int mode);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose mode is to be changed\&.
.fi
.sp
.nf
mode
Specifies the mode\&.You can pass Absolute,or Relative\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSetDeviceMode request changes the mode of an input device
that is capable of reporting either absolute positional
information or relative motion information\&. Not all input
devices are capable of reporting motion data, and not all are
capable of changing modes from Absolute to Relative\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceMode can generate a BadDevice or BadMode error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if some
other client has caused the specified device to become
the X keyboard or X pointer device via the
XChangeKeyboardDevice or XChangePointerDevice requests\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XSetDeviceMode request is
made specifying a device that has no valuators and
reports no axes of motion\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMode
An invalid mode was specified\&. This error will also be
returned if the specified device is not capable of
supporting the XSetDeviceMode request\&.
.fi
.if n \{\
.RE
.\}
07070100026b76000081a400000000000000000000000153c5c3ef000000170000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XUngrabDevice.3 .so man3/XGrabDevice.3
07070100026b3c000081a400000000000000000000000153c5c3ef0000001d0000011200010015ffffffffffffffff0000003000000000root/usr/local/share/man/man3/XFreeDeviceList.3 .so man3/XListInputDevices.3
07070100026b69000081a400000000000000000000000153c5c3ef000000180000011200010015ffffffffffffffff0000003300000000root/usr/local/share/man/man3/XIUngrabTouchBegin.3 .so man3/XIGrabButton.3
07070100026b34000081a400000000000000000000000153c5c3ef0000001e0000011200010015ffffffffffffffff0000003600000000root/usr/local/share/man/man3/XChangeDeviceProperty.3 .so man3/XGetDeviceProperty.3
07070100026b52000081a400000000000000000000000153c5c3ef0000001e0000011200010015ffffffffffffffff0000003300000000root/usr/local/share/man/man3/XIGetClientPointer.3 .so man3/XISetClientPointer.3
07070100026b35000081a400000000000000000000000153c5c3ef0000001f0000011200010015ffffffffffffffff0000003700000000root/usr/local/share/man/man3/XChangeFeedbackControl.3 .so man3/XGetFeedbackControl.3
07070100026b49000081a400000000000000000000000153c5c3ef000020700000011200010015ffffffffffffffff0000003200000000root/usr/local/share/man/man3/XGrabDeviceButton.3 '\" t
.\" Title: xgrabdevicebutton
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGRABDEVICEBUTTON" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGrabDeviceButton, XUngrabDeviceButton \- grab/ungrab extension input device buttons
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XGrabDeviceButton( Display *display,
XDevice *device,
unsigned int button,
unsigned int modifiers,
XDevice* modifier_device,
Window grab_window,
Bool owner_events,
unsigned int event_count,
XEventClass *event_list,
int this_device_mode,
int other_devices_mode);
.fi
.sp
.nf
int XUngrabDeviceButton( Display *display,
XDevice *device,
unsigned int button,
unsigned int modifiers,
XDevice* modifier_device,
Window grab_window);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device that is to be grabbed or released
.fi
.sp
.nf
button
Specifies the device button that is to be grabbed or
released or AnyButton\&.
.fi
.sp
.nf
modifiers
Specifies the set of keymasks or AnyModifier\&.The mask is
the bitwise inclusive OR of the valid keymask bits\&.
Valid bits are: Shiftmask, LockMask, ControlMask,
Mod1Mask, Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask\&.
.fi
.sp
.nf
modifier_device
specifies the device whose modifiers are to be used\&. If
the modifier_devicespecified is NULL, the X keyboard
will be used as the modifier_device\&.
.fi
.sp
.nf
grab_window
Specifies the grab window\&.
.fi
.sp
.nf
owner_events
Specifies a Boolean value that indicates whether the
deviceevents are to be reported as usual or reported
with respect to the grab windowif selected by the event
list\&.
.fi
.sp
.nf
event_count
Specifies the number of event classes in the event list\&.
.fi
.sp
.nf
event_list
Specifies which events are reported to the client\&.
.fi
.sp
.nf
this_device_mode
Specifies further processing of events from this
device\&.You can pass GrabModeSync or GrabModeAsync\&.
.fi
.sp
.nf
other_devices_mode
Specifies further processing of events from all other
devices\&.You can pass GrabModeSync or GrabModeAsync\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XGrabDeviceButton request establishes a passive grab\&. In
the future, the device is actively grabbed (as for XGrabDevice,
the last\-grab time is set to the time at which the button was
pressed (as transmitted in the DeviceButtonPress event), and
the DeviceButtonPress event is reported if all of the following
conditions are true:
* The device is not grabbed, and the specified button is
logically pressed when the specified modifier keys are
logically down on the specified modifier device and no
other buttons or modifier keys are logically down\&.
* Either the grab window is an ancestor of (or is) the focus
window, OR the grab window is a descendent of the focus
window and contains the device\&.
* A passive grab on the same button/modifier combination does
not exist on any ancestor of grab_window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The interpretation of the remaining arguments is as for
XGrabDevice\&. The active grab is terminated automatically when
the logical state of the device has all buttons released
(independent of the logical state of the modifier keys)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Note that the logical state of a device (as seen by client
applications) may lag the physical state if device event
processing is frozen\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This request overrides all previous grabs by the same client on
the same button/modifier combinations on the same window\&. A
modifiers of 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 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A modifier_device of NULL indicates that the X keyboard is to
be used as the modifier_device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If some other client has already issued a XGrabDeviceButton
with the same button/modifier combination on the same window, a
BadAccess error results\&. When using AnyModifier or AnyButton ,
the request fails completely, and a BadAccess error results (no
grabs are established) if there is a conflicting grab for any
combination\&. XGrabDeviceButton has no effect on an active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGrabDeviceButton can generate BadClass, BadDevice, BadMatch,
BadValue, and BadWindow errors\&.\&.P The XUngrabDeviceButton
request releases the passive grab for a button/modifier
combination on the specified window if it was grabbed by this
client\&. A modifier of AnyModifier is equivalent to issuing the
ungrab request for all possible modifier combinations,
including the combination of no modifiers\&. A button of
AnyButton is equivalent to issuing the request for all possible
buttons\&. XUngrabDeviceButton has no effect on an active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A modifier_device of NULL indicates that the X keyboard should
be used as the modifier_device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XUngrabDeviceButton can generate BadDevice, BadMatch, BadValue
and BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGrabDeviceButton request was
made specifying a device that has no buttons, or
specifying a modifier device that has no keys\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XAllowDeviceEvents(3), XGrabDevice(3), XGrabDeviceKey(3)
.fi
.if n \{\
.RE
.\}
07070100026b39000081a400000000000000000000000153c5c3ef0000001e0000011200010015ffffffffffffffff0000003600000000root/usr/local/share/man/man3/XDeleteDeviceProperty.3 .so man3/XGetDeviceProperty.3
07070100026b47000081a400000000000000000000000153c5c3ef000000210000011200010015ffffffffffffffff0000003c00000000root/usr/local/share/man/man3/XGetSelectedExtensionEvents.3 .so man3/XSelectExtensionEvent.3
07070100026b32000081a400000000000000000000000153c5c3ef0000125a0000011200010015ffffffffffffffff0000003f00000000root/usr/local/share/man/man3/XChangeDeviceDontPropagateList.3 '\" t
.\" Title: xchangedevicedontpropagatelist
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XCHANGEDEVICEDONTPRO" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XChangeDeviceDontPropagateList, XGetDeviceDontPropagateList \- query or change the dont\-propagate\-list for extension devices
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XChangeDeviceDontPropagateList( Display *display,
Window window,
int count,
XEventClass *event_list,
int mode);
.fi
.sp
.nf
XEventClass* XGetDeviceDontPropagateList( Display *display,
Window window,
int *count);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
window
Specifies the window whose dont\-propagate\-list is to be
queried or modified\&.
.fi
.sp
.nf
event_list
Specifies a pointer to a list of event classes\&.
.fi
.sp
.nf
mode
Specifies the mode\&.You can pass AddToList, or
DeleteFromList\&.
.fi
.sp
.nf
count
Specifies the number of event classes in the list\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XChangeDeviceDontPropagateList request modifies the list of
events that should not be propagated to ancestors of the event
window\&. This request allows extension events to be added to or
deleted from that list\&. By default, all events are propagated
to ancestor windows\&. Once modified, the list remains modified
for the life of the window\&. Events are not removed from the
list because the client that added them has terminated\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Suppression of event propagation is not allowed for all input
extension events\&. If a specified event class is one that cannot
be suppressed, a BadClass error will result\&. Events that can be
suppressed include DeviceKeyPress, DeviceKeyRelease,
DeviceButtonPress, DeviceButtonRelease, DeviceMotionNotify,
ProximityIn, and ProximityOut\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeDeviceDontPropagateList can generate a BadDevice,
BadClass, or BadValue error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetDeviceDontPropagateList request queries the list of
events that should not be propagated to ancestors of the event
window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceDontPropagateList can generate a BadClass or
BadWindow error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if some
other client has caused the specified device to become
the X keyboard or X pointer device via the
XChangeKeyboardDevice or XChangePointerDevice requests\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
An invalid window id was specified\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadClass
An invalid event class was specified\&.
.fi
.if n \{\
.RE
.\}
07070100026b37000081a400000000000000000000000153c5c3ef00000f6a0000011200010015ffffffffffffffff0000003500000000root/usr/local/share/man/man3/XChangePointerDevice.3 '\" t
.\" Title: xchangepointerdevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XCHANGEPOINTERDEVICE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XChangePointerDevice \- change which device is the X pointer
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XChangePointerDevice( Display *display,
XDevice *device,
int xaxis,
int yaxis);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device to be used as the X pointer\&.
.fi
.sp
.nf
xaxis
Specifies the axis of the device to be used as the X
pointer x\-axis\&.
.fi
.sp
.nf
yaxis
Specifies the axis of the device to be used as the X
pointer y\-axis\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XChangePointerDevice request causes the server to use the
specified device as the X pointer\&. The device must have been
opened by the client via XOpenDevice or a BadDevice error will
result\&. The device must support input class Valuators or a
BadMatch error will result\&. If the implementation does not
support use of the specified device as the X pointer, a
BadDevice error will result\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the specified device is grabbed by another client,
AlreadyGrabbed is returned\&. If the specified device is frozen
by a grab on another device, GrabFrozen is returned\&. If the
request is successful, Success is returned\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the request succeeds, a ChangeDeviceNotify event is sent to
all clients that have selected that event\&. A MappingNotify
event with request = MappingPointer is sent to all clients\&. The
specified device becomes the X pointer, and the old X pointer
becomes accessible through the input extension protocol
requests\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XChangePointerDevice can generate a BadDevice or a BadMatch
error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist, has not been opened by this client via
XOpenInputDevice, or is already one of the core X input
devices (pointer or keyboard)\&. This error may also occur
if the server implementation does not support using the
specified device as the X pointer\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XChangePointerDevice request
was made specifying a device that has less than two
valuators, or specifying a valuator index beyond the
range supported by the device\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeKeyboardDevice(3)
.fi
.if n \{\
.RE
.\}
07070100026b4e000081a400000000000000000000000153c5c3ef000027840000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XIChangeProperty.3 '\" t
.\" Title: xichangeproperty
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XICHANGEPROPERTY" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIChangeProperty, XIGetProperty, XIDeleteProperty \- change, retrieve or delete a device\*(Aqs property\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
void XIChangeProperty( Display* dpy,
int deviceid,
Atom property,
Atom type,
int format,
int mode,
unsigned char *data,
int num_items)
.fi
.sp
.nf
void XIDeleteProperty( Display *dpy,
int deviceid,
Atom property)
.fi
.sp
.nf
Status XIGetProperty( Display *dpy,
int deviceid,
Atom property,
long offset,
long length,
Bool delete_property,
Atom type,
Atom *type_return,
int *format_return,
unsigned long *num_items_return,
unsigned long *bytes_after_return,
unsigned char **data)
.fi
.sp
.nf
bytes_after_return
Returns the number of bytes remaining to be read in the prop\-
erty if a partial read was performed\&.
.fi
.sp
.nf
data
Specifies the property data\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
delete_property
Specifies a Boolean value that determines whether the property
is to be deleted\&.
.fi
.sp
.nf
deviceid
The device to list the properties for\&.
.fi
.sp
.nf
format
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
XIChangeProperty\&.
.fi
.sp
.nf
format_return
Returns the actual format of the property\&.
.fi
.sp
.nf
length
Specifies the length in 32\-bit multiples of the data to be
retrieved\&.
.fi
.sp
.nf
offset
Specifies the offset in the specified property (in 32\-bit
quantities) where the data is to be retrieved\&.
.fi
.sp
.nf
mode
One of XIPropModeAppend, XIPropModePrepend or XIPropModeReplace\&.
.fi
.sp
.nf
num_items
Number of items in data in the format specified\&.
.fi
.sp
.nf
nitems_return
Returns the actual number of 8\-bit, 16\-bit, or 32\-bit items
stored in data\&.
.fi
.sp
.nf
property
Specifies the property name\&.
.fi
.sp
.nf
type
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 XIGetProperty\&.
.fi
.sp
.nf
type_return
Returns the atom identifier that defines the actual type of
the property\&.
.fi
.SH "DESCRIPTION"
.sp
The XIGetProperty 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\&. XIGetProperty sets the return arguments as follows:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If the specified property does not exist for the specified device, XIGetProperty returns 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\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If the specified property exists but its type does not match the specified type, XIGetProperty 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\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If the specified property exists and either you assign XIAnyPropertyType to the req_type argument or the specified type matches the actual property type, XIGetProperty 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:
.sp
.if n \{\
.RS 4
.\}
.nf
N = length of the stored property in bytes
I = 4 * offset
T = N \- I
L = MINIMUM(T, 4 * length)
A = N \- (I + L)
.fi
.if n \{\
.RE
.\}
.RE
.sp
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 BadValue error results\&. The value of bytes_after_return is A, giving the number of trailing unread bytes in the stored property\&.
.sp
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 uint16_t array and should be cast to that type to obtain the ele\- ments\&. If the returned format is 32, the returned data is represented as a uint32_t array and should be cast to that type to obtain the elements\&.
.sp
XIGetProperty 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\&.
.sp
If delete is True and bytes_after_return is zero, XIGetProperty deletes the property from the window and generates an XIPropertyNotify event on the window\&.
.sp
The function returns Success if it executes successfully\&. To free the resulting data, use XFree\&.
.sp
XIGetProperty can generate BadAtom, BadValue, and BadWindow errors\&.
.sp
The XIChangeProperty function alters the property for the specified device and causes the X server to generate a XIPropertyNotify event for that device\&. XIChangeProperty performs the following:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If mode is XIPropModeReplace, XIChangeProperty discards the previous property value and stores the new data\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If mode is XIPropModePrepend or XIPropModeAppend, XIChangeProperty 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 BadMatch error results\&. If the property is undefined, it is treated as defined with the correct type and format with zero\-length data\&.
.RE
.sp
If the specified format is 8, the property data must be a char array\&. If the specified format is 16, the property data must be a uint16_t array\&. If the specified format is 32, the property data must be a uint32_t array\&.
.sp
The lifetime of a property is not tied to the storing client\&. Properties remain until explicitly deleted, until the device is removed, or until the server resets\&. 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 BadAlloc error results\&.)
.sp
XIChangeProperty can generate BadAlloc, BadAtom, BadMatch, BadValue, and BadDevice errors\&.
.sp
The XIDeleteProperty function deletes the specified property only if the property was defined on the specified device and causes the X server to generate a XIPropertyNotify event for the device unless the property does not exist\&.
.sp
XIDeleteProperty can generate BadAtom and BadDevice errors\&.
.SH "DIAGNOSTICS"
.sp
BadAlloc The server failed to allocate the requested resource or server memory\&.
.sp
BadAtom A value for an Atom argument does not name a defined Atom\&.
.sp
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\(cqs type is accepted\&. Any argument defined as a set of alternatives can generate this error\&.
.sp
BadDevice An invalid device was specified\&. The device does not exist\&.
.sp
BadAtom An invalid property was specified\&. The property does not exist\&.
.SH "BUGS"
.sp
.if n \{\
.RS 4
.\}
.nf
The protocol headers for XI 2\&.0 did not provide
XIAnyPropertyType, XIPropModeReplace, XIPropModePrepend or
XIPropModeAppend\&. Use AnyPropertyType, PropModeReplace,
PropModePrepend and PropModeAppend instead, respectively\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
XIListProperties(3)
07070100026b6d000081a400000000000000000000000153c5c3ef000016640000011200010015ffffffffffffffff0000002c00000000root/usr/local/share/man/man3/XOpenDevice.3 '\" t
.\" Title: xopendevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XOPENDEVICE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XOpenDevice, XCloseDevice \- open or close an extension input device
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XDevice *XOpenDevice( Display *display,
XID device_id);
.fi
.sp
.nf
XCloseDevice( Display *display,
XDevice *device);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device_id
Specifies the id of the device to be opened
.fi
.sp
.nf
device
Specifies the device to be closed
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XOpenDevice request makes an input device accessible to a
client through input extension protocol requests\&. If
successful, it returns a pointer to an XDevice structure\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XCloseDevice request makes an input device inaccessible to
a client through input extension protocol requests\&. Before
terminating, and client that has opened input devices through
the input extension should close them via CloseDevice\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
When a client makes an XCloseDevice request, any active grabs
that the client has on the device are released\&. Any event
selections that the client has are deleted, as well as any
passive grabs\&. If the requesting client is the last client
accessing the device, the server may disable all access by X to
the device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XOpenDevice and XCloseDevice can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.sp
Structures
.sp
.if n \{\
.RS 4
.\}
.nf
The XDevice structure returned by XOpenDevice contains:
typedef struct {
XID device_id;
int num_classes;
XInputClassInfo *classes;
} XDevice;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The classes field is a pointer to an array of XInputClassInfo
structures\&. Each element of this array contains an event type
base for a class of input supported by the specified device\&.
The num_classes field indicates the number of elements in the
classes array\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XInputClassInfo structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
unsigned char input_class;
unsigned char event_type_base;
} XInputClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The input_class field identifies one class of input supported
by the device\&. Defined types include KeyClass, ButtonClass,
ValuatorClass, ProximityClass, FeedbackClass, FocusClass, and
OtherClass\&. The event_type_base identifies the event type of
the first event in that class\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The information contained in the XInputClassInfo structure is
used by macros to obtain the event classes that clients use in
making XSelectExtensionEvent requests\&. Currently defined macros
include DeviceKeyPress, DeviceKeyRelease, DeviceButtonPress,
DeviceButtonRelese, DeviceMotionNotify, DeviceFocusIn,
DeviceFocusOut, ProximityIn, ProximityOut, DeviceStateNotify,
DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
DeviceButtonPressGrab, and NoExtensionEvent\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
To obtain the proper event class for a particular device, one
of the above macros is invoked using the XDevice structure for
that device\&. For example,
DeviceKeyPress (*device, type, eventclass);
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
returns the DeviceKeyPress event type and the eventclass for
DeviceKeyPress events from the specified device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This eventclass can then be used in an XSelectExtensionEvent
request to ask the server to send DeviceKeyPress events from
this device\&. When a selected event is received via XNextEvent,
the type can be used for comparison with the type in the event\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist, or is the X keyboard or X pointer\&. This
error may also occur if some other client has caused the
specified device to become the X keyboard or X pointer
device via the XChangeKeyboardDevice or
XChangePointerDevice requests\&.
.fi
.if n \{\
.RE
.\}
07070100026b3d000081a400000000000000000000000153c5c3ef000000230000011200010015ffffffffffffffff0000003800000000root/usr/local/share/man/man3/XGetDeviceButtonMapping.3 .so man3/XSetDeviceButtonMapping.3
07070100026b56000081a400000000000000000000000153c5c3ef00002aab0000011200010015ffffffffffffffff0000002d00000000root/usr/local/share/man/man3/XIGrabButton.3 '\" t
.\" Title: xigrabbutton
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIGRABBUTTON" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIGrabButton, XIUngrabButton, XIGrabKeycode, XIUngrabKeycode, XIGrabTouchBegin, XIUngrabTouchBegin \- grab/ungrab buttons or keys
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XIGrabButton( Display *display,
int deviceid,
int button,
Window grab_window,
Cursor cursor,
int grab_mode,
int paired_device_mode,
Bool owner_events,
XIEventMask *mask,
int num_modifiers,
XIGrabModifiers *modifiers_inout);
.fi
.sp
.nf
int XIUngrabButton( Display *display,
int deviceid,
int button,
Window grab_window,
int num_modifiers,
XIGrabModifiers *modifiers);
.fi
.sp
.nf
int XIGrabKeycode( Display *display,
int deviceid,
int keycode,
Window grab_window,
int grab_mode,
int paired_device_mode,
Bool owner_events,
XIEventMask *mask,
int num_modifiers,
XIGrabModifiers *modifiers_inout);
.fi
.sp
.nf
int XIUngrabKeycode( Display *display,
int deviceid,
int keycode,
Window grab_window,
int num_modifiers,
XIGrabModifiers *modifiers);
.fi
.sp
.nf
int XIGrabTouchBegin( Display *display,
int deviceid,
Window grab_window,
Bool owner_events,
XIEventMask *mask,
int num_modifiers,
XIGrabModifiers *modifiers_inout);
.fi
.sp
.nf
int XIUngrabTouchBegin( Display *display,
int deviceid,
Window grab_window,
int num_modifiers,
XIGrabModifiers *modifiers);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device that is to be grabbed or released
.fi
.sp
.nf
button
Specifies the device button that is to be grabbed or
released or XIAnyButton\&.
.fi
.sp
.nf
keycode
Specifies the keycode that is to be grabbed or released
or XIAnyKeycode\&.
.fi
.sp
.nf
num_modifiers
Number of elements in modifiers or modifiers_inout\&.
.fi
.sp
.nf
modifiers
Specifies the set of latched and base modifiers or
XIAnyModifier to ungrab\&. The data type is for
consistency with the respective grab request and the
status code of the XIGrabModifiers struct is ignored\&.
.fi
.sp
.nf
modifiers_inout
Specifies the set of latched and base modifiers or
XIAnyModifier to grab\&. Returns the modifiers that could
not be grabbed and their error code\&.
.fi
.sp
.nf
grab_window
Specifies the grab window\&.
.fi
.sp
.nf
owner_events
Specifies a Boolean value that indicates whether the are
to be reported as usual or reported with respect to the
grab window\&.
.fi
.sp
.nf
mask
Specifies the event mask\&.
.fi
.sp
.nf
grab_mode
Specifies further processing of events from this device\&.
You can pass XIGrabModeSync or XIGrabModeAsync\&.
.fi
.sp
.nf
paired_device_mode
Specifies further processing of events from the paired
master device\&. You can pass XIGrabModeSync or
XIGrabModeAsync\&. If deviceid specifies a floating slave
device, this parameter is ignored\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin establish a passive
grab\&. The modifier device for a button grab is the paired master device
if deviceid specifies a master pointer\&. Otherwise, the modifier
device is the device specified with deviceid\&. In the future,
the device is actively grabbed (as for XIGrabDevice, the
last\-grab time is set to the time at which the button or keycode
was pressed and the XI_ButtonPress or XI_KeyPress event is
reported if all of the following conditions are true:
* The device is not grabbed, and the specified button or
keycode is logically pressed or a touch event occurs when the
specified modifier keys are logically down on the modifier device
and no other buttons or modifier keys are logically down\&.
* Either the grab window is an ancestor of (or is) the focus
window, OR the grab window is a descendent of the focus
window and contains the device\&.
* A passive grab on the same button/modifier combination does
not exist on any ancestor of grab_window\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The interpretation of the remaining arguments is as for
XIGrabDevice\&. The active grab is terminated automatically when
the logical state of the device has all buttons or keys
released (independent of the logical state of the modifier
keys)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the device is an attached slave device, the device is
automatically detached from the master device when the grab
activates and reattached to the same master device when the
grab deactivates\&. If the master device is removed while the
device is floating as a result of a grab, the device remains
floating once the grab deactivates\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Note that the logical state of a device (as seen by client
applications) may lag the physical state if device event
processing is frozen\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This request overrides all previous grabs by the same client on
the same button/modifier or keycode/modifier combinations on the
same window\&. A modifiers of XIAnyModifier 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 XIAnyButton 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If some other client has already issued a XIGrabButton or
XIGrabKeycode with the same button/modifier or keycode/modifier
combination on the same window, a BadAccess error results\&. When
using XIAnyModifier or XIAnyButton , the request fails
completely, and a XIBadAccess error results (no grabs are
established) if there is a conflicting grab for any
combination\&. XIGrabButton and XIGrabKeycode have no effect on an
active grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
On success, XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return 0;
If one or more modifier combinations could not be grabbed,
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
failed combinations and modifiers_inout contains the failed combinations
and their respective error codes\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin can generate BadClass,
BadDevice, BadMatch, BadValue, and BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin release the
passive grab for a button/modifier, keycode/modifier or touch/modifier
combination on the specified window if it was grabbed by this client\&. A
modifier of XIAnyModifier is equivalent to issuing the ungrab request
for all possible modifier combinations, including the
combination of no modifiers\&. A button of XIAnyButton is
equivalent to issuing the request for all possible buttons\&.
XIUngrabButton and XIUngrabKeycode have no effect on an active
grab\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin can generate
BadDevice, BadMatch, BadValue and BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.SH "RETURN VALUE"
.sp
.if n \{\
.RS 4
.\}
.nf
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
modifier combination that could not establish a passive grab\&. The
modifiers are returned in modifiers_inout, along with the respective
error for this modifier combination\&. If XIGrabButton, XIGrabKeycode
or XIGrabTouchBegin return zero, passive grabs with all requested
modifier combinations were established successfully\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid deviceid was specified\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if XIGrabButton specified a device
that has no buttons, or XIGrabKeycode specified a device
that has no keys, or XIGrabTouchBegin specified a device
that is not touch\-capable\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.SH "BUGS"
.sp
.if n \{\
.RS 4
.\}
.nf
The protocol headers for XI 2\&.0 did not provide
XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
GrabModeAsync instead, respectively\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XIAllowEvents(3)
.fi
.if n \{\
.RE
.\}
07070100026b4f000081a400000000000000000000000153c5c3ef00000e0c0000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XIDefineCursor.3 '\" t
.\" Title: xidefinecursor
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIDEFINECURSOR" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIDefineCursor, XIUndefineCursor \- define device cursors\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XIDefineCursor( Display *display,
int deviceid,
Window win,
Cursor cursor);
.fi
.sp
.nf
int XIUndefineCursor( Display *display,
int deviceid,
Window win);
.fi
.sp
.nf
cursor
Specifies the cursor that is to be displayed or None\&.
.fi
.sp
.nf
deviceid
Specifies the device whose cursor is to change\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
win
Specifies the window\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
If a cursor is set, it will be used when the device\*(Aqs pointer
is in the window\&. If the cursor is None, it is equivalent to
XIUndefineCursor\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The deviceid must be a master pointer device or a BadDevice error is
returned\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIDefineCursor can generate BadDevice, BadCursor and BadWindow\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XIUndefineCursor function undoes the effect of a previous
XIDefineCursor for this window\&. When the pointer is in the
window, the window\*(Aqs default cursor will now be used\&. If no
default cursor is defined, the parent\*(Aqs cursor for this device
will be used (if defined) or the parent\*(Aqs default cursor will
be used\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIDefineCursor and XIUndefineCursor are identical to
XDefineCursor and XUndefineCursor but specify the device
explicitly\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIUndefineCursor can generate a BadDevice and a BadWindow
error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadCursor
A value for a cursor argument does not name a defined
cursor\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
.sp
See also
.sp
.if n \{\
.RS 4
.\}
.nf
XDefineCursor, XUndefineCursor
.fi
.if n \{\
.RE
.\}
07070100026b50000081a400000000000000000000000153c5c3ef0000001c0000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XIDeleteProperty.3 .so man3/XIChangeProperty.3
07070100026b3a000081a400000000000000000000000153c5c3ef00000eba0000011200010015ffffffffffffffff0000002c00000000root/usr/local/share/man/man3/XDeviceBell.3 '\" t
.\" Title: xdevicebell
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XDEVICEBELL" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XDeviceBell \- ring a bell on a device supported through the input extension
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XDeviceBell( Display *display,
XDevice *device,
XID feedbackclass,
XID feedbackid,
int percent);
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device with which the bell is associated\&.
.fi
.sp
.nf
feedbackclass
Specifies the class of the feedback with which the bell
is associated\&.
.fi
.sp
.nf
feedbackid
Specifies the id of the feedback with which the bell is
associated\&.
.fi
.sp
.nf
percent
Specifies the volume in the range \-100 to 100 at which
the bell should be rung\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XDeviceBell request causes the server to ring a bell on the
specified feedback of the specified device, if possible\&. The
specified volume is relative to the base volume for the bell\&.
If an invalid device is specified, a BadDevice error will be
returned\&. The feedbackclass and feedbackid parameters contain
values returned by an XGetFeedbackControl request and uniquely
identify the bell to ring\&. If a feedbackclass is specified that
does not support a bell, or if a nonexistent feedbackid is
specified, or a percent value is specified that is not in the
range \-100 to 100, a BadValue error will be returned\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The volume at which the bell is rung when the percent argument
is nonnegative is: base \- [(base * percent) / 100] + percent
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The volume at which the bell rings when the percent argument is
negative is: base + [(base * percent) / 100]
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
To change the base volume of the bell, use
XChangeFeedbackControl\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XDeviceBell can generate a BadDevice or a BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist, or has not been opened by this client
via XOpenInputDevice\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
An invalid feedbackclass, feedbackid, or percent value
was specified\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeFeedbackControl(3), XBell(3)
.fi
.if n \{\
.RE
.\}
07070100026b6e000081a400000000000000000000000153c5c3ef00000eda0000011200010015ffffffffffffffff0000003200000000root/usr/local/share/man/man3/XQueryDeviceState.3 '\" t
.\" Title: xquerydevicestate
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XQUERYDEVICESTATE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XQueryDeviceState \- query the state of an extension input device\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XDeviceState* XQueryDeviceState( Display *display,
XDevice *device);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose state is to be queried\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XQueryDeviceState request queries the state of an input
device\&. The current state of keys and buttons (up or down), and
valuators (current value) on the device is reported by this
request\&. Each key or button is represented by a bit in the
XDeviceState structure that is returned\&. Valuators on the
device report 0 if they are reporting relative information, and
the current value if they are reporting absolute information\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XQueryDeviceState can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Structures:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XDeviceState structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID device_id;
int num_classes;
XInputClass *data;
} XDeviceState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XValuatorState structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
unsigned char class;
unsigned char length;
unsigned char num_valuators;
unsigned char mode;
int *valuators;
} XValuatorState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XKeyState structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
unsigned char class;
unsigned char length;
short num_keys;
char keys[32];
} XKeyState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XButtonState structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
unsigned char class;
unsigned char length;
short num_buttons;
char buttons[32];
} XButtonState;
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if some
other client has caused the specified device to become
the X keyboard or X pointer device via the
XChangeKeyboardDevice or XChangePointerDevice requests\&.
.fi
.if n \{\
.RE
.\}
07070100026b53000081a400000000000000000000000153c5c3ef000000160000011200010015ffffffffffffffff0000002b00000000root/usr/local/share/man/man3/XIGetFocus.3 .so man3/XISetFocus.3
07070100026b5d000081a400000000000000000000000153c5c3ef00002f770000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XIQueryDevice.3 '\" t
.\" Title: xiquerydevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIQUERYDEVICE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIQueryDevice, XIFreeDeviceInfo \- get information about devices\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XIDeviceInfo* XIQueryDevice( Display *display,
int deviceid,
int *ndevices_return);
.fi
.sp
.nf
XIFreeDeviceInfo( XIDeviceInfo *info);
.fi
.sp
.nf
deviceid
Specifies the device to query or XIAllDevices or
XIAllMasterDevices\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
ndevices_return
Returns the number of devices returned\&.
.fi
.sp
.nf
info
A list of device XIDeviceInfo structs to be freed\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XIQueryDevice returns information about one or more input
devices\&. If the deviceid specifies a device, ndevices_return is
1 and the returned information describes only the requested
device\&. If deviceid is XIAllDevices or XIAllMasterDevices,
ndevices_return is the number of devices or master devices,
respectively, and the returned information represents all
devices or all master devices, respectively\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
To free the XIDeviceInfo array returned by XIQueryDevice, use
XIFreeDeviceInfo\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
For each input device requested, the XIQueryDevice returns an
XIDeviceInfo structure\&. Each structure contains information
about the capabilities of one input device available to the
server\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int deviceid;
char *name;
int use;
int attachment;
Bool enabled;
int num_classes;
XIAnyClassInfo **classes;
} XIDeviceInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The deviceid is the numeric unique id of the device\&. A deviceid
is unique for the life\-time of a device but a server may re\-use
the id once a device has been removed\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The name points to a null\-terminated string specifying the
identifier of the device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The use and attachment fields specify the type of the device
and the current attachment or pairing\&.
\- If use is XIMasterPointer, the device is a master pointer and
attachment specifies the deviceid of the paired master
keyboard\&.
\- If use is XIMasterKeyboard, the device is a master keyboard,
and the attachment field specifies the paired master pointer\&.
\- If use is XISlavePointer, the device is a slave device and
currently attached to the master pointer specified in
attachement\&.
\- If use is XISlaveKeyboard, the device is a slave device an
currently attached to the master keyboard specified in
attachment\&.
\- If use is XIFloatingSlave, the device is a slave device
currently not attached to any master device\&. The value of the
attachment field for floating slave devices is undefined\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The enabled field specifies if the device is currently enabled
and can send events\&. Disabled devices will not send events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The num_classes field specifies the number of input classes
pointed to by classes\&. The first two fields of all input
classes are identical\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int type;
int sourceid;
} XIAnyClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The type field specifies the type of the input class\&.
Currently, the following types are defined:
XIKeyClass, XIButtonClass, XIValuatorClass, XIScrollClass,
XITouchClass
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
In the future, additional types may be added\&. Clients are
required to ignore unknown input classes\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The sourceid is the deviceid this class originated from\&. For
master devices, the sourceid is typically the id of the slave
device currently sending events\&. For slave devices, the
sourceid is typically the device\*(Aqs id\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A device may have zero or one XIButtonClass, denoting the
device\*(Aqs capability to send button events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int mask_len;
unsigned char *mask;
} XIButtonState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int type;
int sourceid;
int num_buttons;
Atom *labels;
XIButtonState state;
} XIButtonClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The num_buttons field specifies the number of buttons available
on this device\&. A device that has an XIButtonClass must have at
least one button\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
labels is a list of num_buttons Atoms specifying the button
labels for this device\&. If the label is not None, then the
label specifies the type of button in physical device order
(i\&.e\&. as the buttons are numbered on the physical input
device)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The state is the current button state as seen by clients (i\&.e\&.
after button mapping is applied)\&. The mask_len field specifies
the length of mask in bytes\&. For each button on the device, the
respective bit in mask is set if the button is currently
logically down\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A device may have zero or one XIKeyClass, denoting the device\*(Aqs
capability to send key events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int type;
int sourceid;
int num_keycodes;
int *keycodes;
} XIKeyClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The num_keycodes field specifies the number of keycodes
available on this device\&. A device that has an XIKeyClass must
have at least one keycode\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
keycodes is a list of num_keycodes keycodes the device may
send\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A device may have zero or more XIValuatorClass, denoting the
device\*(Aqs capability to send coordinates\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int type;
int sourceid;
int number;
Atom label;
double min;
double max;
double value;
int resolution;
int mode;
} XIValuatorClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The number field specifies the number of the axis on the
physical device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the label field is not None, the value of label is an Atom
describing the axis\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
min and max are the minimum and maximum values allowed on this
axis\&. If both are zero, no minumum or maximum values are set on
this device\&. value is the current value of this axis\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The resolution field specifies the resolution of the device in
units/m\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The mode specifies the mode of this axis\&. If the mode is
XIModeAbsolute this axis sends absolute coordinates\&. If the
mode is XIModeRelative, this device sends relative coordinates\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int type;
int sourceid;
int number;
int scroll_type;
double increment;
int flags;
} XIScrollClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This class describes scrolling capability on a valuator\&. For
each XIScrollClassInfo, an XIValuatorClassInfo with the same
number is present on the device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The number field specifies the valuator number on the physical
device that this scroll information applies to\&. See the
respective XIValuatorClassInfo for detailed information on this
valuator\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The scroll_type field specifies the type of scrolling, either
XIScrollTypeVertical or XIScrollTypeHorizontal\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The increment specifies the value change considered one unit of
scrolling down\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The flags field specifies flags that apply to this scrolling
information:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If XIScrollFlagNoEmulation is set, the server will not
emulate legacy button events for valuator changes on this
valuator\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If XIScrollFlagPreferred is set, this axis is the
preferred axis for this scroll type and will be used for
the emulation of XI_Motion events when the driver submits
legacy scroll button events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct
{
int type;
int sourceid;
int mode;
int num_touches;
} XITouchClassInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A device may have zero or one XITouchClassInfo, denoting
multi\-touch capability on the device\&. A device with a XITouchClassInfo
may send TouchBegin, TouchUpdate, TouchEnd and TouchOwnership events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The mode field is either XIDirectTouch for direct\-input touch devices
such as touchscreens or XIDependentTouch for indirect input devices such
as touchpads\&. For XIDirectTouch devices, touch events are sent to window
at the position the touch occured\&. For XIDependentTouch devices, touch
events are sent to the window at the position of the device\*(Aqs sprite\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The num_touches field defines the maximum number of simultaneous touches
the device supports\&. A num_touches of 0 means the maximum number of
simultaneous touches is undefined or unspecified\&. This field should be
used as a guide only, devices will lie about their capabilities\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
A device with an XITouchClassInfo may still send pointer events\&. The
valuators must be defined with the respective XIValuatorClass
classes\&. A valuator may send both pointer and touch\-events\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIQueryDevice can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIFreeDeviceInfo frees the information returned by
XIQueryDevice\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a pointer device\&.
.fi
.if n \{\
.RE
.\}
07070100026b48000081a400000000000000000000000153c5c3ef00001e6c0000011200010015ffffffffffffffff0000002c00000000root/usr/local/share/man/man3/XGrabDevice.3 '\" t
.\" Title: xgrabdevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGRABDEVICE" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGrabDevice, XUngrabDevice \- grab/release the specified extension device
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XGrabDevice( Display *display,
XDevice* device,
Window grab_window,
Bool owner_events,
int event_count,
XEventClass *event_list,
int this_device_mode,
int other_devices_mode,
Time time);
.fi
.sp
.nf
int XUngrabDevice( Display *display,
XDevice *device,
Time time);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device to be grabbed or released\&.
.fi
.sp
.nf
grab_window
Specifies the id of a window to be associated with the
device\&.
.fi
.sp
.nf
owner_events
Specifies a Boolean value that indicates whether
theevents from the deviceare to be reported as usual or
reported with respect to the grab windowif selected by
the event list\&.
.fi
.sp
.nf
event_count
Specifies the number of elements in the event_list
array\&.
.fi
.sp
.nf
event_list
Specifies a pointer to a list of event classes that
indicates which eventsthe client wishes to receive\&.
These event classes must have beenobtained specifying
the device being grabbed\&.
.fi
.sp
.nf
this_device_mode
Specifies further processing of events from this
device\&.You can pass GrabModeSyncor GrabModeAsync\&.
.fi
.sp
.nf
other_devices_mode
Specifies further processing of events from other
devices\&.You can pass GrabModeSyncor GrabModeAsync\&.
.fi
.sp
.nf
time
Specifies the time\&.You can pass either a timestamp or
CurrentTime\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XGrabDevice request actively grabs control of the device
and generates DeviceFocusIn and DeviceFocusOut events\&. Further
device events are reported only to the grabbing
client\&.XGrabDevice overrides any active device grab by this
client\&. event_list is a pointer to a list of event classes\&.
This list indicates which events the client wishes to receive
while the grab is active\&. If owner_events is False, all
generated device events are reported with respect to
grab_window if selected\&. If owner_events is True and if a
generated device event would normally be reported to this
client, it is reported normally; otherwise, the event is
reported with respect to the grab_window, and is only reported
if specified in the event_list\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the this_device_mode argument is GrabModeAsync, device event
processing continues as usual\&. If the device is currently
frozen by this client, then processing of device events is
resumed\&. If the this_device_mode argument is GrabModeSync, the
state of the device (as seen by client applications) appears to
freeze, and the X server generates no further device events
until the grabbing client issues a releasing XAllowDeviceEvents
call or until the device grab is released\&. Actual device
changes are not lost while the device is frozen; they are
simply queued in the server for later processing\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If other_devices_mode is GrabModeAsync, processing of events
from other devices is unaffected by activation of the grab\&. If
other_devices_mode is GrabModeSync, the state of all devices
except the grabbed device (as seen by client applications)
appears to freeze, and the X server generates no further events
from those devices until the grabbing client issues a releasing
XAllowDeviceEvents call or until the device grab is released\&.
Actual events are not lost while the devices are frozen; they
are simply queued in the server for later processing\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the device is actively grabbed by some other client,
XGrabDevice fails and returns AlreadyGrabbed\&. If grab_window is
not viewable, it fails and returns GrabNotViewable\&. If the
device is frozen by an active grab of another client, it fails
and returns GrabFrozen\&. If the specified time is earlier than
the last\-device\-grab time or later than the current X server
time, it fails and returns GrabInvalidTime\&. Otherwise, the
last\-device\-grab time is set to the specified time (
CurrentTime is replaced by the current X server time)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If a grabbed device is closed by a client while an active grab
by that client is in effect, the active grab is released\&. If
the device is frozen only by an active grab of the requesting
client, it is thawed\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGrabDevice can generate BadClass, BadDevice, BadValue, and
BadWindow errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XUngrabDevice request releases the device and any queued
events if this client has it actively grabbed from either
XGrabDevice or XGrabDeviceKey\&. If other devices are frozen by
the grab, XUngrabDevice thaws them\&.XUngrabDevice does not
release the device and any queued events if the specified time
is earlier than the last\-device\-grab time or is later than the
current X server time\&. It also generates DeviceFocusIn and
DeviceFocusOut events\&. The X server automatically performs an
UngrabDevice request if the event window for an active device
grab becomes not viewable\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XUngrabDevice can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
Window\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XAllowDeviceEvents(3), XGrabDeviceButton(3), XGrabDeviceKey(3)
.fi
.if n \{\
.RE
.\}
07070100026b33000081a400000000000000000000000153c5c3ef000000200000011200010015ffffffffffffffff0000003800000000root/usr/local/share/man/man3/XChangeDeviceKeyMapping.3 .so man3/XGetDeviceKeyMapping.3
07070100026b36000081a400000000000000000000000153c5c3ef00000e090000011200010015ffffffffffffffff0000003600000000root/usr/local/share/man/man3/XChangeKeyboardDevice.3 '\" t
.\" Title: xchangekeyboarddevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XCHANGEKEYBOARDDEVIC" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XChangeKeyboardDevice \- change which device is used as the X keyboard
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XChangeKeyboardDevice( Display *display,
XDevice *device);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device to be used as the X keyboard\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XChangeKeyboardDevice request causes the server to use the
specified device as the X keyboard\&. The device must have been
previously opened by the requesting client via XOpenDevice or a
BadDevice error will result\&. The device must support input
class Keys, or a BadMatch error will result\&. If the server
implementation does not support using the requested device as
the X keyboard, a BadDevice error will result\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the specified device is grabbed by another client,
AlreadyGrabbed is returned\&. If the specified device is frozen
by a grab on another device, GrabFrozen is returned\&. If the
request is successful, Success is returned\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the request succeeds, a ChangeDeviceNotify event is sent to
all clients that have selected that event\&. A MappingNotify
event with request = MappingKeyboard is sent to all clients\&.
The specified device becomes the X keyboard and the old X
keyboard becomes accessible through the input extension
protocol requests\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeKeyboardDevice can generate a BadDevice or a BadMatch
error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist, has not been opened by this client via
XOpenInputDevice, or is already one of the core X device
(pointer or keyboard)\&. This error may also occur if the
server implementation does not support using the
specified device as the X keyboard\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XChangeKeyboardDevice request
was made specifying a device that has no keys\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XChangePointerDevice(3)
.fi
.if n \{\
.RE
.\}
07070100026b71000081a400000000000000000000000153c5c3ef0000129d0000011200010015ffffffffffffffff0000003800000000root/usr/local/share/man/man3/XSetDeviceButtonMapping.3 '\" t
.\" Title: xsetdevicebuttonmapping
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XSETDEVICEBUTTONMAPP" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XSetDeviceButtonMapping, XGetDeviceButtonMapping \- query or change device button mappings
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XSetDeviceButtonMapping( Display *display,
XDevice *device,
unsigned char map[],
int nmap);
.fi
.sp
.nf
int XGetDeviceButtonMapping( Display *display,
XDevice *device,
unsigned char map_return[],
int nmap);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose button mapping is to be
queried or changed\&.
.fi
.sp
.nf
map
Specifies the mapping list\&.
.fi
.sp
.nf
map_return
Returns the mapping list\&.
.fi
.sp
.nf
nmap
Specifies the number of items in the mapping list\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSetDeviceButtonMapping request sets the mapping of the
specified device\&. If it succeeds, the X server generates a
DeviceMappingNotify event, and XSetDeviceButtonMapping returns
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 XGetDeviceButtonMapping would return, or a
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 BadValue error results\&. If any of the buttons to be
altered are logically in the down state,
XSetDeviceButtonMapping returns MappingBusy, and the mapping is
not changed\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceButtonMapping can generate BadDevice, BadMatch, and
BadValue errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetDeviceButtonMapping request returns the current mapping
of the specified device\&. Buttons are numbered starting from
one\&.XGetDeviceButtonMapping returns the number of physical
buttons actually on the device\&. The nominal mapping for a
device is map[i]=i+1\&. The nmap argument specifies the length of
the array where the device mapping is returned, and only the
first nmap elements are returned in map_return\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceButtonMapping can generate BadDevice or BadMatch
errors\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetDeviceButtonMapping or
XSetDeviceButtonMapping request was made specifying a
device that has no buttons\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeDeviceKeyboardControl(3), XChangeDeviceKeyMapping(3),
XChangeDeviceModifierMapping(3)
.fi
.if n \{\
.RE
.\}
07070100026b63000081a400000000000000000000000153c5c3ef0000001a0000011200010015ffffffffffffffff0000003100000000root/usr/local/share/man/man3/XIUndefineCursor.3 .so man3/XIDefineCursor.3
07070100026b42000081a400000000000000000000000153c5c3ef000016eb0000011200010015ffffffffffffffff0000003a00000000root/usr/local/share/man/man3/XGetDeviceModifierMapping.3 '\" t
.\" Title: xgetdevicemodifiermapping
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETDEVICEMODIFIERMA" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetDeviceModifierMapping, XSetDeviceModifierMapping \- query or change device modifier mappings
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XSetDeviceModifierMapping( Display *display,
XDevice *device,
XModifierKeymap *modmap);
.fi
.sp
.nf
XModifierKeymap *XGetDeviceModifierMapping( Display *display,
XDevice *device);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose modifier mapping is to be
queried or modified\&.
.fi
.sp
.nf
modmap
Specifies a pointer to the XModifierKeymap structure\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSetDeviceModifierMapping request specifies the KeyCodes of
the keys (if any) that are to be used as modifiers for the
specified device\&. If it succeeds, the X server generates a
DeviceMappingNotify event, and XSetDeviceModifierMapping
returns MappingSuccess\&. X permits at most eight modifier keys\&.
If more than eight are specified in the XModifierKeymap
structure, a BadLength error results\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The modifiermap member of the XModifierKeymap structure
contains eight sets of max_keypermod KeyCodes, one for each
modifier in the order Shift, Lock, Control, Mod1, Mod2, Mod3,
Mod4, and 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 as returned by XListInputDevices, or a BadValue
error results\&. No KeyCode may appear twice in the entire map,
or a BadValue error results\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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
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,
XSetDeviceModifierMapping returns MappingBusy, and none of the
modifiers is changed\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceModifierMapping can generate BadLength, BadDevice,
BadMatch, BadAlloc, and BadValue errors\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetDeviceModifierMapping request returns a pointer to a
newly created XModifierKeymap structure that contains the keys
being used as modifiers\&. The structure should be freed after
use by calling XFreeModifierMapping \&. If only zero values
appear in the set for any modifier, that modifier is disabled\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetDeviceModifierMapping can generate BadDevice and BadMatch
errors\&.
.fi
.if n \{\
.RE
.\}
.sp
Structures
.sp
.if n \{\
.RS 4
.\}
.nf
The XModifierKeymap structure contains:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int max_keypermod;
KeyCode *modifiermap;
} XModifierKeymap;
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadLength
More than eight keys were specified in the
XModifierKeymap structure\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadAlloc
The server failed to allocate the requested resource or
server memory\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if the
specified device is the X keyboard or X pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetDeviceModifierMapping or
XChangeDeviceModifierMapping request was made specifying
a device that has no keys\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\*(Aqs type is accepted\&. Any argument defined as a
set of alternatives can generate this error\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceKeyMapping(3), XSetDeviceButtonMapping(3)
.fi
.if n \{\
.RE
.\}
07070100026b6a000081a400000000000000000000000153c5c3ef000010480000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XIWarpPointer.3 '\" t
.\" Title: xiwarppointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIWARPPOINTER" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIWarpPointer \- move a device\*(Aqs pointer\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Bool XIWarpPointer( Display *display,
int deviceid,
Window src_w,
Window dest_w,
double src_x,
double src_y,
int src_width,
int src_height,
double dest_x,
double dest_y);
.fi
.sp
.nf
dest_w
Specifies the destination window or None\&.
.fi
.sp
.nf
dest_x, dest_y
Specify the x and y coordinates within the destination
window\&.
.fi
.sp
.nf
deviceid
Specifies the master pointer device or floating slave
device to move\&.
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
src_x, src_y, src_width, src_height
Specify a rectangle in the source window\&.
.fi
.sp
.nf
src_w
Specifies the source window or None\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
If dest_w is None, XIWarpPointer moves the pointer by the
offsets (dest_x, dest_y) relative to the current position of
the pointer\&. If dest_w is a window, XIWarpPointer 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
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 XIWarpPointer 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\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIWarpPointer is identical to XWarpPointer but specifies the
device explicitly\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIWarpPointer can generate a BadDevice and a BadWindow error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadWindow
A value for a Window argument does not name a defined
window\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XWarpPointer(3)
.fi
.if n \{\
.RE
.\}
07070100026b5f000081a400000000000000000000000153c5c3ef000010ae0000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XIQueryVersion.3 '\" t
.\" Title: xiqueryversion
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIQUERYVERSION" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIQueryVersion \- announce and query the support XI2 version\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XIQueryVersion( Display *display,
int *major_version_inout,
int *minor_version_inout);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
major_version_inout
Specifies the client\*(Aqs supported XI2 version, and
returns the server\*(Aqs supported version\&.
.fi
.sp
.nf
minor_version_inout
Specifies the client\*(Aqs supported XI2 version, and
returns the server\*(Aqs supported version\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XIQueryVersion announces the client\*(Aqs supported XI2 version to
the server and returns server\*(Aqs supported X Input version\&. Clients
are required to use XIQueryVersion instead of XGetExtensionVersion
if they use XI2 calls\&. The server may treat a client differently
depending on the supported version announced by the client\&.
The major_version_inout must be 2 or greater, otherwise a BadValue
error occurs\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the server does not support XI2, XIQueryVersion returns BadRequest
to the client\&. Otherwise, XIQueryVersion returns Success\&. In both
cases major_version_inout and minor_version_inout are set to the
server\*(Aqs supported version\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the client has previously called XIQueryVersion, then the result
depends on the previously requested version and the currently
requested version\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If either the previous or current requested versions is less than
2\&.2, or if the requested major version numbers do not match, then
consecutive calls to XIQueryVersion by the same client always
return the first returned major\&.minor version\&. If the client
requests a version lower than the first returned major\&.minor
version in a subsequent call, a BadValue error occurs\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If all of the requested versions are 2\&.2 or greater, then
consecutive calls to XIQueryVersion by the same client with the
same major version will return the requested version, but the server
will operate according to the highest requested version number or
the highest supported version, whichever is lower\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIQueryVersion can generate a BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SH "EXAMPLES"
.sp
.if n \{\
.RS 4
.\}
.nf
int rc;
int major = 2;
int minor = 0;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
rc = XIQueryVersion(dpy, &major, &minor);
if (rc == Success)
printf("XI2 supported\&. (%d\&.%d)\en", major, minor);
else if (rc == BadRequest)
printf("No XI2 support\&. (%d\&.%d only)\en", major, minor);
else
printf("Internal error\en");
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
A value is outside of the permitted range\&.
.fi
.if n \{\
.RE
.\}
07070100026b46000081a400000000000000000000000153c5c3ef000029700000011200010015ffffffffffffffff0000003400000000root/usr/local/share/man/man3/XGetFeedbackControl.3 '\" t
.\" Title: xgetfeedbackcontrol
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XGETFEEDBACKCONTROL" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XGetFeedbackControl, XChangeFeedbackControl \- query and change input device feedbacks
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XFeedbackState *XGetFeedbackControl( Display *display,
XDevice *device,
int *num_feedbacks);
.fi
.sp
.nf
int XChangeFeedbackControl( Display *display,
XDevice *device,
Mask mask,
XFeedbackControl *control);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose feedbacks are to be queried
or modified\&.
.fi
.sp
.nf
num_feedbacks
Specifies an address into which the number of feedbacks
supported by thedevice is to be returned\&.
.fi
.sp
.nf
mask
Specifies a mask specific to each type of feedback that
describes howthe feedback is to be modified\&.
.fi
.sp
.nf
control
Specifies the address of an XFeedbackControl structure
that containsthe new values for the feedback\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
These requests are provided to manipulate those input devices
that support feedbacks\&. A BadMatch error will be generated if
the requested device does not support feedbacks\&. Whether or not
a given device supports feedbacks can be determined by
examining the information returned by the XOpenDevice request\&.
For those devices that support feedbacks, XOpenDevice will
return an XInputClassInfo structure with the input_class field
equal to the constant FeedbackClass (defined in the file XI\&.h)\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XGetFeedbackControl request returns a pointer to a list of
XFeedbackState structures\&. Each item in this list describes one
of the feedbacks supported by the device\&. The items are
variable length, so each contains its length to allow traversal
to the next item in the list\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The feedback classes that are currently defined are:
KbdFeedbackClass, PtrFeedbackClass, StringFeedbackClass,
IntegerFeedbackClass, LedFeedbackClass, and BellFeedbackClass\&.
These constants are defined in the file XI\&.h\&. An input device
may support zero or more classes of feedback, and may support
multiple feedbacks of the same class\&. Each feedback contains a
class identifier and an id that is unique within that class for
that input device\&. The id is used to identify the feedback when
making an XChangeFeedbackControl request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XGetFeedbackControl can generate a BadDevice or BadMatch error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XChangeFeedbackControl request modifies the values of one
feedback on the specified device\&. The feedback is identified by
the id field of the XFeedbackControl structure that is passed
with the request\&. The fields of the feedback that are to be
modified are identified by the bits of the mask that is passed
with the request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XChangeFeedbackControl can generate a BadDevice, BadMatch, or
BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SS "Structures"
.sp
.if n \{\
.RS 4
.\}
.nf
Each class of feedback is described by a structure specific to
that class\&. These structures are defined in the file XInput\&.h\&.
XFeedbackState and XFeedbackControl are generic structures that
contain three fields that are at the beginning of each class of
feedback:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
} XFeedbackState, XFeedbackControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XKbdFeedbackState structure defines the attributes that are
returned for feedbacks equivalent to those on the X keyboard\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int click;
int percent;
int pitch;
int duration;
int led_mask;
int global_auto_repeat;
char auto_repeats[32];
} XKbdFeedbackState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XPtrFeedbackState structure defines the attributes that are
returned for feedbacks equivalent to those on the the X
pointer\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int accelNum;
int accelDenom;
int threshold;
} XPtrFeedbackState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XIntegerFeedbackState structure defines attributes that are
returned for integer feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int resolution;
int minVal;
int maxVal;
} XIntegerFeedbackState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XStringFeedbackState structure defines the attributes that
are returned for string feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int max_symbols;
int num_syms_supported;
KeySym *syms_supported;
} XStringFeedbackState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XBellFeedbackState structure defines the attributes that
are returned for bell feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int percent;
int pitch;
int duration;
} XBellFeedbackState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XLedFeedbackState structure defines the attributes that are
returned for LED feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int led_values;
} XLedFeedbackState;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XPrtFeedbackControl structure defines the attributes that
can be controlled for pointer feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int accelNum;
int accelDenom;
int threshold;
} XPtrFeedbackControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XKbdFeedbackControl structure defines the attributes that
can be controlled for keyboard feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int click;
int percent;
int pitch;
int duration;
int led_mask;
int led_value;
int key;
int auto_repeat_mode;
} XKbdFeedbackControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XStringFeedbackControl structure defines the attributes
that can be controlled for string feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int num_keysyms;
KeySym *syms_to_display;
} XStringFeedbackControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XIntegerFeedbackControl structure defines the attributes
that can be controlled for integer feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int int_to_display;
} XIntegerFeedbackControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XBellFeedbackControl structure defines the attributes that
can be controlled for bell feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int percent;
int pitch;
int duration;
} XBellFeedbackControl;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The XLedFeedbackControl structure defines the attributes that
can be controlled for LED feedbacks\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
XID class;
int length;
XID id;
int led_mask;
int led_values;
} XLedFeedbackControl;
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&. This error may also occur if some
other client has caused the specified device to become
the X keyboard or X pointer device via the
XChangeKeyboardDevice or XChangePointerDevice requests\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XGetFeedbackControl request
was made specifying a device that has no feedbacks, or
an XChangeFeedbackControl request was made with an
XFeedbackControl structure that contains an invalid
feedback type\&. It may also occur if an invalid
combination of mask bits is specified ( DvKey but no
DvAutoRepeatMode for keyboard feedbacks), or if an
invalid KeySym is specified for a string feedback\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
Some numeric value falls outside the range of values
accepted by the XChangeFeedbackControl request\&. Unless a
specific range is specified for an argument, the full
range defined by the argument\*(Aqs type is accepted\&. Any
argument defined as a set of alternatives can generate
this error\&.
.fi
.if n \{\
.RE
.\}
07070100026b75000081a400000000000000000000000153c5c3ef00000e2a0000011200010015ffffffffffffffff0000003400000000root/usr/local/share/man/man3/XSetDeviceValuators.3 '\" t
.\" Title: xsetdevicevaluators
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XSETDEVICEVALUATORS" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XSetDeviceValuators \- initialize the valuators on an extension input device
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
XSetDeviceValuators( Display *display,
XDevice *device,
int *valuators,
int first_valuator,
int num_valuators);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
device
Specifies the device whose valuators are to be
initialized\&.
.fi
.sp
.nf
valuators
Specifies a pointer to an array of integer values to be
used to initialize thedevice valuators\&.
.fi
.sp
.nf
first_valuator
Specifies the first valuator to be set\&. Valuators are
numbered beginning withzero\&.
.fi
.sp
.nf
num_valuators
Specifies the number of valuators to be set\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
The XSetDeviceValuators request sets the current values of the
valuators of an input device\&. The valuators in the range
first_valuator to (first_valuator + num_valuators) are set to
the specified values\&. Valuators are numbered beginning with 0\&.
Not all input devices support initialization of valuator
values\&. If this request is made to a device that does not
support valuators initialization, a BadMatch error will occur\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the request succeeds, a status of Success is returned\&. If
another client has the device grabbed, a status of
AlreadyGrabbed is returned\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XSetDeviceValuators can generate a BadLength, BadDevice,
BadMatch, or BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The specified device
does not exist or has not been opened by this client via
XOpenInputDevice\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadMatch
This error may occur if an XSetDeviceValuators request
is made specifying a device that has no valuators and
reports no axes of motion, or if such a request is made
specifying a device that does not support valuator
initialization\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
An invalid first_valuator or num_valuators values was
specified\&.
.fi
.if n \{\
.RE
.\}
07070100026b40000081a400000000000000000000000153c5c3ef0000001b0000011200010015ffffffffffffffff0000003000000000root/usr/local/share/man/man3/XGetDeviceFocus.3 .so man3/XSetDeviceFocus.3
07070100026b4d000081a400000000000000000000000153c5c3ef000015450000011200010015ffffffffffffffff0000003200000000root/usr/local/share/man/man3/XIChangeHierarchy.3 '\" t
.\" Title: xichangehierarchy
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XICHANGEHIERARCHY" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIChangeHierarchy \- change the device hierarchy\&.
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
Status XIChangeHierarchy( Display *display,
XIAnyHierarchyChangeInfo *changes,
int num_changes);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
num_changes
Specifies the number of elements in changes\&.
.fi
.sp
.nf
changes
Specifies the changes to be made\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
XIChangeHierarchy modifies the device hierarchy by creating or
removing master devices or changing the attachment of slave
devices\&. If num_changes is non\-zero, changes is an array of
XIAnyHierarchyChangeInfo structures\&. If num_changes is equal or less than
zero, XIChangeHierarchy does nothing\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIChangeHierarchy processes changes in order, effective
immediately\&. If an error occurs, processing is aborted and the
error is reported to the client\&. Changes already made remain
effective\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The list of changes is any combination of
XIAnyHierarchyChangeInfo\&. The type of a hierarchy change can be
XIAddMaster, XIRemoveMaster, XIAttachSlave or XIDetachSlave\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef union {
int type;
XIAddMasterInfo add;
XIRemoveMasterInfo remove;
XIAttachSlave attach;
XIDetachSlave detach;
} XIAnyHierarchyChangeInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int type; /* XIAddMaster */
char* name;
Bool send_core;
Bool enable;
} XIAddMasterInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int type; /* XIRemoveMaster */
int deviceid;
int return_mode;
int return_pointer;
int return_keyboard;
} XIRemoveMasterInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int type; /* XIAttachSlave */
int deviceid;
int new_master;
} XIAttachSlaveInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
typedef struct {
int type; /* XIDetachSlave */
int deviceid;
} XIDetachSlaveInfo;
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIAddMasterInfo creates a new master pointer and a new
master keyboard labelled "name pointer" and "name keyboard"
respectively\&. If sendCore is True, the devices will send core
events\&. If enable is True, the device is enabled immediately\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIAddMasterInfo can generate a BadValue error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIRemoveMasterInfo removes device and its paired master device\&.
If returnMode is XIAttachToMaster, all pointers attached to
device or its paired master device are attached to
returnPointer\&. Likewise, all keyboards are attached to
returnKeyboard\&. If returnMode is XIFloating, all attached
devices are set to floating\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIRemoveMasterInfo can generate a BadValue and a BadDevice
error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIAttachSlaveInfo attaches device to newMaster\&. If the device
is currently attached to a master device, it is detached from
the master device and attached to the new master device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIAttachSlaveInfo can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIDettachSlaveInfo deattaches device from the current master
device and sets it floating\&. If the device is already floating,
no changes are made\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIDetachSlaveInfo can generate a BadDevice error\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIChangeHierarchy generates an XIHierarchyEvent if any
modifications were successful\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a appropriate for the type of change\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
Some numeric value falls out of the allowed range\&.
.fi
.if n \{\
.RE
.\}
07070100026b64000081a400000000000000000000000153c5c3ef000000180000011200010015ffffffffffffffff0000002f00000000root/usr/local/share/man/man3/XIUngrabButton.3 .so man3/XIGrabButton.3
07070100026b55000081a400000000000000000000000153c5c3ef0000001a0000011200010015ffffffffffffffff0000003400000000root/usr/local/share/man/man3/XIGetSelectedEvents.3 .so man3/XISelectEvents.3
07070100026b4b000081a400000000000000000000000153c5c3ef00000e390000011200010015ffffffffffffffff0000003800000000root/usr/local/share/man/man3/XIBarrierReleasePointer.3 '\" t
.\" Title: xibarrierreleasepointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1
.\" Date: 07/16/2014
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "XIBARRIERRELEASEPOIN" "3" "07/16/2014" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
XIBarrierReleasePointer, XIBarrierReleasePointers \- allow pointer movement across a pointer barrier
.SH "SYNOPSIS"
.sp
.nf
#include
.fi
.sp
.nf
int XIBarrierReleasePointer( Display *display,
int deviceid,
PointerBarrier barrier,
BarrierEventID eventid);
.fi
.sp
.nf
int XIBarrierReleasePointers( Display *display,
XIBarrierReleasePointerInfo *barriers,
int num_barriers);
.fi
.sp
.nf
display
Specifies the connection to the X server\&.
.fi
.sp
.nf
deviceid
Specifies the device allowed to move across the barrier\&.
.fi
.sp
.nf
barrier
Specifies the barrier\&.
.fi
.sp
.nf
eventid
Specifies the unique event ID for this barrier event sequence\&.
.fi
.sp
.nf
barriers
List of deviceid, barrier, eventid triplets\&.
.fi
.sp
.nf
num_barriers
Number of elements in barriers\&.
.fi
.SH "DESCRIPTION"
.sp
.if n \{\
.RS 4
.\}
.nf
If a pointer is constrained by a pointer barrier, release the pointer
from the barrier and allow it to cross the barrier with the next motion\&.
If the pointer moves away from the barrier, this request does nothing\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
This request only releases the pointer for the given barrier event
sequence\&. If the pointer moves away from or through the barrier, a
XI_BarrierLeave event is generated\&. Future pointer movement constrained
by this barrier will assign a new eventid and require a new
XIBarrierReleasePointer request\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
If the pointer is not currently blocked by the barrier or the barrier
event sequence has ended, this request does nothing\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
XIBarrierReleasePointer and XIBarrierReleasePointers can generate a
BadDevice or BadValue error\&.
.fi
.if n \{\
.RE
.\}
.SH "DIAGNOSTICS"
.sp
.if n \{\
.RS 4
.\}
.nf
BadDevice
An invalid device was specified\&. The device does not
exist or is not a master pointer device\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
BadValue
A value for a PointerBarrier argument does not name a defined
pointer barrier\&.
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.sp
.if n \{\
.RS 4
.\}
.nf
XFixesCreatePointerBarrier(3)
.fi
.if n \{\
.RE
.\}
07070100026b54000081a400000000000000000000000153c5c3ef0000001c0000011200010015ffffffffffffffff0000002e00000000root/usr/local/share/man/man3/XIGetProperty.3 .so man3/XIChangeProperty.3
07070100026b68000081a400000000000000000000000153c5c3ef000000180000011200010015ffffffffffffffff0000003000000000root/usr/local/share/man/man3/XIUngrabKeycode.3 .so man3/XIGrabButton.3
07070100026b24000041ed00000000000000000000000353c5c75f000000000000011200010015ffffffffffffffff0000001900000000root/usr/local/share/doc 07070100026b25000041ed00000000000000000000000253c5c75f000000000000011200010015ffffffffffffffff0000001f00000000root/usr/local/share/doc/libXi 07070100026b2c000081a400000000000000000000000153c5c3ef00000c0a0000011200010015ffffffffffffffff0000002c00000000root/usr/local/share/doc/libXi/inputlib.xml
%defs;
]>
X Input Device Extension Library
X Version 11, Release &fullrelvers;
Version 1.0
MarkPatrick
Ardent Computer
GeorgeSachs
Hewlett-Packard
198919901991
Hewlett-Packard Company
Ardent Computer
Permission to use, copy, modify, and distribute 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. Ardent and Hewlett-Packard make no representations about the suitability for any
purpose of the information in this document. It is provided "as is" without express or implied
warranty.
Copyright © 1989, 1990, 1991, 1992 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.
X Window System is a trademark of The Open Group.
07070100026b29000081a400000000000000000000000153c5c3ef000415b60000011200010015ffffffffffffffff0000002c00000000root/usr/local/share/doc/libXi/inputlib.pdf %PDF-1.4
%
4 0 obj
<<
/Title (X Input Device Extension Library)
/Author (Mark Patrick and George Sachs)
/Creator (DocBook XSL Stylesheets with Apache FOP)
/Producer (Apache FOP Version 1.1)
/CreationDate (D:20140716101416+10'00')
>>
endobj
5 0 obj
<<
/N 3
/Length 11 0 R
/Filter /FlateDecode
>>
stream
xwTSϽ7PkhRH
H.*1 J "6DTpDQ2(C"QDqpIdy͛~kg}ֺ LX Xňg` l pBF|،l *? Y"1 P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6 (.sSdl-c(2-y H_/XZ.$&\SM07#1ؙYr fYym";8980m-m(]v^DW~
emi ]P`/ u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp柇u$/ED˦L L[B@ٹЖX!@~ (* {d+}G͋љς}WL$cGD2QZ4 E@@ A(q`1D `'u46ptc48.`R0)
@Rt CXCP%CBH@Rf[(t
CQhz#0 Zl`O828.p|O×X
?:0FBx$ !i@ڐH[EE1PL⢖V6QP>U(j
MFk t,:.FW8c1L&ӎ9ƌaX:
rbl1
{{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞ