public unowned Device? get_source_device ()
This function returns the hardware (slave) Device that has triggered the event, falling back to the virtual (master) device (as in get_device) if the event wasn’t caused by interaction with a hardware device.
This may happen for example in synthesized crossing events after a Window updates its geometry or a grab is acquired/released.
If the event does not contain a device field, this function will return null.
a Device, or null.