|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/* $XConsortium: xislib.h /main/10 1996/10/30 11:34:43 drk $ */
|
|
Packit |
b099d7 |
/***********************************************************************
|
|
Packit |
b099d7 |
@(#)xislib.h 1.46 Date:03/18/91
|
|
Packit |
b099d7 |
Author: TAT
|
|
Packit |
b099d7 |
History:
|
|
Packit |
b099d7 |
01/05/89 TAT Initial implementation
|
|
Packit |
b099d7 |
04/09/90 TAT Major Update with X11R4; remove syncs
|
|
Packit |
b099d7 |
04/23/90 TAT Reorganize to input synth bare essentials and move
|
|
Packit |
b099d7 |
all else to mvs library
|
|
Packit |
b099d7 |
05/30/90 SJS add to sccs
|
|
Packit |
b099d7 |
06/01/90 PSN add defines for key, button & modifier combination
|
|
Packit |
b099d7 |
06/05/90 PSN add prototype for new pi xisGetDragDist()
|
|
Packit |
b099d7 |
06/07/90 PSN add prototype for new pi xisIsMouseButtonDown()
|
|
Packit |
b099d7 |
07/02/90 SJS more key codes
|
|
Packit |
b099d7 |
07/03/90 PSN Fixed key code defines to make it easy to insert new
|
|
Packit |
b099d7 |
key codes any where in the list
|
|
Packit |
b099d7 |
08/09/90 SJS Use key code that are vendor independent.
|
|
Packit |
b099d7 |
Move prototypes to xis_protos.h
|
|
Packit |
b099d7 |
12/06/90 PSN Added global to keep track of natural pointer mode
|
|
Packit |
b099d7 |
(OwnerGrabMode) so that, IS does not grab pointer
|
|
Packit |
b099d7 |
incorrectly.
|
|
Packit |
b099d7 |
Calls:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Summary:
|
|
Packit |
b099d7 |
Follows below
|
|
Packit |
b099d7 |
************************************************************************/
|
|
Packit |
b099d7 |
/*************************************************************
|
|
Packit |
b099d7 |
MOTIF INPUT SYNTHESIS UTILITIES DEFINITIONS (INCLUDE FILE)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
*************************************************************/
|
|
Packit |
b099d7 |
/************************************************************
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
DESCRIPTION:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
This module contains structure definitions preprocessor
|
|
Packit |
b099d7 |
definitions and globals which are defined for use with
|
|
Packit |
b099d7 |
the xislib.c module.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
In xislib.c the preprocessor constant
|
|
Packit |
b099d7 |
DECLARE_XISLIB_GLOBALS_HERE is defined which causes the
|
|
Packit |
b099d7 |
generation of storage defining code for globals here
|
|
Packit |
b099d7 |
where in all other places that this file is included
|
|
Packit |
b099d7 |
which does not define this constant only references to
|
|
Packit |
b099d7 |
these globals are made.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Also, it is assumed that your C compiler handles ANSI-C
|
|
Packit |
b099d7 |
prototype function declarations (where additional type
|
|
Packit |
b099d7 |
checking can be done on your parameters). Where this
|
|
Packit |
b099d7 |
is not the case, precede inclusion of this file with
|
|
Packit |
b099d7 |
NOT_ANSI_C defined or just put its definition in your
|
|
Packit |
b099d7 |
cc command line.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
**********************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef XISLIB
|
|
Packit |
b099d7 |
#define XISLIB
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <stdio.h>
|
|
Packit |
b099d7 |
#include <ctype.h>
|
|
Packit |
b099d7 |
#include <math.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <X11/Xlib.h>
|
|
Packit |
b099d7 |
#include <X11/Xproto.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <X11/Intrinsic.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include "mvs_defines.h"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/************* define xisGLOBAL, xisINIT, PARAMS *****************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef DECLARE_XISLIB_GLOBALS_HERE
|
|
Packit |
b099d7 |
#define xisGLOBAL
|
|
Packit |
b099d7 |
#define xisINIT(x) = x
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
#define xisGLOBAL extern
|
|
Packit |
b099d7 |
#define xisINIT(x)
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************************************************************
|
|
Packit |
b099d7 |
GLOBAL DISPLAY AND APPLICATION CONTEXT INFO
|
|
Packit |
b099d7 |
******************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL XtAppContext xisAppContext xisINIT(NULL);
|
|
Packit |
b099d7 |
/* Application's Xt context */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Display *xisDisplay xisINIT(NULL);
|
|
Packit |
b099d7 |
/* Display test is connected to */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisScreen; /* Default screen number */
|
|
Packit |
b099d7 |
xisGLOBAL Window xisRootWindow; /* Root window on default screen */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* NOTE: This version of the input synthesis utils runs only on 1 screen */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Window xisSyncWindow xisINIT(0L);
|
|
Packit |
b099d7 |
/* Used in xisProcessEvents */
|
|
Packit |
b099d7 |
/* to sync WM,Server,and Client */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Window xisDummyFocusWindow xisINIT(0L);
|
|
Packit |
b099d7 |
/* Used to set focus away from app*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Time xisLastEventTime xisINIT(0);
|
|
Packit |
b099d7 |
/* X-server most recent event time*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Time xisLastButtonPressTime xisINIT(0);
|
|
Packit |
b099d7 |
/* X-server most recent b.prs time*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Time xisMultiClickTime xisINIT(0);
|
|
Packit |
b099d7 |
/* Max time between button clicks */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL short xisUseSyntheticTime xisINIT(0);
|
|
Packit |
b099d7 |
/* True = synthesize event times */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Time xisSyntheticTime xisINIT(0);
|
|
Packit |
b099d7 |
/* Fake X-server time in millisecs*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL void (*xisTraceMsg)( ) xisINIT(NULL);
|
|
Packit |
b099d7 |
/* Trace message func like printf */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL void (*xisWarningMsg)() xisINIT(NULL);
|
|
Packit |
b099d7 |
/* Warning message func like print*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL void (*xisErrorMsg)() xisINIT(NULL);
|
|
Packit |
b099d7 |
/* Error message func like printf */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisTerminateTestFlag xisINIT(0);
|
|
Packit |
b099d7 |
/* Set true when user does ctrl-C */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************************************************************
|
|
Packit |
b099d7 |
OBJECT DECLARATION
|
|
Packit |
b099d7 |
******************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XisObjectIdRecord {
|
|
Packit |
b099d7 |
Widget widget;
|
|
Packit |
b099d7 |
Window window;
|
|
Packit |
b099d7 |
int object_type;
|
|
Packit |
b099d7 |
int instance;
|
|
Packit |
b099d7 |
Window window_under_parent; /* If Shell, set to window */
|
|
Packit |
b099d7 |
/* under root, else set to */
|
|
Packit |
b099d7 |
/* same window as in id.window*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* From here to end of record is for XQueryTree info caching */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Window root_window; /* For multi-screen tests */
|
|
Packit |
b099d7 |
Window parent_window;
|
|
Packit |
b099d7 |
unsigned int num_children;
|
|
Packit |
b099d7 |
Window *children_windows; /* In stack order from bot to top */
|
|
Packit |
b099d7 |
} XisObjectIdRecord;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef void (*XisInformExpectedActionsProc)();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XisObjectRecord {
|
|
Packit |
b099d7 |
XisObjectIdRecord id;
|
|
Packit |
b099d7 |
int id_code; /* small unique portable int id */
|
|
Packit |
b099d7 |
int in_use;
|
|
Packit |
b099d7 |
int x,y,width,height;
|
|
Packit |
b099d7 |
int visibility_state;
|
|
Packit |
b099d7 |
unsigned long your_event_mask;
|
|
Packit |
b099d7 |
unsigned long do_not_propagate_mask;
|
|
Packit |
b099d7 |
struct _XisObjectRecord *parent;
|
|
Packit |
b099d7 |
struct _XisObjectRecord *first_child;
|
|
Packit |
b099d7 |
struct _XisObjectRecord *next_sibling;
|
|
Packit |
b099d7 |
XisInformExpectedActionsProc proc_InformExpectedActions;
|
|
Packit |
b099d7 |
} XisObjectRecord;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
# define MAX_NUM_OBJECTS 5000
|
|
Packit |
b099d7 |
xisGLOBAL XisObjectRecord xisObjects[MAX_NUM_OBJECTS] xisINIT({ 0 });
|
|
Packit |
b099d7 |
xisGLOBAL int xisMaxObjectNum xisINIT(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
# define NULL_Object (XisObjectRecord *)NULL
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisNumObjectTypes xisINIT(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL void (*xisGenerateObjects)(/*root_obj*/) xisINIT(NULL);
|
|
Packit |
b099d7 |
xisGLOBAL char *(*xisGetObjectTypeName)(/* int object_type */) xisINIT(NULL);
|
|
Packit |
b099d7 |
xisGLOBAL char *(*xisGetWidgetClassName)(/* Widget widget */) xisINIT(NULL);
|
|
Packit |
b099d7 |
xisGLOBAL Widget (*xisWindowToWidget)(/* Window window */) xisINIT(NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************************************************************
|
|
Packit |
b099d7 |
DEFINE InformExpectedActions FUNCTION POINTER
|
|
Packit |
b099d7 |
******************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* XIS Inform Record contains information which is valid only during a call */
|
|
Packit |
b099d7 |
/* of an InformExpectedAction function. It is made global so that all of the*/
|
|
Packit |
b099d7 |
/* xis state querying commands can access this information without explicitly*/
|
|
Packit |
b099d7 |
/* passing it as a parameter (each routine needs only a portion of all these */
|
|
Packit |
b099d7 |
/* fields). */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XisInformRecord {
|
|
Packit |
b099d7 |
/* These fields are always valid */
|
|
Packit |
b099d7 |
int is_valid; /* True when info here is valid */
|
|
Packit |
b099d7 |
int event_code; /* The event_code passed to InfExpAct*/
|
|
Packit |
b099d7 |
XisObjectRecord *current_obj; /* The current obj w/InformExpectActi*/
|
|
Packit |
b099d7 |
XisObjectRecord *action_obj; /* The object where the action ocured*/
|
|
Packit |
b099d7 |
XisObjectRecord *pointer_obj; /* The object the pointer is over */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* These fields are usable only by Enter/Leave events */
|
|
Packit |
b099d7 |
XisObjectRecord *leave_obj; /* The object being left */
|
|
Packit |
b099d7 |
XisObjectRecord *enter_obj; /* The object to be entered */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* These fields depend on which event occurred (see below) */
|
|
Packit |
b099d7 |
unsigned int modifier_key_status;/* The modifier keys held down */
|
|
Packit |
b099d7 |
int button_num; /* The button which did something */
|
|
Packit |
b099d7 |
int key_code; /* The xis keycode which did something*/
|
|
Packit |
b099d7 |
int edge_code; /* The top,bot,left,rght edge crossed*/
|
|
Packit |
b099d7 |
int num_clicks; /* The number of key/button clicks */
|
|
Packit |
b099d7 |
int del_x,del_y; /* Change in pntr position for motion*/
|
|
Packit |
b099d7 |
int new_width,new_height;/* Resized size */
|
|
Packit |
b099d7 |
} XisInformRecord;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL XisInformRecord xisInform;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* POSSIBLE EVENT CODE VALUES */ /* Relavent xisInform record fields */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
# define EventMouseButtonDown 0 /* modifiers,button_num */
|
|
Packit |
b099d7 |
# define EventMouseButtonUp 1 /* modifiers,button_num */
|
|
Packit |
b099d7 |
# define EventMouseButtonMultiClick 2 /* modifiers,button_num,num_clicks */
|
|
Packit |
b099d7 |
# define EventKeyClick 3 /* modifiers,key_code */
|
|
Packit |
b099d7 |
# define EventPointerEnter 4 /* edge_code */
|
|
Packit |
b099d7 |
# define EventPointerLeave 5 /* edge_code */
|
|
Packit |
b099d7 |
# define EventFocusIn 6 /* none */
|
|
Packit |
b099d7 |
# define EventFocusOut 7 /* none */
|
|
Packit |
b099d7 |
# define EventExpose 8 /* none */
|
|
Packit |
b099d7 |
# define EventDestroy 9 /* none */
|
|
Packit |
b099d7 |
# define EventMap 10 /* none */
|
|
Packit |
b099d7 |
# define EventUnmap 11 /* none */
|
|
Packit |
b099d7 |
# define EventKeyPress 12 /* modifiers,key_code */
|
|
Packit |
b099d7 |
# define EventKeyRelease 13 /* modifiers,key_code */
|
|
Packit |
b099d7 |
# define EventPointerMotion 14 /* del_x,del_y */
|
|
Packit |
b099d7 |
# define EventResize 15 /* new_width, new_height */
|
|
Packit |
b099d7 |
# define MAXEVENT 16
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* POSSIBLE MODIFIER KEY CODE MASKS */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
Use those already define in X.h:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* POSSIBLE BUTTON NUM CODES */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
Use those already defined in X.h:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Button1, Button2, Button3, Button4, Button5
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* POSSIBLE EDGE CODE VALUES */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define UndefinedEdge 0
|
|
Packit |
b099d7 |
#define TopEdge 1
|
|
Packit |
b099d7 |
#define BottomEdge 2
|
|
Packit |
b099d7 |
#define LeftEdge 3
|
|
Packit |
b099d7 |
#define RightEdge 4
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************************************************************
|
|
Packit |
b099d7 |
MOUSE POINTER AND BUTTON MANAGEMENT DECLARATIONS
|
|
Packit |
b099d7 |
******************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisSavePointerX; /* Position of pointer rel. to root */
|
|
Packit |
b099d7 |
xisGLOBAL int xisSavePointerY; /* when xisSavePointer() was called. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisPointerSaved xisINIT(0); /* Flag indicating pntr was saved.*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisPointerGrabbed xisINIT(0);/* Flag indicating pntr is grabed*/
|
|
Packit |
b099d7 |
xisGLOBAL Window xisGrabPointerWindow; /* Window where pointer was grabbed. */
|
|
Packit |
b099d7 |
xisGLOBAL Window xisGrabPointerSubwindow; /* Subwindow where button was pressed. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL Window xisSaveFocusWindow; /* Keyboard focus window. */
|
|
Packit |
b099d7 |
xisGLOBAL int xisSaveFocusRevert; /* Keyboard focus revert flag. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef DECLARE_XISLIB_GLOBALS_HERE
|
|
Packit |
b099d7 |
xisGLOBAL unsigned int xisMouseButtonMask[]; /* Maps button num to mask */
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
xisGLOBAL unsigned int xisMouseButtonMask[6] =
|
|
Packit |
b099d7 |
{ 0, Button1Mask, Button2Mask, Button3Mask, Button4Mask, Button5Mask };
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef DECLARE_XISLIB_GLOBALS_HERE
|
|
Packit |
b099d7 |
xisGLOBAL unsigned int xisMouseButtonDetail[]; /* Maps button num to detail */
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
xisGLOBAL unsigned int xisMouseButtonDetail[6] =
|
|
Packit |
b099d7 |
{ 0, Button1, Button2, Button3, Button4, Button5 };
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Move pointer direction codes */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MoveAny 0
|
|
Packit |
b099d7 |
#define MoveLeft 1
|
|
Packit |
b099d7 |
#define MoveRight 2
|
|
Packit |
b099d7 |
#define MoveUp 3
|
|
Packit |
b099d7 |
#define MoveDown 4
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Keep track of last selected widget (where button pressed) */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL XisObjectRecord *xisSelectedObject xisINIT(NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************************************************************
|
|
Packit |
b099d7 |
KEYBOARD SYNTHESIS DECLARATIONS
|
|
Packit |
b099d7 |
******************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define MAX_KEY_NAME 32
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Define keys which can be put in detail on KeyPress,KeyRelease events */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _KeyNone 0
|
|
Packit |
b099d7 |
#define _KeyActivate (_KeyNone+1)
|
|
Packit |
b099d7 |
#define _KeyAddMode (_KeyActivate+1)
|
|
Packit |
b099d7 |
#define _KeyBackSpace (_KeyAddMode+1)
|
|
Packit |
b099d7 |
#define _KeyBeginLine (_KeyBackSpace+1)
|
|
Packit |
b099d7 |
#define _KeyCancel (_KeyBeginLine+1)
|
|
Packit |
b099d7 |
#define _KeyClear (_KeyCancel+1)
|
|
Packit |
b099d7 |
#define _KeyCopy (_KeyClear+1)
|
|
Packit |
b099d7 |
#define _KeyCut (_KeyCopy+1)
|
|
Packit |
b099d7 |
#define _KeyDelete (_KeyCut+1)
|
|
Packit |
b099d7 |
#define _KeyDown (_KeyDelete+1)
|
|
Packit |
b099d7 |
#define _KeyEndLine (_KeyDown+1)
|
|
Packit |
b099d7 |
#define _KeyEnter (_KeyEndLine+1)
|
|
Packit |
b099d7 |
#define _KeyEscape (_KeyEnter+1)
|
|
Packit |
b099d7 |
#define _KeyHelp (_KeyEscape+1)
|
|
Packit |
b099d7 |
#define _KeyInsert (_KeyHelp+1)
|
|
Packit |
b099d7 |
#define _KeyLeft (_KeyInsert+1)
|
|
Packit |
b099d7 |
#define _KeyMenu (_KeyLeft+1)
|
|
Packit |
b099d7 |
#define _KeyMenuBar (_KeyMenu+1)
|
|
Packit |
b099d7 |
#define _KeyPageDown (_KeyMenuBar+1)
|
|
Packit |
b099d7 |
#define _KeyPageUp (_KeyPageDown+1)
|
|
Packit |
b099d7 |
#define _KeyPaste (_KeyPageUp+1)
|
|
Packit |
b099d7 |
#define _KeyPrimaryPaste (_KeyPaste+1)
|
|
Packit |
b099d7 |
#define _KeyQuickPaste (_KeyPrimaryPaste+1)
|
|
Packit |
b099d7 |
#define _KeyReturn (_KeyQuickPaste+1)
|
|
Packit |
b099d7 |
#define _KeyRight (_KeyReturn+1)
|
|
Packit |
b099d7 |
#define _KeySelect (_KeyRight+1)
|
|
Packit |
b099d7 |
#define _KeySpace (_KeySelect+1)
|
|
Packit |
b099d7 |
#define _KeyTab (_KeySpace+1)
|
|
Packit |
b099d7 |
#define _KeyUndo (_KeyTab+1)
|
|
Packit |
b099d7 |
#define _KeyUp (_KeyUndo+1)
|
|
Packit |
b099d7 |
#define _Keya (_KeyUp+1)
|
|
Packit |
b099d7 |
#define _Keyb (_Keya+1)
|
|
Packit |
b099d7 |
#define _Keyc (_Keyb+1)
|
|
Packit |
b099d7 |
#define _Keyd (_Keyc+1)
|
|
Packit |
b099d7 |
#define _Keye (_Keyd+1)
|
|
Packit |
b099d7 |
#define _Keyf (_Keye+1)
|
|
Packit |
b099d7 |
#define _Keyg (_Keyf+1)
|
|
Packit |
b099d7 |
#define _Keyh (_Keyg+1)
|
|
Packit |
b099d7 |
#define _Keyi (_Keyh+1)
|
|
Packit |
b099d7 |
#define _Keyj (_Keyi+1)
|
|
Packit |
b099d7 |
#define _Keyk (_Keyj+1)
|
|
Packit |
b099d7 |
#define _Keyl (_Keyk+1)
|
|
Packit |
b099d7 |
#define _Keym (_Keyl+1)
|
|
Packit |
b099d7 |
#define _Keyn (_Keym+1)
|
|
Packit |
b099d7 |
#define _Keyo (_Keyn+1)
|
|
Packit |
b099d7 |
#define _Keyp (_Keyo+1)
|
|
Packit |
b099d7 |
#define _Keyq (_Keyp+1)
|
|
Packit |
b099d7 |
#define _Keyr (_Keyq+1)
|
|
Packit |
b099d7 |
#define _Keys (_Keyr+1)
|
|
Packit |
b099d7 |
#define _Keyt (_Keys+1)
|
|
Packit |
b099d7 |
#define _Keyu (_Keyt+1)
|
|
Packit |
b099d7 |
#define _Keyv (_Keyu+1)
|
|
Packit |
b099d7 |
#define _Keyw (_Keyv+1)
|
|
Packit |
b099d7 |
#define _Keyx (_Keyw+1)
|
|
Packit |
b099d7 |
#define _Keyy (_Keyx+1)
|
|
Packit |
b099d7 |
#define _Keyz (_Keyy+1)
|
|
Packit |
b099d7 |
#define _KeyBackSlash (_Keyz+1)
|
|
Packit |
b099d7 |
#define _KeySlash (_KeyBackSlash+1)
|
|
Packit |
b099d7 |
#define _KeyBraceRight (_KeySlash+1)
|
|
Packit |
b099d7 |
#define _KeyBraceLeft (_KeyBraceRight+1)
|
|
Packit |
b099d7 |
#define _KeyBracketRight (_KeyBraceLeft+1)
|
|
Packit |
b099d7 |
#define _KeyBracketLeft (_KeyBracketRight+1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _Key1 (_KeyBracketLeft+1)
|
|
Packit |
b099d7 |
#define _Key2 (_Key1+1)
|
|
Packit |
b099d7 |
#define _Key3 (_Key2+1)
|
|
Packit |
b099d7 |
#define _Key4 (_Key3+1)
|
|
Packit |
b099d7 |
#define _Key5 (_Key4+1)
|
|
Packit |
b099d7 |
#define _Key6 (_Key5+1)
|
|
Packit |
b099d7 |
#define _Key7 (_Key6+1)
|
|
Packit |
b099d7 |
#define _Key8 (_Key7+1)
|
|
Packit |
b099d7 |
#define _Key9 (_Key8+1)
|
|
Packit |
b099d7 |
#define _Key0 (_Key9+1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define _MaxKey (_Key0+1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NoModifierKeys 0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define KeyNone NoModifierKeys, _KeyNone
|
|
Packit |
b099d7 |
#define KeyActivate NoModifierKeys, _KeyActivate
|
|
Packit |
b099d7 |
#define KeyAddMode NoModifierKeys, _KeyAddMode
|
|
Packit |
b099d7 |
#define KeyBackSpace NoModifierKeys, _KeyBackSpace
|
|
Packit |
b099d7 |
#define KeyBackTab ShiftMask, _KeyTab
|
|
Packit |
b099d7 |
#define KeyBeginData ControlMask, _KeyBeginLine
|
|
Packit |
b099d7 |
#define KeyBeginLine NoModifierKeys, _KeyBeginLine
|
|
Packit |
b099d7 |
#define KeyCancel NoModifierKeys, _KeyCancel
|
|
Packit |
b099d7 |
#define KeyClear NoModifierKeys, _KeyClear
|
|
Packit |
b099d7 |
#define KeyCopy NoModifierKeys, _KeyCopy
|
|
Packit |
b099d7 |
#define KeyCut NoModifierKeys, _KeyCut
|
|
Packit |
b099d7 |
#define KeyDelete NoModifierKeys, _KeyDelete
|
|
Packit |
b099d7 |
#define KeyDeselectAll ControlMask, _KeyBackSlash
|
|
Packit |
b099d7 |
#define KeyDown NoModifierKeys, _KeyDown
|
|
Packit |
b099d7 |
#define KeyEndData ControlMask, _KeyEndLine
|
|
Packit |
b099d7 |
#define KeyEndLine NoModifierKeys, _KeyEndLine
|
|
Packit |
b099d7 |
#define KeyEnter NoModifierKeys, _KeyEnter
|
|
Packit |
b099d7 |
#define KeyEscape NoModifierKeys, _KeyEscape
|
|
Packit |
b099d7 |
#define KeyExtend ShiftMask, _KeySelect
|
|
Packit |
b099d7 |
#define KeyHelp NoModifierKeys, _KeyHelp
|
|
Packit |
b099d7 |
#define KeyInsert NoModifierKeys, _KeyInsert
|
|
Packit |
b099d7 |
#define KeyLeft NoModifierKeys, _KeyLeft
|
|
Packit |
b099d7 |
#define KeyMenu NoModifierKeys, _KeyMenu
|
|
Packit |
b099d7 |
#define KeyMenuBar NoModifierKeys, _KeyMenuBar
|
|
Packit |
b099d7 |
#define KeyNextField NoModifierKeys, _KeyTab
|
|
Packit |
b099d7 |
#define KeyNextMenu ControlMask, _KeyDown
|
|
Packit |
b099d7 |
#define KeyPageDown NoModifierKeys, _KeyPageDown
|
|
Packit |
b099d7 |
#define KeyPageLeft ControlMask, _KeyPageUp
|
|
Packit |
b099d7 |
#define KeyPageRight ControlMask, _KeyPageDown
|
|
Packit |
b099d7 |
#define KeyPageUp NoModifierKeys, _KeyPageUp
|
|
Packit |
b099d7 |
#define KeyPaste NoModifierKeys, _KeyPaste
|
|
Packit |
b099d7 |
#define KeyPrevField ShiftMask, _KeyTab
|
|
Packit |
b099d7 |
#define KeyPrevMenu ControlMask, _KeyUp
|
|
Packit |
b099d7 |
#define KeyPrimaryCopy ControlMask, _KeyPrimaryPaste
|
|
Packit |
b099d7 |
#define KeyPrimaryCut Mod1Mask, _KeyPrimaryPaste
|
|
Packit |
b099d7 |
#define KeyPrimaryPaste NoModifierKeys, _KeyPrimaryPaste
|
|
Packit |
b099d7 |
#define KeyQuickCopy ControlMask, _KeyQuickPaste
|
|
Packit |
b099d7 |
#define KeyQuickCut Mod1Mask, _KeyQuickPaste
|
|
Packit |
b099d7 |
#define KeyQuickExtend ShiftMask, _KeyQuickPaste
|
|
Packit |
b099d7 |
#define KeyQuickPaste NoModifierKeys, _KeyQuickPaste
|
|
Packit |
b099d7 |
#define KeyReselect ControlMask|ShiftMask, _KeySelect
|
|
Packit |
b099d7 |
#define KeyRestore ControlMask|ShiftMask, _KeyInsert
|
|
Packit |
b099d7 |
#define KeyRight NoModifierKeys, _KeyRight
|
|
Packit |
b099d7 |
#define KeySelect NoModifierKeys, _KeySelect
|
|
Packit |
b099d7 |
#define KeySelectAll ControlMask, _KeySlash
|
|
Packit |
b099d7 |
#define KeySpace NoModifierKeys, _KeySpace
|
|
Packit |
b099d7 |
#define KeyTab NoModifierKeys, _KeyTab
|
|
Packit |
b099d7 |
#define KeyUndo NoModifierKeys, _KeyUndo
|
|
Packit |
b099d7 |
#define KeyUp NoModifierKeys, _KeyUp
|
|
Packit |
b099d7 |
#define KeyBackSlash NoModifierKeys, _KeyBackSlash
|
|
Packit |
b099d7 |
#define KeySlash NoModifierKeys, _KeySlash
|
|
Packit |
b099d7 |
#define KeyReturn NoModifierKeys, _KeyReturn
|
|
Packit |
b099d7 |
#define KeyBraceRight NoModifierKeys, _KeyBraceRight
|
|
Packit |
b099d7 |
#define KeyBraceLeft NoModifierKeys, _KeyBraceLeft
|
|
Packit |
b099d7 |
#define KeyBracketRight NoModifierKeys, _KeyBracketRight
|
|
Packit |
b099d7 |
#define KeyBracketLeft NoModifierKeys, _KeyBracketLeft
|
|
Packit |
b099d7 |
#define Key1 NoModifierKeys, _Key1
|
|
Packit |
b099d7 |
#define Key2 NoModifierKeys, _Key2
|
|
Packit |
b099d7 |
#define Key3 NoModifierKeys, _Key3
|
|
Packit |
b099d7 |
#define Key4 NoModifierKeys, _Key4
|
|
Packit |
b099d7 |
#define Key5 NoModifierKeys, _Key5
|
|
Packit |
b099d7 |
#define Key6 NoModifierKeys, _Key6
|
|
Packit |
b099d7 |
#define Key7 NoModifierKeys, _Key7
|
|
Packit |
b099d7 |
#define Key8 NoModifierKeys, _Key8
|
|
Packit |
b099d7 |
#define Key9 NoModifierKeys, _Key9
|
|
Packit |
b099d7 |
#define Key0 NoModifierKeys, _Key0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define KeyExclamation ShiftMask, _Key1
|
|
Packit |
b099d7 |
#define KeyAt ShiftMask, _Key2
|
|
Packit |
b099d7 |
#define KeyNumberSign ShiftMask, _Key3
|
|
Packit |
b099d7 |
#define KeyDollar ShiftMask, _Key4
|
|
Packit |
b099d7 |
#define KeyPercent ShiftMask, _Key5
|
|
Packit |
b099d7 |
#define KeyCaret ShiftMask, _Key6
|
|
Packit |
b099d7 |
#define KeyAmpersand ShiftMask, _Key7
|
|
Packit |
b099d7 |
#define KeyAsterisk ShiftMask, _Key8
|
|
Packit |
b099d7 |
#define KeyParenLeft ShiftMask, _Key9
|
|
Packit |
b099d7 |
#define KeyParenRight ShiftMask, _Key0
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Keya NoModifierKeys, _Keya
|
|
Packit |
b099d7 |
#define Keyb NoModifierKeys, _Keyb
|
|
Packit |
b099d7 |
#define Keyc NoModifierKeys, _Keyc
|
|
Packit |
b099d7 |
#define Keyd NoModifierKeys, _Keyd
|
|
Packit |
b099d7 |
#define Keye NoModifierKeys, _Keye
|
|
Packit |
b099d7 |
#define Keyf NoModifierKeys, _Keyf
|
|
Packit |
b099d7 |
#define Keyg NoModifierKeys, _Keyg
|
|
Packit |
b099d7 |
#define Keyh NoModifierKeys, _Keyh
|
|
Packit |
b099d7 |
#define Keyi NoModifierKeys, _Keyi
|
|
Packit |
b099d7 |
#define Keyj NoModifierKeys, _Keyj
|
|
Packit |
b099d7 |
#define Keyk NoModifierKeys, _Keyk
|
|
Packit |
b099d7 |
#define Keyl NoModifierKeys, _Keyl
|
|
Packit |
b099d7 |
#define Keym NoModifierKeys, _Keym
|
|
Packit |
b099d7 |
#define Keyn NoModifierKeys, _Keyn
|
|
Packit |
b099d7 |
#define Keyo NoModifierKeys, _Keyo
|
|
Packit |
b099d7 |
#define Keyp NoModifierKeys, _Keyp
|
|
Packit |
b099d7 |
#define Keyq NoModifierKeys, _Keyq
|
|
Packit |
b099d7 |
#define Keyr NoModifierKeys, _Keyr
|
|
Packit |
b099d7 |
#define Keys NoModifierKeys, _Keys
|
|
Packit |
b099d7 |
#define Keyt NoModifierKeys, _Keyt
|
|
Packit |
b099d7 |
#define Keyu NoModifierKeys, _Keyu
|
|
Packit |
b099d7 |
#define Keyv NoModifierKeys, _Keyv
|
|
Packit |
b099d7 |
#define Keyw NoModifierKeys, _Keyw
|
|
Packit |
b099d7 |
#define Keyx NoModifierKeys, _Keyx
|
|
Packit |
b099d7 |
#define Keyy NoModifierKeys, _Keyy
|
|
Packit |
b099d7 |
#define Keyz NoModifierKeys, _Keyz
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Btn1 NoModifierKeys, Button1
|
|
Packit |
b099d7 |
#define Btn2 NoModifierKeys, Button2
|
|
Packit |
b099d7 |
#define Btn3 NoModifierKeys, Button3
|
|
Packit |
b099d7 |
#define Btn4 NoModifierKeys, Button4
|
|
Packit |
b099d7 |
#define Btn5 NoModifierKeys, Button5
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define CtrlBtn1 ControlMask, Button1
|
|
Packit |
b099d7 |
#define CtrlBtn2 ControlMask, Button2
|
|
Packit |
b099d7 |
#define CtrlBtn3 ControlMask, Button3
|
|
Packit |
b099d7 |
#define CtrlBtn4 ControlMask, Button4
|
|
Packit |
b099d7 |
#define CtrlBtn5 ControlMask, Button5
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define ShiftBtn1 ShiftMask, Button1
|
|
Packit |
b099d7 |
#define ShiftBtn2 ShiftMask, Button2
|
|
Packit |
b099d7 |
#define ShiftBtn3 ShiftMask, Button3
|
|
Packit |
b099d7 |
#define ShiftBtn4 ShiftMask, Button4
|
|
Packit |
b099d7 |
#define ShiftBtn5 ShiftMask, Button5
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Here is where we define the special combinations of shifted and
|
|
Packit |
b099d7 |
control keys. The cases here are enough the cover all of the
|
|
Packit |
b099d7 |
text and list widgets.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define KeyShiftEndData ShiftMask|ControlMask, _KeyEndLine
|
|
Packit |
b099d7 |
#define KeyShiftBeginData ShiftMask|ControlMask, _KeyBeginLine
|
|
Packit |
b099d7 |
#define KeyShiftUp ShiftMask, _KeyUp
|
|
Packit |
b099d7 |
#define KeyShiftDown ShiftMask, _KeyDown
|
|
Packit |
b099d7 |
#define KeyShiftBeginLine ShiftMask, _KeyBeginLine
|
|
Packit |
b099d7 |
#define KeyShiftEndLine ShiftMask, _KeyEndLine
|
|
Packit |
b099d7 |
#define KeyShiftActivate ShiftMask, _KeyActivate
|
|
Packit |
b099d7 |
#define KeyCtrlRight ControlMask, _KeyRight
|
|
Packit |
b099d7 |
#define KeyCtrlLeft ControlMask, _KeyLeft
|
|
Packit |
b099d7 |
#define KeyCtrlBeginLine ControlMask, _KeyBeginLine
|
|
Packit |
b099d7 |
#define KeyCtrlEndLine ControlMask, _KeyEndLine
|
|
Packit |
b099d7 |
#define KeyCtrlSlash ControlMask, _KeySlash
|
|
Packit |
b099d7 |
#define KeyCtrlBackSlash ControlMask, _KeyBackSlash
|
|
Packit |
b099d7 |
#define KeyCtrlDown ControlMask, _KeyDown
|
|
Packit |
b099d7 |
#define KeyCtrlUp ControlMask, _KeyUp
|
|
Packit |
b099d7 |
#define KeyCtrlSelect ControlMask, _KeySelect
|
|
Packit |
b099d7 |
#define KeyShiftLeft ShiftMask, _KeyLeft
|
|
Packit |
b099d7 |
#define KeyShiftPageDown ShiftMask, _KeyPageDown
|
|
Packit |
b099d7 |
#define KeyShiftPageUp ShiftMask, _KeyPageUp
|
|
Packit |
b099d7 |
#define KeyShiftRight ShiftMask, _KeyRight
|
|
Packit |
b099d7 |
#define KeyShiftCtrlDown ShiftMask|ControlMask, _KeyDown
|
|
Packit |
b099d7 |
#define KeyShiftCtrlLeft ShiftMask|ControlMask, _KeyLeft
|
|
Packit |
b099d7 |
#define KeyShiftCtrlRight ShiftMask|ControlMask, _KeyRight
|
|
Packit |
b099d7 |
#define KeyShiftCtrlUp ShiftMask|ControlMask, _KeyUp
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Key Symbol Names */
|
|
Packit |
b099d7 |
/* KeySyms are X's way of naming keys. Valid KeySym names are listed in */
|
|
Packit |
b099d7 |
/* <X11/keysymdef.h> by removing the XK_ prefix from each name. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct {
|
|
Packit |
b099d7 |
char key_name[MAX_KEY_NAME];
|
|
Packit |
b099d7 |
int def_num;
|
|
Packit |
b099d7 |
KeyCode code;
|
|
Packit |
b099d7 |
Modifiers modifier ;
|
|
Packit |
b099d7 |
} xisKeySymStruct;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifndef DECLARE_XISLIB_GLOBALS_HERE
|
|
Packit |
b099d7 |
xisGLOBAL xisKeySymStruct xisKeySymName[];
|
|
Packit |
b099d7 |
#else
|
|
Packit |
b099d7 |
xisGLOBAL xisKeySymStruct xisKeySymName[_MaxKey+1] = {
|
|
Packit |
b099d7 |
/* this next key must be this !!! */
|
|
Packit |
b099d7 |
{/*KeyNone */ "", _KeyNone, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyActivate */ "osfActivate", _KeyActivate, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyAddMode */ "osfAddMode", _KeyAddMode, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBackSpace */ "osfBackSpace", _KeyBackSpace, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBeginLine */ "osfBeginLine", _KeyBeginLine, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyCancel */ "osfCancel", _KeyCancel, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyClear */ "osfClear", _KeyClear, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyCopy */ "osfCopy", _KeyCopy, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyCut */ "osfCut", _KeyCut, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyDelete */ "osfDelete", _KeyDelete, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyDown */ "osfDown", _KeyDown, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyEndLine */ "osfEndLine", _KeyEndLine, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyEnter */ "KP_Enter", _KeyEnter, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyEscape */ "Escape", _KeyEscape, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyHelp */ "osfHelp", _KeyHelp, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyInsert */ "osfInsert", _KeyInsert, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyLeft */ "osfLeft", _KeyLeft, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyMenu */ "osfMenu", _KeyMenu, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyMenuBar */ "osfMenuBar", _KeyMenuBar, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyPageDown */ "osfPageDown", _KeyPageDown, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyPageUp */ "osfPageUp", _KeyPageUp, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyPaste */ "osfPaste", _KeyPaste, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyPrimaryPaste */ "osfPrimaryPaste", _KeyPrimaryPaste,0, 0 },
|
|
Packit |
b099d7 |
{/*KeyQuickPaste */ "osfQuickPaste", _KeyQuickPaste,0, 0 },
|
|
Packit |
b099d7 |
{/*KeyReturn */ "Return", _KeyReturn, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyRight */ "osfRight", _KeyRight, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeySelect */ "osfSelect", _KeySelect, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeySpace */ "space", _KeySpace, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyTab */ "Tab", _KeyTab, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyUndo */ "osfUndo", _KeyUndo, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyUp */ "osfUp", _KeyUp , 0, 0 },
|
|
Packit |
b099d7 |
{/*a */ "a", _Keya, 0, 0 },
|
|
Packit |
b099d7 |
{/*b */ "b", _Keyb, 0, 0 },
|
|
Packit |
b099d7 |
{/*c */ "c", _Keyc, 0, 0 },
|
|
Packit |
b099d7 |
{/*d */ "d", _Keyd, 0, 0 },
|
|
Packit |
b099d7 |
{/*e */ "e", _Keye, 0, 0 },
|
|
Packit |
b099d7 |
{/*f */ "f", _Keyf, 0, 0 },
|
|
Packit |
b099d7 |
{/*g */ "g", _Keyg, 0, 0 },
|
|
Packit |
b099d7 |
{/*h */ "h", _Keyh, 0, 0 },
|
|
Packit |
b099d7 |
{/*i */ "i", _Keyi, 0, 0 },
|
|
Packit |
b099d7 |
{/*j */ "j", _Keyj, 0, 0 },
|
|
Packit |
b099d7 |
{/*k */ "k", _Keyk, 0, 0 },
|
|
Packit |
b099d7 |
{/*l */ "l", _Keyl, 0, 0 },
|
|
Packit |
b099d7 |
{/*m */ "m", _Keym, 0, 0 },
|
|
Packit |
b099d7 |
{/*n */ "n", _Keyn, 0, 0 },
|
|
Packit |
b099d7 |
{/*o */ "o", _Keyo, 0, 0 },
|
|
Packit |
b099d7 |
{/*p */ "p", _Keyp, 0, 0 },
|
|
Packit |
b099d7 |
{/*q */ "q", _Keyq, 0, 0 },
|
|
Packit |
b099d7 |
{/*r */ "r", _Keyr, 0, 0 },
|
|
Packit |
b099d7 |
{/*s */ "s", _Keys, 0, 0 },
|
|
Packit |
b099d7 |
{/*t */ "t", _Keyt, 0, 0 },
|
|
Packit |
b099d7 |
{/*u */ "u", _Keyu, 0, 0 },
|
|
Packit |
b099d7 |
{/*v */ "v", _Keyv, 0, 0 },
|
|
Packit |
b099d7 |
{/*w */ "w", _Keyw, 0, 0 },
|
|
Packit |
b099d7 |
{/*x */ "x", _Keyx, 0, 0 },
|
|
Packit |
b099d7 |
{/*y */ "y", _Keyy, 0, 0 },
|
|
Packit |
b099d7 |
{/*z */ "z", _Keyz, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBackSlash */ "backslash", _KeyBackSlash, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeySlash */ "slash", _KeySlash, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBraceRight */ "braceright", _KeyBraceRight, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBraceLeft */ "braceleft", _KeyBraceLeft, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBracketRight */ "bracketright", _KeyBracketRight, 0, 0 },
|
|
Packit |
b099d7 |
{/*KeyBracketLeft */ "bracketleft", _KeyBracketLeft, 0, 0 },
|
|
Packit |
b099d7 |
{/* 1 */ "1", _Key1, 0, 0 },
|
|
Packit |
b099d7 |
{/* 2 */ "2", _Key2, 0, 0 },
|
|
Packit |
b099d7 |
{/* 3 */ "3", _Key3, 0, 0 },
|
|
Packit |
b099d7 |
{/* 4 */ "4", _Key4, 0, 0 },
|
|
Packit |
b099d7 |
{/* 5 */ "5", _Key5, 0, 0 },
|
|
Packit |
b099d7 |
{/* 6 */ "6", _Key6, 0, 0 },
|
|
Packit |
b099d7 |
{/* 7 */ "7", _Key7, 0, 0 },
|
|
Packit |
b099d7 |
{/* 8 */ "8", _Key8, 0, 0 },
|
|
Packit |
b099d7 |
{/* 9 */ "9", _Key9, 0, 0 },
|
|
Packit |
b099d7 |
{/* 0 */ "0", _Key0, 0, 0 },
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* this next key must be this !!! */
|
|
Packit |
b099d7 |
{/*_MaxKey */ "UndefinedKey", _MaxKey, 0, 0 },
|
|
Packit |
b099d7 |
};
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#define KEYBOARD_FOCUS_CONTROLLED 0
|
|
Packit |
b099d7 |
#define KEYBOARD_FOCUS_NATURAL 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL short xisKeyboardFocusMode xisINIT(KEYBOARD_FOCUS_NATURAL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define POINTER_GRAB_CONTROLLED 0
|
|
Packit |
b099d7 |
#define POINTER_GRAB_NATURAL 1
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL short xisPointerGrabMode xisINIT(POINTER_GRAB_CONTROLLED);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/******************************************************************************
|
|
Packit |
b099d7 |
WIDGET IMPLICIT STATE INFO MANAGEMENT DECLARATIONS
|
|
Packit |
b099d7 |
******************************************************************************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* XIS State Record contains Current Relavent Physical X-Server States */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* NOTE: None of these fields point to objects since the lifetime of any one */
|
|
Packit |
b099d7 |
/* object is very short. They are regenerated after each call of */
|
|
Packit |
b099d7 |
/* xisProcessEvents. So any particular object might be located at */
|
|
Packit |
b099d7 |
/* a different location after each call. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XisStateRecord {
|
|
Packit |
b099d7 |
Window focus_window; /* Only really needed for DummyFocus */
|
|
Packit |
b099d7 |
Widget focus_widget; /* The latest known focus widget */
|
|
Packit |
b099d7 |
int focus_object_type; /* The latest focus object */
|
|
Packit |
b099d7 |
int focus_instance; /* The latest focus instance */
|
|
Packit |
b099d7 |
int focus_revert_to; /* The latest focus revert to field */
|
|
Packit |
b099d7 |
Widget selected_widget; /* Which widget,object_type,instance */
|
|
Packit |
b099d7 |
int selected_object_type; /* ...that the pointer was over when */
|
|
Packit |
b099d7 |
int selected_instance; /* ...the button was last pressed. */
|
|
Packit |
b099d7 |
unsigned int mod_button_state; /* Which modkeys & buttons are down */
|
|
Packit |
b099d7 |
} XisStateRecord;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL XisStateRecord xisState;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Patch for List and Text tests on r3 server */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
xisGLOBAL int xisUseCurrentTime xisINIT(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include "xis_protos.h"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* xislib.h */
|