dmxinputinit.h File Reference

#include "dmx.h"
#include "dmxinput.h"
#include "dmxlog.h"

Go to the source code of this file.

Data Structures

struct  _DMXLocalInitInfo
struct  _DMXEventMap
struct  _DMXLocalInputInfo

Defines

#define DMX_LOCAL_DEFAULT_KEYBOARD   "kbd"
#define DMX_LOCAL_DEFAULT_POINTER   "ps2"
#define DMX_MAX_BUTTONS   256
#define DMX_MOTION_SIZE   256
#define DMX_MAX_VALUATORS   32
#define DMX_MAX_AXES   32
#define DMX_MAX_XINPUT_EVENT_TYPES   100
#define DMX_MAP_ENTRIES   16
#define DMX_MAP_MASK   (DMX_MAP_ENTRIES - 1)

Typedefs

typedef struct _DMXLocalInitInfo DMXLocalInitInfo
typedef struct _DMXLocalInitInfoDMXLocalInitInfoPtr
typedef pointer(* dmxCreatePrivateProcPtr )(DeviceIntPtr)
typedef void(* dmxDestroyPrivateProcPtr )(pointer)
typedef void(* dmxInitProcPtr )(DevicePtr)
typedef void(* dmxReInitProcPtr )(DevicePtr)
typedef void(* dmxLateReInitProcPtr )(DevicePtr)
typedef void(* dmxGetInfoProcPtr )(DevicePtr, DMXLocalInitInfoPtr)
typedef int(* dmxOnProcPtr )(DevicePtr)
typedef void(* dmxOffProcPtr )(DevicePtr)
typedef void(* dmxUpdatePositionProcPtr )(pointer, int x, int y)
typedef void(* dmxVTPreSwitchProcPtr )(pointer)
typedef void(* dmxVTPostSwitchProcPtr )(pointer)
typedef void(* dmxVTSwitchReturnProcPtr )(pointer)
typedef int(* dmxVTSwitchProcPtr )(pointer, int vt, dmxVTSwitchReturnProcPtr, pointer)
typedef void(* dmxMotionProcPtr )(DevicePtr, int *valuators, int firstAxis, int axesCount, DMXMotionType type, DMXBlockType block)
typedef void(* dmxEnqueueProcPtr )(DevicePtr, int type, int detail, KeySym keySym, XEvent *e, DMXBlockType block)
typedef int(* dmxCheckSpecialProcPtr )(DevicePtr, KeySym keySym)
typedef void(* dmxCollectEventsProcPtr )(DevicePtr, dmxMotionProcPtr, dmxEnqueueProcPtr, dmxCheckSpecialProcPtr, DMXBlockType)
typedef void(* dmxProcessInputProcPtr )(pointer)
typedef void(* dmxUpdateInfoProcPtr )(pointer, DMXUpdateType, WindowPtr)
typedef int(* dmxFunctionsProcPtr )(pointer, DMXFunctionType)
typedef void(* dmxKBCtrlProcPtr )(DevicePtr, KeybdCtrl *ctrl)
typedef void(* dmxMCtrlProcPtr )(DevicePtr, PtrCtrl *ctrl)
typedef void(* dmxKBBellProcPtr )(DevicePtr, int percent, int volume, int pitch, int duration)
typedef struct _DMXEventMap DMXEventMap
typedef struct _DMXLocalInputInfo DMXLocalInputInfoRec

Enumerations

enum  DMXFunctionType { DMX_FUNCTION_GRAB, DMX_FUNCTION_TERMINATE, DMX_FUNCTION_FINE }
enum  DMXLocalInputType { DMX_LOCAL_HIGHLEVEL, DMX_LOCAL_KEYBOARD, DMX_LOCAL_MOUSE, DMX_LOCAL_OTHER }
enum  DMXLocalInputExtType { DMX_LOCAL_TYPE_LOCAL, DMX_LOCAL_TYPE_CONSOLE, DMX_LOCAL_TYPE_BACKEND, DMX_LOCAL_TYPE_COMMON }
enum  DMXMotionType { DMX_RELATIVE, DMX_ABSOLUTE, DMX_ABSOLUTE_CONFINED }

Functions

void dmxLocalInitInput (DMXInputInfo *dmxInput)
DMXLocalInputInfoPtr dmxInputCopyLocal (DMXInputInfo *dmxInput, DMXLocalInputInfoPtr s)
void dmxChangePointerControl (DeviceIntPtr pDevice, PtrCtrl *ctrl)
void dmxKeyboardKbdCtrlProc (DeviceIntPtr pDevice, KeybdCtrl *ctrl)
void dmxKeyboardBellProc (int percent, DeviceIntPtr pDevice, pointer ctrl, int unknown)
int dmxInputExtensionErrorHandler (Display *dsp, char *name, char *reason)
int dmxInputDetach (DMXInputInfo *dmxInput)
void dmxInputDetachAll (DMXScreenInfo *dmxScreen)
int dmxInputDetachId (int id)
DMXInputInfodmxInputLocateId (int id)
int dmxInputAttachConsole (const char *name, int isCore, int *id)
int dmxInputAttachBackend (int physicalScreen, int isCore, int *id)

Variables

DMXLocalInputInfoPtr dmxLocalCorePointer
DMXLocalInputInfoPtr dmxLocalCoreKeyboard

Detailed Description

Interface for low-level input support.

See also:
dmxinputinit.c

Define Documentation

#define DMX_LOCAL_DEFAULT_KEYBOARD   "kbd"
#define DMX_LOCAL_DEFAULT_POINTER   "ps2"
#define DMX_MAP_ENTRIES   16
#define DMX_MAP_MASK   (DMX_MAP_ENTRIES - 1)

Referenced by dmxMapInsert(), and dmxMapLookup().

#define DMX_MAX_AXES   32
#define DMX_MAX_BUTTONS   256

Referenced by dmxCommonMouGetMap().

#define DMX_MAX_VALUATORS   32
#define DMX_MAX_XINPUT_EVENT_TYPES   100

Referenced by dmxCommonOthOn().

#define DMX_MOTION_SIZE   256

Typedef Documentation

typedef int(* dmxCheckSpecialProcPtr)(DevicePtr, KeySym keySym)
typedef pointer(* dmxCreatePrivateProcPtr)(DeviceIntPtr)
typedef void(* dmxDestroyPrivateProcPtr)(pointer)
typedef void(* dmxEnqueueProcPtr)(DevicePtr, int type, int detail, KeySym keySym, XEvent *e, DMXBlockType block)
typedef struct _DMXEventMap DMXEventMap

Stores a mapping between the device id on the remote X server and the id on the DMX server

typedef int(* dmxFunctionsProcPtr)(pointer, DMXFunctionType)
typedef void(* dmxGetInfoProcPtr)(DevicePtr, DMXLocalInitInfoPtr)
typedef void(* dmxInitProcPtr)(DevicePtr)
typedef void(* dmxKBBellProcPtr)(DevicePtr, int percent, int volume, int pitch, int duration)
typedef void(* dmxKBCtrlProcPtr)(DevicePtr, KeybdCtrl *ctrl)
typedef void(* dmxLateReInitProcPtr)(DevicePtr)

Stores information from low-level device that is used to initialize the device at the dix level.

This is the device-independent structure used by the low-level input routines. The contents are not exposed to top-level .c files (except dmxextensions.c).

See also:
dmxinput.h
dmxextensions.c
typedef void(* dmxMCtrlProcPtr)(DevicePtr, PtrCtrl *ctrl)
typedef void(* dmxMotionProcPtr)(DevicePtr, int *valuators, int firstAxis, int axesCount, DMXMotionType type, DMXBlockType block)
typedef void(* dmxOffProcPtr)(DevicePtr)
typedef int(* dmxOnProcPtr)(DevicePtr)
typedef void(* dmxProcessInputProcPtr)(pointer)
typedef void(* dmxReInitProcPtr)(DevicePtr)
typedef void(* dmxUpdateInfoProcPtr)(pointer, DMXUpdateType, WindowPtr)
typedef void(* dmxUpdatePositionProcPtr)(pointer, int x, int y)
typedef void(* dmxVTPostSwitchProcPtr)(pointer)
typedef void(* dmxVTPreSwitchProcPtr)(pointer)
typedef int(* dmxVTSwitchProcPtr)(pointer, int vt, dmxVTSwitchReturnProcPtr, pointer)
typedef void(* dmxVTSwitchReturnProcPtr)(pointer)

Enumeration Type Documentation

Enumerator:
DMX_FUNCTION_GRAB 
DMX_FUNCTION_TERMINATE 
DMX_FUNCTION_FINE 
Enumerator:
DMX_LOCAL_TYPE_LOCAL 
DMX_LOCAL_TYPE_CONSOLE 
DMX_LOCAL_TYPE_BACKEND 
DMX_LOCAL_TYPE_COMMON 
Enumerator:
DMX_LOCAL_HIGHLEVEL 
DMX_LOCAL_KEYBOARD 
DMX_LOCAL_MOUSE 
DMX_LOCAL_OTHER 
Enumerator:
DMX_RELATIVE 
DMX_ABSOLUTE 
DMX_ABSOLUTE_CONFINED 

Function Documentation

void dmxChangePointerControl ( DeviceIntPtr  pDevice,
PtrCtrl *  ctrl 
)

Change the pointer control information for the pDevice. If the device sends core events, then also change the control information for all of the pointer devices that send core events.

References _dmxChangePointerControl(), _DMXInputInfo::detached, _DMXInputInfo::devs, dmxInputs, dmxNumInputs, GETDMXLOCALFROMPDEVICE, _DMXInputInfo::numDevs, and _DMXLocalInputInfo::sendsCore.

Referenced by dmxDeviceOnOff().

int dmxInputAttachBackend ( int  physicalScreen,
int  isCore,
int *  id 
)
int dmxInputAttachConsole ( const char *  name,
int  isCore,
int *  id 
)
DMXLocalInputInfoPtr dmxInputCopyLocal ( DMXInputInfo dmxInput,
DMXLocalInputInfoPtr  s 
)
int dmxInputDetach ( DMXInputInfo dmxInput  ) 
void dmxInputDetachAll ( DMXScreenInfo dmxScreen  ) 

Search for input associated with dmxScreen, and detach.

References dmxInputDetach(), dmxInputs, dmxNumInputs, _DMXScreenInfo::index, and _DMXInputInfo::scrnIdx.

Referenced by dmxDetachScreen().

int dmxInputDetachId ( int  id  ) 

Search for input associated with deviceId, and detach.

References dmxInputDetach(), and dmxInputLocateId().

Referenced by dmxRemoveInput().

int dmxInputExtensionErrorHandler ( Display *  dsp,
char *  name,
char *  reason 
)
DMXInputInfo* dmxInputLocateId ( int  id  ) 
void dmxKeyboardBellProc ( int  percent,
DeviceIntPtr  pDevice,
pointer  ctrl,
int  unknown 
)

Sound the bell on the device. If the device send core events, then sound the bell on all of the devices that send core events.

References _dmxKeyboardBellProc(), _DMXInputInfo::detached, _DMXInputInfo::devs, dmxInputs, dmxNumInputs, GETDMXLOCALFROMPDEVICE, _DMXInputInfo::numDevs, and _DMXLocalInputInfo::sendsCore.

Referenced by dmxKeyboardOn().

void dmxKeyboardKbdCtrlProc ( DeviceIntPtr  pDevice,
KeybdCtrl *  ctrl 
)

Change the keyboard control information for the pDevice. If the device sends core events, then also change the control information for all of the keyboard devices that send core events.

References _dmxKeyboardKbdCtrlProc(), _DMXInputInfo::detached, _DMXInputInfo::devs, dmxInputs, dmxNumInputs, GETDMXLOCALFROMPDEVICE, _DMXInputInfo::numDevs, and _DMXLocalInputInfo::sendsCore.

Referenced by dmxKeyboardOn().

void dmxLocalInitInput ( DMXInputInfo dmxInput  ) 

Variable Documentation


Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4.