1b1297603Smrg/* 2b1297603Smrg * Copyright 1996 by Frederic Lepied, France. <Frederic.Lepied@sugix.frmug.org> 3b1297603Smrg * 4b1297603Smrg * Permission to use, copy, modify, distribute, and sell this software and its 5b1297603Smrg * documentation for any purpose is hereby granted without fee, provided that 6b1297603Smrg * the above copyright notice appear in all copies and that both that 7b1297603Smrg * copyright notice and this permission notice appear in supporting 85b944e2aSmrg * documentation, and that the name of the authors not be used in 9b1297603Smrg * advertising or publicity pertaining to distribution of the software without 105b944e2aSmrg * specific, written prior permission. The authors make no 11b1297603Smrg * representations about the suitability of this software for any purpose. It 12b1297603Smrg * is provided "as is" without express or implied warranty. 13b1297603Smrg * 145b944e2aSmrg * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15b1297603Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 165b944e2aSmrg * EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17b1297603Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 18b1297603Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19b1297603Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20b1297603Smrg * PERFORMANCE OF THIS SOFTWARE. 21b1297603Smrg * 22b1297603Smrg */ 23b1297603Smrg 245b944e2aSmrg#if HAVE_CONFIG_H 255b944e2aSmrg#include <config.h> 265b944e2aSmrg#endif 275b944e2aSmrg 28b1297603Smrg#include <X11/Xlib.h> 29b1297603Smrg#include <X11/extensions/XInput.h> 30a570218aSmrg#if HAVE_XI2 3153719b08Smrg#include <X11/extensions/XInput2.h> 3253719b08Smrg#endif 33b1297603Smrg#include <X11/Xutil.h> 34b1297603Smrg#include <stdio.h> 35b1297603Smrg#include <stdlib.h> 36b1297603Smrg 37b1297603Smrg#ifndef EXIT_SUCCESS 38b1297603Smrg#define EXIT_SUCCESS 1 39b1297603Smrg#endif 40b1297603Smrg#ifndef EXIT_FAILURE 41b1297603Smrg#define EXIT_FAILURE 0 42b1297603Smrg#endif 43b1297603Smrg 4453719b08Smrgextern int xi_opcode; /* xinput extension op code */ 4553719b08SmrgXDeviceInfo* find_device_info( Display *display, char *name, Bool only_extended); 4653719b08Smrg#if HAVE_XI2 4753719b08SmrgXIDeviceInfo* xi2_find_device_info(Display *display, char *name); 4853719b08Smrgint xinput_version(Display* display); 4953719b08Smrg#endif 5053719b08Smrg 5153719b08Smrgint get_feedbacks( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5253719b08Smrgint set_ptr_feedback( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5353719b08Smrgint get_button_map( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5453719b08Smrgint set_button_map( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5553719b08Smrgint set_pointer( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5653719b08Smrg 5753719b08Smrgint set_mode( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5853719b08Smrgint list( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 5953719b08Smrgint test( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6053719b08Smrgint version( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6153719b08Smrgint set_integer_feedback( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6253719b08Smrgint query_state( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6353719b08Smrg 6453719b08Smrg/* X Input 1.5 */ 6553719b08Smrgint list_props( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6653719b08Smrgint set_int_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6753719b08Smrgint set_float_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6853719b08Smrgint set_atom_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 6953719b08Smrgint watch_props( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 7053719b08Smrgint delete_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 7153719b08Smrgint set_prop( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 720309d3b3Smrgint disable( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 730309d3b3Smrgint enable( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 7453719b08Smrg 7553719b08Smrg/* X Input 2.0 */ 7653719b08Smrgint create_master( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 7753719b08Smrgint remove_master( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 7853719b08Smrgint change_attachment( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 7953719b08Smrgint float_device( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 8053719b08Smrgint set_clientpointer( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 8153719b08Smrgint test_xi2( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 820309d3b3Smrgint map_to_output( Display* display, int argc, char *argv[], char *prog_name, char *prog_desc); 835b944e2aSmrg 845b944e2aSmrg/* end of xinput.h */ 85