# dmxmap.c File Reference

`#include "dmxinputinit.h"`
`#include "dmxmap.h"`

## Functions

void | dmxMapInsert (DMXLocalInputInfoPtr dmxLocal, int remoteEvent, int serverEvent)
void | dmxMapClear (DMXLocalInputInfoPtr dmxLocal)
int | dmxMapLookup (DMXLocalInputInfoPtr dmxLocal, int remoteEvent)

## Detailed Description

This file implements a mapping from remote XInput event types to Xdmx XInput event types.

The exglobals.h file defines global server-side variables with names Device* to be integers that hold the value of the type of the server-side XInput extension event.

The client-side X11/extensions/XInput.h file defines macros with THE EXACT SAME Device* names!

Using those macros to extract remote server event type values from the (opaque) XDevice structure is appropriate, but makes a direct mapping to the Device* integers impossible. So we use the normalized XI_Device* names for these routines.

## Function Documentation

void dmxMapClear | ( | DMXLocalInputInfoPtr | dmxLocal | ) |

| Remove all mappings there were inserted with dmxMapInsert.

void dmxMapInsert | ( | DMXLocalInputInfoPtr | dmxLocal,
|  | int | remoteEvent,
|  | int | serverEvent
| ) |

| Create a mapping from remoteEvent to serverEvent. The remoteEvent is the type returned from the remote server. The serverEvent is from the XI_* list of events in include/extensions/XIproto.h.

int dmxMapLookup | ( | DMXLocalInputInfoPtr | dmxLocal,
|  | int | remoteEvent
| ) |

| Lookup a mapping for remoteEvent. The remoteEvent is the type returned from the remote server. The return value is that which was passed into dmxMapInsert (i.e., a value from the XI_* list in include/extensions/XIproto.h). If a mapping is not available, -1 is returned.

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