Atom* XListProperties( Display *display, int deviceid, int *nprops_return);
display Specifies the connection to the X server.
deviceid The device to list the properties for.
nprops_return Specifies the number of Atoms returned.
The XIListProperties function returns a list of the properties associated with the input device specified with deviceid. Each device may have an arbitrary number of properties attached, some of which were created by the driver and/or server, others created by clients at runtime.
The client is expected to free the list of properties using XFree.