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 }