Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

# dmxinput.h File Reference

Go to the source code of this file.

## Data Structures

struct | _DMXInputInfo

## Defines

#define | DMX_MAX_SIGIO_FDS 4

## Typedefs

typedef _DMXLocalInputInfo * | DMXLocalInputInfoPtr

## Enumerations

enum | DMXUpdateType { DMX_UPDATE_REALIZE, DMX_UPDATE_UNREALIZE, DMX_UPDATE_RESTACK, DMX_UPDATE_COPY, DMX_UPDATE_RESIZE, DMX_UPDATE_REPARENT }
enum | dmxSigioState { DMX_NOSIGIO = 0, DMX_USESIGIO, DMX_ACTIVESIGIO }

## Functions

void | dmxInputInit (DMXInputInfo *dmxInput)
void | dmxInputReInit (DMXInputInfo *dmxInput)
void | dmxInputLateReInit (DMXInputInfo *dmxInput)
void | dmxInputFree (DMXInputInfo *dmxInput)
void | dmxInputLogDevices (void)
void | dmxUpdateWindowInfo (DMXUpdateType type, WindowPtr pWindow)
void | dmxeqEnqueue (xEvent *e)
void | dmxeqSwitchScreen (ScreenPtr pScreen, Bool fromDIX)
void | dmxGetGlobalPosition (int *x, int *y)

## Variables

int | dmxNumInputs
DMXInputInfo * | dmxInputs

## Detailed Description

This file provides access to:

- global variables available to all hw/dmx routines, and
- enumerations and typedefs needed by input routines in hw/dmx (and hw/dmx/input).

The goal is that no files in hw/dmx should include header files from hw/dmx/input -- the interface defined here should be the only interface exported to the hw/dmx layer.

See also:
  input/dmxinputinit.c.

## Define Documentation

#define DMX_MAX_SIGIO_FDS 4

| Maximum number of file descriptors for SIGIO handling

## Typedef Documentation

typedef struct _DMXLocalInputInfo* DMXLocalInputInfoPtr

| An opaque structure that is only exposed in the dmx/input layer.

## Enumeration Type Documentation

enum dmxSigioState

| State of the SIGIO engine

Enumeration values:

  DMX_NOSIGIO | Device does not use SIGIO at all.
  DMX_USESIGIO | Device can use SIGIO, but is not (e.g., because the VT is switch away).
  DMX_ACTIVESIGIO | Device is currently using SIGIO.

enum DMXUpdateType

| Reason why window layout was updated.

Enumeration values:

  DMX_UPDATE_REALIZE | Window realized
  DMX_UPDATE_UNREALIZE | Window unrealized
  DMX_UPDATE_RESTACK | Stacking order changed
  DMX_UPDATE_COPY | Window copied
  DMX_UPDATE_RESIZE | Window resized
  DMX_UPDATE_REPARENT | Window reparented

## Function Documentation

void dmxeqEnqueue | ( | xEvent * | e | ) |

| This function adds an event to the end of the queue. If the event is an XInput event, then the next event (the valuator event) is also stored in the queue. If the new event has a time before the time of the last event currently on the queue, then the time is updated for the new event.

Must be reentrant with ProcessInputEvents. Assumption: dmxeqEnqueue will never be interrupted. If this is called from both signal handlers and regular code, make sure the signal is suspended when called from regular code.

void dmxeqSwitchScreen | ( | ScreenPtr | pScreen,
|  | Bool | fromDIX
| ) |

| Make pScreen the new screen for enqueueing events. If fromDIX is TRUE, also make pScreen the new screen for dequeuing events.

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

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

void dmxInputFree | ( | DMXInputInfo * | dmxInput | ) |

| Free all of the memory associated with dmxInput

void dmxInputInit | ( | DMXInputInfo * | dmxInput | ) |

| Initialize all of the devices described in dmxInput.

void dmxInputLateReInit | ( | DMXInputInfo * | dmxInput | ) |

| Re-initialize all the devices described in dmxInput. Called from #dmxReconfig after the cursor is redisplayed.

void dmxInputLogDevices | ( | void |  | ) |

| Log information about all of the known devices using dmxLog().

void dmxInputReInit | ( | DMXInputInfo * | dmxInput | ) |

| Re-initialize all the devices described in dmxInput. Called from #dmxReconfig before the cursor is redisplayed.

void dmxUpdateWindowInfo | ( | DMXUpdateType | type,
|  | WindowPtr | pWindow
| ) |

| This routine is called from #dmxwindow.c whenever the layout of windows on the display might have changed. This information is used by input drivers (currently only the console driver) that provide information about window layout to the user.

## Variable Documentation

DMXInputInfo* dmxInputs

| List of inputs

int dmxNumInputs

| Number of dmxInputs