132 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C
		
	
	
	
/************************************************************
 | 
						|
 | 
						|
Copyright 1996 by Thomas E. Dickey <dickey@clark.net>
 | 
						|
 | 
						|
                        All Rights Reserved
 | 
						|
 | 
						|
Permission to use, copy, modify, and distribute this software and its
 | 
						|
documentation for any purpose and without fee is hereby granted,
 | 
						|
provided that the above copyright notice appear in all copies and that
 | 
						|
both that copyright notice and this permission notice appear in
 | 
						|
supporting documentation, and that the name of the above listed
 | 
						|
copyright holder(s) not be used in advertising or publicity pertaining
 | 
						|
to distribution of the software without specific, written prior
 | 
						|
permission.
 | 
						|
 | 
						|
THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
 | 
						|
TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 | 
						|
AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
 | 
						|
LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
						|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
						|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
						|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
						|
 | 
						|
********************************************************/
 | 
						|
 | 
						|
/********************************************************************
 | 
						|
 * Interface of 'exevents.c'
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef EXEVENTS_H
 | 
						|
#define EXEVENTS_H
 | 
						|
 | 
						|
#include <X11/extensions/XIproto.h>
 | 
						|
#include "inputstr.h"
 | 
						|
 | 
						|
/***************************************************************
 | 
						|
 *              Interface available to drivers                 *
 | 
						|
 ***************************************************************/
 | 
						|
 | 
						|
/**
 | 
						|
 * Scroll flags for ::SetScrollValuator.
 | 
						|
 */
 | 
						|
enum ScrollFlags {
 | 
						|
    SCROLL_FLAG_NONE = 0,
 | 
						|
    /**
 | 
						|
     * Do not emulate legacy button events for valuator events on this axis.
 | 
						|
     */
 | 
						|
    SCROLL_FLAG_DONT_EMULATE = (1 << 1),
 | 
						|
    /**
 | 
						|
     * This axis is the preferred axis for valuator emulation for this axis'
 | 
						|
     * scroll type.
 | 
						|
     */
 | 
						|
    SCROLL_FLAG_PREFERRED = (1 << 2)
 | 
						|
};
 | 
						|
 | 
						|
extern _X_EXPORT int InitProximityClassDeviceStruct(DeviceIntPtr /* dev */ );
 | 
						|
 | 
						|
extern _X_EXPORT Bool InitValuatorAxisStruct(DeviceIntPtr /* dev */ ,
 | 
						|
                                             int /* axnum */ ,
 | 
						|
                                             Atom /* label */ ,
 | 
						|
                                             int /* minval */ ,
 | 
						|
                                             int /* maxval */ ,
 | 
						|
                                             int /* resolution */ ,
 | 
						|
                                             int /* min_res */ ,
 | 
						|
                                             int /* max_res */ ,
 | 
						|
                                             int /* mode */ );
 | 
						|
 | 
						|
extern _X_EXPORT Bool SetScrollValuator(DeviceIntPtr /* dev */ ,
 | 
						|
                                        int /* axnum */ ,
 | 
						|
                                        enum ScrollType /* type */ ,
 | 
						|
                                        double /* increment */ ,
 | 
						|
                                        int /* flags */ );
 | 
						|
 | 
						|
/* Input device properties */
 | 
						|
extern _X_EXPORT void XIDeleteAllDeviceProperties(DeviceIntPtr  /* device */
 | 
						|
    );
 | 
						|
 | 
						|
extern _X_EXPORT int XIDeleteDeviceProperty(DeviceIntPtr /* device */ ,
 | 
						|
                                            Atom /* property */ ,
 | 
						|
                                            Bool        /* fromClient */
 | 
						|
    );
 | 
						|
 | 
						|
extern _X_EXPORT int XIChangeDeviceProperty(DeviceIntPtr /* dev */ ,
 | 
						|
                                            Atom /* property */ ,
 | 
						|
                                            Atom /* type */ ,
 | 
						|
                                            int /* format */ ,
 | 
						|
                                            int /* mode */ ,
 | 
						|
                                            unsigned long /* len */ ,
 | 
						|
                                            const void * /* value */ ,
 | 
						|
                                            Bool        /* sendevent */
 | 
						|
    );
 | 
						|
 | 
						|
extern _X_EXPORT int XIGetDeviceProperty(DeviceIntPtr /* dev */ ,
 | 
						|
                                         Atom /* property */ ,
 | 
						|
                                         XIPropertyValuePtr *   /* value */
 | 
						|
    );
 | 
						|
 | 
						|
extern _X_EXPORT int XISetDevicePropertyDeletable(DeviceIntPtr /* dev */ ,
 | 
						|
                                                  Atom /* property */ ,
 | 
						|
                                                  Bool  /* deletable */
 | 
						|
    );
 | 
						|
 | 
						|
extern _X_EXPORT long XIRegisterPropertyHandler(DeviceIntPtr dev,
 | 
						|
                                                int (*SetProperty) (DeviceIntPtr
 | 
						|
                                                                    dev,
 | 
						|
                                                                    Atom
 | 
						|
                                                                    property,
 | 
						|
                                                                    XIPropertyValuePtr
 | 
						|
                                                                    prop,
 | 
						|
                                                                    BOOL
 | 
						|
                                                                    checkonly),
 | 
						|
                                                int (*GetProperty) (DeviceIntPtr
 | 
						|
                                                                    dev,
 | 
						|
                                                                    Atom
 | 
						|
                                                                    property),
 | 
						|
                                                int (*DeleteProperty)
 | 
						|
                                                (DeviceIntPtr dev,
 | 
						|
                                                 Atom property)
 | 
						|
    );
 | 
						|
 | 
						|
extern _X_EXPORT void XIUnregisterPropertyHandler(DeviceIntPtr dev, long id);
 | 
						|
 | 
						|
extern _X_EXPORT Atom XIGetKnownProperty(const char *name);
 | 
						|
 | 
						|
extern _X_EXPORT DeviceIntPtr XIGetDevice(xEvent *ev);
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
 *                      End of driver interface                             *
 | 
						|
 ****************************************************************************/
 | 
						|
 | 
						|
#endif                          /* EXEVENTS_H */
 |