# dmxevents.c File Reference

`#include "dmxinputinit.h"`
`#include "dmxevents.h"`
`#include "dmxcb.h"`
`#include "dmxcommon.h"`
`#include "dmxcursor.h"`
`#include "dmxmotion.h"`
`#include "dmxeq.h"`
`#include "dmxsigio.h"`
`#include "dmxmap.h"`
`#include "keysym.h"`
`#include "opaque.h"`
`#include "inputstr.h"`
`#include "mipointer.h"`
`#include "XIstubs.h"`

## Functions

void | dmxGetGlobalPosition (int *x, int *y)
void | dmxInvalidateGlobalPosition (void)
void | dmxMotion (DevicePtr pDev, int *v, int firstAxes, int axesCount, DMXMotionType type, DMXBlockType block)
void | dmxEnqueue (DevicePtr pDev, int type, int detail, KeySym keySym, XEvent *e, DMXBlockType block)
int | dmxCheckSpecialKeys (DevicePtr pDev, KeySym keySym)

## Detailed Description

Provide support and helper functions for enqueing events received by the low-level input drivers.

## Function Documentation

int dmxCheckSpecialKeys | ( | DevicePtr | pDev,
|  | KeySym | keySym
| ) |

| A pointer to this routine is passed to low-level input drivers so that all special keychecking is unified to this file. This function returns 0 if no special keys have been pressed. If the user has requested termination of the DMX server, -1 is returned. If the user has requested a switch to a VT, then the (1-based) number of that VT is returned.

void dmxEnqueue | ( | DevicePtr | pDev,
|  | int | type,
|  | int | detail,
|  | KeySym | keySym,
|  | XEvent * | e,
|  | DMXBlockType | block
| ) |

| Enqueue a non-motion event from the pDev device with the specified type and detail. If the event is a KeyPress or KeyRelease event, then the keySym is also specified. If block is set to DMX_BLOCK, then the SIGIO handler will be blocked around calls to dmxeqEnqueue().

void dmxGetGlobalPosition | ( | int * | x,
|  | int * | y
| ) |

| Return DMX's notion of the pointer position in the global coordinate space.

void dmxInvalidateGlobalPosition | ( | void |  | ) |

| Invalidate the global position for #dmxCoreMotion.

void dmxMotion | ( | DevicePtr | pDev,
|  | int * | v,
|  | int | firstAxes,
|  | int | axesCount,
|  | DMXMotionType | type,
|  | DMXBlockType | block
| ) |

Enqueue a motion event for pDev. The v vector has length axesCount, and contains values for each of the axes, starting at firstAxes.

The type of the motion may be DMX_RELATIVE, DMX_ABSOLUTE, or DMX_ABSOLUTE_CONFINED (in the latter case, the pointer will not be allowed to move outside the global boundaires).

If block is set to DMX_BLOCK, then the SIGIO handler will be blocked around calls to dmxeqEnqueue().

Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4. </addres>