#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 _DMXLocalInitInfo * | DMXLocalInitInfoPtr |
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) |
DMXInputInfo * | dmxInputLocateId (int id) |
int | dmxInputAttachConsole (const char *name, int isCore, int *id) |
int | dmxInputAttachBackend (int physicalScreen, int isCore, int *id) |
Variables | |
DMXLocalInputInfoPtr | dmxLocalCorePointer |
DMXLocalInputInfoPtr | dmxLocalCoreKeyboard |
Interface for low-level input support.
#define DMX_LOCAL_DEFAULT_KEYBOARD "kbd" |
#define DMX_LOCAL_DEFAULT_POINTER "ps2" |
#define DMX_MAP_ENTRIES 16 |
Referenced by dmxMapClear(), dmxMapInsert(), and dmxMapLookup().
#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 |
Referenced by dmxPointerGetMotionBufferSize(), dmxPointerGetMotionEvents(), and dmxPointerPutMotionEvent().
typedef int(* dmxCheckSpecialProcPtr)(DevicePtr, KeySym keySym) |
typedef void(* dmxCollectEventsProcPtr)(DevicePtr, dmxMotionProcPtr, dmxEnqueueProcPtr, dmxCheckSpecialProcPtr, DMXBlockType) |
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) |
typedef struct _DMXLocalInitInfo DMXLocalInitInfo |
Stores information from low-level device that is used to initialize the device at the dix level.
typedef struct _DMXLocalInitInfo * DMXLocalInitInfoPtr |
typedef struct _DMXLocalInputInfo DMXLocalInputInfoRec |
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).
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) |
enum DMXFunctionType |
enum DMXLocalInputExtType |
enum DMXLocalInputType |
enum DMXMotionType |
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 | |||
) |
References _DMXInputInfo::detached, dmxConfigAddInput(), dmxInputAttachNew(), dmxInputAttachOld(), dmxInputs, dmxLogInput(), dmxNumInputs, _DMXInputInfo::freename, _DMXInputInfo::name, and _DMXInputInfo::scrnIdx.
Referenced by dmxAddInput().
DMXLocalInputInfoPtr dmxInputCopyLocal | ( | DMXInputInfo * | dmxInput, | |
DMXLocalInputInfoPtr | s | |||
) |
Copy the local input information from s into a new devs slot in dmxInput.
References _DMXInputInfo::core, _DMXLocalInputInfo::deviceId, _DMXInputInfo::devs, dmxFatal, dmxLog(), _DMXInputInfo::inputIdx, _DMXLocalInputInfo::inputIdx, _DMXInputInfo::numDevs, _DMXLocalInputInfo::savedSendsCore, and _DMXLocalInputInfo::sendsCore.
Referenced by dmxInputInit(), dmxInputScanForExtensions(), and dmxPopulateLocal().
int dmxInputDetach | ( | DMXInputInfo * | dmxInput | ) |
Detach an input
References _DMXInputInfo::detached, _DMXInputInfo::devs, dmxInputLogDevices(), dmxLogInput(), _DMXLocalInputInfo::isCore, _DMXInputInfo::numDevs, _DMXLocalInputInfo::pDevice, and _DMXLocalInputInfo::sendsCore.
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 | |||
) |
Referenced by dmxCommonOthGetInfo(), and dmxInputScanForExtensions().
DMXInputInfo* dmxInputLocateId | ( | int | id | ) |
References _DMXInputInfo::devs, dmxInputs, dmxNumInputs, _DMXInputInfo::numDevs, and _DMXLocalInputInfo::pDevice.
Referenced by dmxInputDetachId().
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 | ) |
Referenced by dmxCheckFunctionKeys(), dmxCheckSpecialKeys(), dmxEnqueue(), dmxFixup(), and dmxKeySymToKeyCode().
Referenced by ChangeKeyboardDevice(), and ChangePointerDevice().