diff --git a/doc/Makefile.am b/doc/Makefile.am
index 3feeb07d..ccb790da 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -9,6 +9,7 @@ header_files = \
$(top_srcdir)/README.txt \
$(srcdir)/absolute-axes.dox \
$(srcdir)/clickpad-softbuttons.dox \
+ $(srcdir)/device-configuration-via-udev.dox \
$(srcdir)/normalization-of-relative-motion.dox \
$(srcdir)/seats.dox \
$(srcdir)/t440-support.dox
diff --git a/doc/device-configuration-via-udev.dox b/doc/device-configuration-via-udev.dox
new file mode 100644
index 00000000..b8540351
--- /dev/null
+++ b/doc/device-configuration-via-udev.dox
@@ -0,0 +1,35 @@
+/**
+@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".
+- MOUSE_DPI
+- HW resolution and sampling frequency of a relative pointer device.
+See @ref motion_normalization for details.
+
+
+
+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
+
+*/
diff --git a/src/libinput.h b/src/libinput.h
index f3776f3b..a6eddae9 100644
--- a/src/libinput.h
+++ b/src/libinput.h
@@ -35,42 +35,6 @@ extern "C" {
__attribute__ ((format (printf, _format, _args)))
#define LIBINPUT_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))
-/**
- * @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".
- * - MOUSE_DPI
- * - HW resolution and sampling frequency of a relative pointer device.
- * See @ref motion_normalization for details.
- *
- *
- *
- * 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.
*/