X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Ftypes.h;h=3ab8506cbb50a3ede62b4337680a2e70fc88f3d7;hb=2762a7d7cf8d83e68b8f635941f6609119d630ae;hp=63ac39ec89148552bb4304c7f0981b12072a6a49;hpb=de460e831dc8578acfa8b72251ab9346c99c1f96;p=xscreensaver diff --git a/driver/types.h b/driver/types.h index 63ac39ec..3ab8506c 100644 --- a/driver/types.h +++ b/driver/types.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993-2008 Jamie Zawinski +/* xscreensaver, Copyright (c) 1993-2011 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -54,6 +54,26 @@ typedef struct passwd_dialog_data passwd_dialog_data; typedef struct splash_dialog_data splash_dialog_data; typedef struct _monitor monitor; +typedef struct poll_mouse_data poll_mouse_data; +struct poll_mouse_data { + int root_x; + int root_y; + Window child; + unsigned int mask; + time_t time; +}; + +#ifdef HAVE_XINPUT +/* XInputExtension device support */ +#include + +typedef struct xinput_dev_info xinput_dev_info; +struct xinput_dev_info { + XDevice *device; + XEventClass press, release, valuator; + poll_mouse_data last_poll_mouse; +}; +#endif /* This structure holds all the user-specified parameters, read from the command line, the resource database, or entered through a dialog box. @@ -112,6 +132,8 @@ struct saver_preferences { int pointer_hysteresis; /* mouse motions less than N/sec are ignored */ Bool dpms_enabled_p; /* Whether to power down the monitor */ + Bool dpms_quickoff_p; /* Whether to power down monitor immediately + in "Blank Only" mode */ Time dpms_standby; /* how long until monitor goes black */ Time dpms_suspend; /* how long until monitor power-saves */ Time dpms_off; /* how long until monitor powers down */ @@ -131,6 +153,7 @@ struct saver_preferences { Bool use_mit_saver_extension; Bool use_sgi_saver_extension; Bool use_proc_interrupts; + Bool use_xinput_extension; Bool getviewport_full_of_lies_p; /* XFree86 bug #421 */ @@ -188,8 +211,20 @@ struct saver_info { # ifdef HAVE_RANDR int randr_event_number; int randr_error_number; + Bool using_randr_extension; # endif + Bool using_xinput_extension; /* Note that `p->use_*' is the *request*, */ + /* and `si->using_*' is the *reality*. */ +#ifdef HAVE_XINPUT + int xinput_ext_event_number; /* may not be used */ + int xinput_ext_error_number; + int xinput_DeviceButtonPress; /* Extension device event codes. */ + int xinput_DeviceButtonRelease; /* Assigned by server at runtime */ + int xinput_DeviceMotionNotify; + xinput_dev_info *xinput_devices; + int num_xinput_devices; +# endif /* ======================================================================= blanking @@ -380,12 +415,7 @@ struct saver_screen_info { timers ======================================================================= */ - int poll_mouse_last_root_x; /* Used only when no server exts. */ - int poll_mouse_last_root_y; - Window poll_mouse_last_child; - unsigned int poll_mouse_last_mask; - time_t poll_mouse_last_time; - + poll_mouse_data last_poll_mouse; /* Used only when no server exts. */ /* ======================================================================= subprocs