summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xorg/wacomcfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/xorg/wacomcfg.h')
-rw-r--r--src/3rdparty/xorg/wacomcfg.h138
1 files changed, 138 insertions, 0 deletions
diff --git a/src/3rdparty/xorg/wacomcfg.h b/src/3rdparty/xorg/wacomcfg.h
new file mode 100644
index 0000000000..03528df822
--- /dev/null
+++ b/src/3rdparty/xorg/wacomcfg.h
@@ -0,0 +1,138 @@
+/*****************************************************************************
+** wacomcfg.h
+**
+** Copyright (C) 2003 - John E. Joganic
+** Copyright (C) 2004-2008 - Ping Cheng
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public License
+** as published by the Free Software Foundation; either version 2
+** of the License, or (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU Lesser General Public License for more details.
+**
+** You should have received a copy of the GNU Lesser General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+**
+****************************************************************************/
+
+#ifndef __LINUXWACOM_WACOMCFG_H
+#define __LINUXWACOM_WACOMCFG_H
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XInput.h>
+#include <X11/extensions/XIproto.h>
+
+/* JEJ - NOTE WE DO NOT INCLUDE Xwacom.h HERE. THIS ELIMINATES A CONFLICT
+ * WHEN THIS FILE IS INSTALLED SINCE Xwacom.h WILL IN MANY CASES NOT
+ * GO WITH IT. SOMEDAY IT MAY BE PART OF XFREE86. */
+
+typedef struct _WACOMCONFIG WACOMCONFIG;
+typedef struct _WACOMDEVICE WACOMDEVICE;
+typedef void (*WACOMERRORFUNC)(int err, const char* pszText);
+typedef struct _WACOMDEVICEINFO WACOMDEVICEINFO;
+
+typedef enum
+{
+ WACOMDEVICETYPE_UNKNOWN,
+ WACOMDEVICETYPE_CURSOR,
+ WACOMDEVICETYPE_STYLUS,
+ WACOMDEVICETYPE_ERASER,
+ WACOMDEVICETYPE_PAD,
+ WACOMDEVICETYPE_TOUCH,
+ WACOMDEVICETYPE_MAX
+} WACOMDEVICETYPE;
+
+struct _WACOMDEVICEINFO
+{
+ const char* pszName;
+ WACOMDEVICETYPE type;
+};
+
+struct _WACOMCONFIG
+{
+ Display* pDisp;
+ WACOMERRORFUNC pfnError;
+ XDeviceInfo * pDevs;
+ int nDevCnt;
+};
+
+struct _WACOMDEVICE
+{
+ WACOMCONFIG* pCfg;
+ XDevice* pDev;
+};
+
+
+/*****************************************************************************
+** Functions
+*****************************************************************************/
+
+WACOMCONFIG * WacomConfigInit(Display* pDisplay, WACOMERRORFUNC pfnErrorHandler);
+/* Initializes configuration library.
+ * pDisplay - display to configure
+ * pfnErrorHandler - handler to which errors are reported; may be NULL
+ * Returns WACOMCONFIG handle on success, NULL on error.
+ * errno contains error code. */
+
+void WacomConfigTerm(WACOMCONFIG * hConfig);
+/* Terminates configuration library, releasing display. */
+
+int WacomConfigListDevices(WACOMCONFIG * hConfig, WACOMDEVICEINFO** ppInfo,
+ unsigned int* puCount);
+/* Returns a list of wacom devices.
+ * ppInfo - pointer to WACOMDEVICEINFO* to receive device data
+ * puSize - pointer to receive device count
+ * Returns 0 on success, -1 on failure. errno contains error code.
+ * Comments: You must free this structure using WacomConfigFree. */
+
+WACOMDEVICE * WacomConfigOpenDevice(WACOMCONFIG * hConfig,
+ const char* pszDeviceName);
+/* Open a device by name.
+ * pszDeviceName - name of XInput device corresponding to wacom device
+ * Returns handle to device on success, NULL on error.
+ * errno contains error code.
+ * Comments: Close using WacomConfigCloseDevice */
+
+int WacomConfigCloseDevice(WACOMDEVICE * hDevice);
+/* Closes a device.
+ * Returns 0 on success, -1 on error. errno contains error code. */
+
+int WacomConfigSetRawParam(WACOMDEVICE * hDevice, int nParam, int nValue, unsigned * keys);
+/* Sets the raw device parameter to specified value.
+ * nParam - valid paramters can be found Xwacom.h which is not
+ * automatically included.
+ * nValue - 32 bit integer value
+ * keys - an array of keys and modifiers
+ * Returns 0 on success, -1 on error. errno contains error code.
+ * EINVAL - invalid parameter or value
+ * EIO - unknown X failure, use XSetErrorHandler to capture complete
+ * error code and message
+ * Comments: Data is sent to wacom_drv module without any error checking.
+ * Generally, you should use the more specific handler functions in this
+ * library, but for some parameters, particularly experimental ones, you
+ * will probably have to set them directly. */
+
+int WacomConfigGetRawParam(WACOMDEVICE *hDevice, int nParam, int *nValue, int valu, unsigned * keys);
+/* Gets the raw device parameter.
+ * nParam - valid paramters can be found Xwacom.h which is not
+ * automatically included.
+ * nValue - the device parameter is returned in the integer
+ * pointed by this parameter.
+ * valu - calling valuator value: 1: Get 3: GetDefault
+ * keys - an array of keys and modifiers
+ * Returns 0 on success, -1 on error. errno contains error code.
+ * EINVAL - invalid parameter or value
+ * EIO - unknown X failure, use XSetErrorHandler to capture complete
+ * error code and message
+ */
+
+void WacomConfigFree(void* pvData);
+/* Frees memory allocated by library. */
+
+#endif /* __LINUXWACOM_WACOMCFG_H */
+