def add_device(self, path):
		"""Add a device to a libinput context.

		If successful, the device will be added to the internal list and
		re-opened on :meth:`~libinput.LibInput.resume`. The device can be
		removed with :meth:`remove_device`.
		If the device was successfully initialized, it is returned.

		Args:
			path (str): Path to an input device.
		Returns:
			~libinput.define.Device: A device object or :obj:`None`.
		"""

		hdevice = self._libinput.libinput_path_add_device(
			self._li, path.encode())
		if hdevice:
			return Device(hdevice, self._libinput)
		return None