Tag:
Branch:
Tree:
c3e2ea6c21
Plasma/5.17
Plasma/5.20
Plasma/5.21
Plasma/5.22
Plasma/5.23
Plasma/5.24
master
upstream
wilder-Plasma/5.16
wilder-Plasma/5.17
wilder-Plasma/5.18
wilder-Plasma/5.19
wilder-Plasma/5.20
wilder-Plasma/5.23
wilder-Plasma/5.24
wilder-Plasma/5.25
wilder-Plasma/5.25-rebase
wilder-Plasma/5.26
wilder-Plasma/5.26-bottom-rebase-terse
wilder-Plasma/5.26-rebase
wilder-Plasma/5.26-rebase-terse
wilder-Plasma/5.26-tip-rebase
wilder-Plasma/5.26-works
wilder-Plasma/5.27
wilder-Plasma/5.27-bottom-rebase
wilder-last-point
wilder-master
wilder-master-debugging-multiscreen
wilder-master-rebase
wilder-master-rebase-stable
wilder/Plasma/6.2
wilder/Plasma/6.3
wilder/rebase-5.27
wilder/rebase-5.27-current
windowview-enhance
windowview-enhance-+debug
v4.96.0
v4.97.0
v4.98.0
v5.0.0
v5.0.1
v5.0.2
v5.0.95
v5.1.0
v5.1.1
v5.1.2
v5.1.95
v5.10.0
v5.10.1
v5.10.2
v5.10.3
v5.10.3.1
v5.10.4
v5.10.5
v5.10.95
v5.11.0
v5.11.1
v5.11.2
v5.11.3
v5.11.4
v5.11.5
v5.11.95
v5.12.0
v5.12.1
v5.12.2
v5.12.3
v5.12.4
v5.12.5
v5.12.6
v5.12.7
v5.12.8
v5.12.9
v5.12.90
v5.13.0
v5.13.1
v5.13.2
v5.13.3
v5.13.4
v5.13.5
v5.13.90
v5.14.0
v5.14.1
v5.14.2
v5.14.3
v5.14.4
v5.14.5
v5.14.90
v5.15.0
v5.15.1
v5.15.2
v5.15.3
v5.15.3.1
v5.15.3.2
v5.15.4
v5.15.5
v5.15.90
v5.16.0
v5.16.1
v5.16.2
v5.16.3
v5.16.4
v5.16.5
v5.16.90
v5.17.0
v5.17.1
v5.17.2
v5.17.3
v5.17.4
v5.17.5
v5.17.90
v5.18.0
v5.18.1
v5.18.2
v5.18.3
v5.18.4
v5.18.4.1
v5.18.5
v5.18.6
v5.18.7
v5.18.8
v5.18.90
v5.19.0
v5.19.1
v5.19.2
v5.19.3
v5.19.4
v5.19.5
v5.19.90
v5.2.0
v5.2.0.1
v5.2.1
v5.2.2
v5.2.95
v5.20.0
v5.20.1
v5.20.2
v5.20.3
v5.20.4
v5.20.5
v5.20.90
v5.21.0
v5.21.1
v5.21.2
v5.21.3
v5.21.4
v5.21.5
v5.21.90
v5.22.0
v5.22.1
v5.22.2
v5.22.3
v5.22.4
v5.22.5
v5.22.90
v5.23.0
v5.23.1
v5.23.2
v5.23.3
v5.23.4
v5.23.5
v5.23.90
v5.24.0
v5.24.1
v5.24.2
v5.24.3
v5.24.4
v5.24.5
v5.24.6
v5.24.7
v5.24.90
v5.25.0
v5.25.1
v5.25.2
v5.25.3
v5.25.4
v5.25.5
v5.25.90
v5.26.0
v5.26.1
v5.26.2
v5.26.3
v5.26.4
v5.26.5
v5.26.90
v5.27.0
v5.27.1
v5.27.2
v5.27.3
v5.27.4
v5.27.4.1
v5.27.5
v5.27.6
v5.3.0
v5.3.1
v5.3.2
v5.3.95
v5.4.0
v5.4.1
v5.4.2
v5.4.3
v5.4.95
v5.5.0
${ noResults }
10 Commits (c3e2ea6c21fcf8a2293b080a37bb6843f9395188)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
bf99d9ffdd |
Introduce support for keyboard layout switching policies
Summary: This change introduces the initial support for keyboard layout switching policies like in the X11 session. This first change only adds support for Global and Virtual Desktop policy. This means the current layout is stored in context to the current virtual desktop. Whenever one changes the virtual desktop the previous layout is restored. If the user has not yet navigated to this virtual desktop a switch to default layout is performed. This is the first code interacting with the new Virtual Desktop API which is not based on integer ids. To fully support this the API is slightly extended. Test Plan: Added test case Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D5301 |
9 years ago |
|
|
40de5fa75f |
Only export the org.kde.keyboard DBus service if there are at least two layouts
Summary: It doesn't make much sense to export the DBus service if there is nothing one can do with it. Test Plan: Added test case Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D4562 |
9 years ago |
|
|
b16bd4147a |
Ensure the layoutChanged DBus signal gets emitted when changing layouts through DBus
Summary: Unfortunately Xkb does not emit a signal when the keyboard layout changes. Due to that we need to manually check in KeyboardLayout after each action which could change the layout whether the layout changed. This was not yet done for the case when the layout got changed through the DBus interface. Resulting in the DBus signal not emitted. This change addresses the issue by invoking the check for change after changing the keyboard layout. Test Plan: Added test case Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4387 |
9 years ago |
|
|
551d4a8a5d |
Implement the DBus org.kde.KeyboardLayouts interface of keyboard kded
Summary: This change introduces a new class KeyboardLayoutDBusInterface which implements the same DBus interface as the keyboard kded module. Thus components which interact with the keyboard kded through dbus start to also work on Wayland. Together with D4322 this should result in keyboard layout being available on the lock screen. T5209 Test Plan: Tested with qdbusviewer: switching layout works, signal on change gets emitted. Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4323 |
9 years ago |
|
|
8d9c4acf4d |
Provide kxbk config through kwinApp
Summary: So far KWin parsed the kxbkrc at multiple places (once in Xkb, once in KeyboardLayout). This is now replaced by one KSharedConfigPtr hold by kwinApp, just like the normal kwinrc. The KSharedConfigPtr is now passed to Xkb. As a nice side effect this makes it easier to test keyboard layout changes as we can now properly mock the keyboard configuration. Thus this change also comes with an autotest for loading keyboard layout configuration. This is becoming more and more a need as we start getting bug reports for layout specific issues like global shortcuts not working with Greek layout. Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4315 |
9 years ago |
|
|
6b0b4cf468 |
Support global shortcut to switch to specific layout
Summary: Our keyboard layout kcm allows to set a global shortcut to switch to a specific keyboard layout. So far KWin/Wayland did not support those shortcuts, only the switch to next layout shortcut was supported. This change introduces support for custom layout shortcuts. For that we iterate over all available layouts and check whether a shortcut is registered. If that is the case a QAction is created and passed to KGlobalAccel. As the triggering code is similar to the menu, the switchLayout lambda is split out into a dedicated method and translating the layouts is extracted into a method. Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4256 |
9 years ago |
|
|
fe561c5c7d |
Add a basic SNI for keyboard layout
Summary: On X11 the SNI for keyboard layout is provided by the keyboard kded. On Wayland that kded has no real access to the layouts and cannot properly implement switching. Given that it's better to integrate the SNI directly in KWin. The implementation of the SNI is largly based on the existing SNI from plasma-desktop/kcms/keyboard. The implementation so far supports: * Switching to next layout on toggle * Presenting all layouts in a context menu * Switching to a specific layout through the context menu * Opening the keyboard layout configuration module * scroll on SNI to switch layout * config option whether to show the SNI Not yet supported are: * flags and/or short text for the layouts The last point needs more explanation. On X11 the layout name is something like "de" or "us". This can be directly mapped to a flag and can be added as a short note. Xkbcommon does not provide this information directly. Instead it provides us the full name of the layout, e.g. "German" or "English (us)". There is no way in the API to go from "German" to "de". Instead we need to parse the evdev.xml file to gather all information about layouts. This is already done in the keyboard kcm to configure layouts. The implementation needs to be split out into a small helper library. Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4220 |
9 years ago |
|
|
03efd67853 |
Drop restriction on when to emit the keyboard layout changed OSD
Summary: We had bound this to whether we use libinput as the keyboard layout change got emitted from within our Xkb class. This class gets used also on X11 for modifier only shortcuts. With the latest changes the notification got split out from Xkb into an own class which is not used on X11 any more. Thus the check is no longer used. By removing the check we can test the OSD in a nested setup. Test Plan: OSD is shown when running a nested Plasma Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D4244 |
9 years ago |
|
|
d6c0a5414e |
Split implementation of keyboard layout handling into a dedicated class
Summary: So far the implementation of keyboard layout handling was split between KeyboardInputRedirection and Xkb. KeyboardInputRedirection registered the global shortcut and did the handling for layout switch and config changes. Xkb did the notification on layout change. Layout changes can nowadays be detected through an InputEventSpy. It can only happen after a key change or an explicit layout switch. Thus it does not need to be in Xkb anymore which allows to reduce Xkb to only care about the Xkb keymap and state tracking. This change introduces a new class KeyboardLayout which is an InputEventSpy and takes over the task of the layout change notification from Xkb and the layout management from KeyboardInputRedirection. Thus everything related to management of keyboard layout is together in one class. This allows in future to add unit test to it (requires further cleanup of Xkb to be able to use it and drop the InputRedirection dependency) and opens the possibility to also take over keyboard layout management on X11 for the Plasma desktop. Test Plan: Manual testing Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D4135 |
9 years ago |