Laxkit
0.0.7.1
|
Event class for device events other than common mouse and keyboard events. More...
Public Member Functions | |
DeviceEventData (int i=0, int si=0) | |
Device id and subid of relevant device. | |
Public Member Functions inherited from Laxkit::EventData | |
EventData (const char *message, unsigned long fromwindow=0, unsigned long towindow=0) | |
EventData (int message, unsigned long fromwindow=0, unsigned long towindow=0) |
Public Attributes | |
int | id |
int | subid |
int | xflags |
int | xdev |
int | xattachment |
int | xenabled |
Time | xtime |
Public Attributes inherited from Laxkit::EventData | |
unsigned long | type |
unsigned long | subtype |
char * | send_message |
unsigned long | from |
unsigned long | to |
int | propagate |
clock_t | send_time |
unsigned long | xlib_time |
EventData * | next |
Event class for device events other than common mouse and keyboard events.
Particularly LAX_onDeviceChange, which can say that either some state of a device has changed (LAX_DeviceStateChange), a device's own capabilities have changed (LAX_DeviceChanged), device's controller has changed (for xinput2, this means the active slave device has changed, LAX_DeviceSwitched), or the device hierarchy has changed (LAX_DeviceHierarchyChange). The event->subtype will be set to one of these things.
For LAX_DeviceSwitched, this indicates that the new xinput2 slave device has an xid=subid.
LAX_DeviceHierarchyChange events are for each instance of a change in a hierarchy. For instance, when a new mouse is plugged in, X might send 2 hierarchy messages, one to say a new slave device is added, and one to say it is enabled. These events are translated into DeviceEventData objects. This is mainly useful only for low level utilities, so the X specific data is passed on raw.