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>
32 lines
845 B
CMake
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
|
|
)
|