calamares/src/modules/keyboardq/CMakeLists.txt
Hector Martin 812d861307 [keyboard] Add support for setting the layout via locale1
setxkbmap only works on X11/XWayland, and even on XWayland does not
correctly change the Wayland keyboard layout.

The "modern" way to control the system keyboard layout is via the
locale1 DBus interface (or the localectl frontend). On compositors like
KWin, this will update the keyboard layout on the fly, which is what we
want.

Implement support for setting the layout/model configs using locale1.
This is enabled by default when Calamares runs under Wayland, and can be
controlled via a config setting.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-12 21:18:05 +09:00

32 lines
845 B
CMake

# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
if(NOT WITH_QML)
calamares_skip_module( "keyboardq (QML is not supported in this build)" )
return()
endif()
find_package(Qt5 ${QT_VERSION} CONFIG REQUIRED Core DBus)
set(_keyboard ${CMAKE_CURRENT_SOURCE_DIR}/../keyboard)
include_directories(${_keyboard})
calamares_add_plugin(keyboardq
TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES
KeyboardQmlViewStep.cpp
${_keyboard}/Config.cpp
${_keyboard}/KeyboardLayoutModel.cpp
${_keyboard}/SetKeyboardLayoutJob.cpp
${_keyboard}/keyboardwidget/keyboardglobal.cpp
RESOURCES
keyboardq.qrc
SHARED_LIB
LINK_LIBRARIES
Qt5::DBus
)