File indexing completed on 2024-05-12 05:35:48

0001 /*
0002     SPDX-FileCopyrightText: 2017 Xuetian Weng <wengxt@gmail.com>
0003     SPDX-FileCopyrightText: 2018 Roman Gilg <subdiff@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 #include "inputbackend.h"
0008 
0009 #if BUILD_KCM_MOUSE_KWIN_WAYLAND
0010 #include "backends/kwin_wl/kwin_wl_backend.h"
0011 #endif
0012 #if BUILD_KCM_MOUSE_X11
0013 #include "backends/x11/x11_backend.h"
0014 #endif
0015 
0016 #include <logging.h>
0017 
0018 #include <KWindowSystem>
0019 
0020 InputBackend *InputBackend::implementation(QObject *parent)
0021 {
0022     // There are multiple possible backends
0023 #if BUILD_KCM_MOUSE_X11
0024     if (KWindowSystem::isPlatformX11()) {
0025         qCDebug(KCM_MOUSE) << "Using X11 backend";
0026         return X11Backend::implementation(parent);
0027     }
0028 #endif
0029 #if BUILD_KCM_MOUSE_KWIN_WAYLAND
0030     if (KWindowSystem::isPlatformWayland()) {
0031         qCDebug(KCM_MOUSE) << "Using KWin+Wayland backend";
0032         return new KWinWaylandBackend(parent);
0033     }
0034 #endif
0035 
0036     qCCritical(KCM_MOUSE) << "Not able to select appropriate backend.";
0037     return nullptr;
0038 }