diff --git a/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp b/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp --- a/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp +++ b/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp @@ -42,7 +42,10 @@ if (backend->getMode() == TouchpadInputBackendMode::XLibinput) { m_plugin = new TouchpadConfigLibinput(this, backend); } - else if (backend->getMode() == TouchpadInputBackendMode::XSynaptics) { + // For now, if no touchpad is found, always fall back to synaptics frontend, + // which has a "no touchpad found" message. + // TODO: show a disabled version of the Libinput frontend as appropriate + else { m_plugin = new TouchpadConfigXlib(this, backend); } } else if (KWindowSystem::isPlatformWayland()) { diff --git a/kcms/touchpad/src/touchpadbackend.h b/kcms/touchpad/src/touchpadbackend.h --- a/kcms/touchpad/src/touchpadbackend.h +++ b/kcms/touchpad/src/touchpadbackend.h @@ -25,17 +25,18 @@ #include enum class TouchpadInputBackendMode { - WaylandLibinput = 0, - XLibinput = 1, - XSynaptics = 2 + Unset = 0, + WaylandLibinput = 1, + XLibinput = 2, + XSynaptics = 3 }; class Q_DECL_EXPORT TouchpadBackend : public QObject { Q_OBJECT protected: - explicit TouchpadBackend(QObject *parent) : QObject(parent) {} + explicit TouchpadBackend(QObject *parent) : QObject(parent), m_mode(TouchpadInputBackendMode::Unset) {} void setMode(TouchpadInputBackendMode mode); public: