diff --git a/src/libinput.h b/src/libinput.h
index b7f161f0..a8a19c54 100644
--- a/src/libinput.h
+++ b/src/libinput.h
@@ -103,6 +103,38 @@ extern "C" {
* middle button click.
*/
+/**
+ * @page udev_config Static device configuration via udev
+ *
+ * libinput supports some static configuration through udev properties.
+ * These propertiesare read when the device is initially added
+ * to libinput's device list, i.e. before the @ref
+ * LIBINPUT_EVENT_DEVICE_ADDED event is generated.
+ *
+ * The following udev properties are supported:
+ *
+ * - LIBINPUT_CALIBRATION_MATRIX
+ * - Sets the calibration matrix, see
+ * libinput_device_config_calibration_get_default_matrix(). If unset,
+ * defaults to the identity matrix.
+ * - ID_SEAT
+ * - Assigns the physical seat for this device. See
+ * libinput_seat_get_physical_name(). Defaults to "seat0".
+ * - WL_SEAT
+ * - Assigns the logical seat for this device. See
+ * libinput_seat_get_logical_name()
+ * context. Defaults to "default".
+ *
+ *
+ * Below is an example udev rule to assign "seat1" to a device from vendor
+ * 0x012a with the model ID of 0x034b.
+ * @code
+ * ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_VENDOR_ID}=="012a", \
+ * ENV{ID_MODEL_ID}=="034b", ENV{ID_SEAT}="seat1"
+ * @endcode
+ *
+ */
+
/**
* Log priority for internal logging messages.
*/