3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-01-30 23:02:18 +00:00
Brooklyn/plasma/kcms/keyboard
2022-04-02 18:24:21 +05:00
..
kconf_update cleaning up the git 2022-04-02 18:24:21 +05:00
tastenbrett cleaning up the git 2022-04-02 18:24:21 +05:00
tests cleaning up the git 2022-04-02 18:24:21 +05:00
bindings.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
bindings.h cleaning up the git 2022-04-02 18:24:21 +05:00
CMakeLists.txt cleaning up the git 2022-04-02 18:24:21 +05:00
config-keyboard.h.cmake cleaning up the git 2022-04-02 18:24:21 +05:00
flags.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
flags.h cleaning up the git 2022-04-02 18:24:21 +05:00
iso_codes.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
iso_codes.h cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_add_layout_dialog.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_add_layout_dialog.h cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_add_layout_dialog.ui cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard_widget.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard_widget.h cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard.desktop cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard.h cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard.json cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_keyboard.ui cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_view_models.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
kcm_view_models.h cleaning up the git 2022-04-02 18:24:21 +05:00
kcminputrc_fix_botched_5_21_0.py cleaning up the git 2022-04-02 18:24:21 +05:00
kcminputrc_fix_botched_5_21_0.upd cleaning up the git 2022-04-02 18:24:21 +05:00
kcminputrc_migrate_repeat_value.py cleaning up the git 2022-04-02 18:24:21 +05:00
kcminputrc_repeat.upd cleaning up the git 2022-04-02 18:24:21 +05:00
kcmmain.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
kcmmisc.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
kcmmisc.h cleaning up the git 2022-04-02 18:24:21 +05:00
kcmmiscwidget.ui cleaning up the git 2022-04-02 18:24:21 +05:00
kded_keyboard.json cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_config.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_config.h cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_daemon.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_daemon.h cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_dbus.h cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_hardware.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
keyboard_hardware.h cleaning up the git 2022-04-02 18:24:21 +05:00
keyboardmiscsettings.kcfg cleaning up the git 2022-04-02 18:24:21 +05:00
keyboardmiscsettings.kcfgc cleaning up the git 2022-04-02 18:24:21 +05:00
keyboardsettings.kcfg cleaning up the git 2022-04-02 18:24:21 +05:00
keyboardsettings.kcfgc cleaning up the git 2022-04-02 18:24:21 +05:00
keyboardsettingsdata.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
keyboardsettingsdata.h cleaning up the git 2022-04-02 18:24:21 +05:00
layout_memory_persister.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
layout_memory_persister.h cleaning up the git 2022-04-02 18:24:21 +05:00
layout_memory.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
layout_memory.h cleaning up the git 2022-04-02 18:24:21 +05:00
layoutnames.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
layoutnames.h cleaning up the git 2022-04-02 18:24:21 +05:00
Messages.sh cleaning up the git 2022-04-02 18:24:21 +05:00
README cleaning up the git 2022-04-02 18:24:21 +05:00
tastenbrett.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
tastenbrett.h cleaning up the git 2022-04-02 18:24:21 +05:00
TODO cleaning up the git 2022-04-02 18:24:21 +05:00
udev_helper.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
udev_helper.h cleaning up the git 2022-04-02 18:24:21 +05:00
workspace_options.kcfgc cleaning up the git 2022-04-02 18:24:21 +05:00
x11_helper.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
x11_helper.h cleaning up the git 2022-04-02 18:24:21 +05:00
xinput_helper.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
xinput_helper.h cleaning up the git 2022-04-02 18:24:21 +05:00
xkb_helper.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
xkb_helper.h cleaning up the git 2022-04-02 18:24:21 +05:00
xkb_rules.cpp cleaning up the git 2022-04-02 18:24:21 +05:00
xkb_rules.h cleaning up the git 2022-04-02 18:24:21 +05:00

This is new project to replace keyboard (kcmmisc) and kxkb 
to manage keyboard hardware configuration and layouts.

Components:

kcm_init:
* no kcm_init - all initialization (including after keyboard hot-plug) is done by kded daemon

Keyboard daemon:
* configures keyboard layouts on start
* provides DBUS API "org.kde.KXKB/kxkb"
* listens to window/desktop switching if layout switch mode is not global
* listens to new keyboard devices and reinitializes keyboard layouts and hardware settings
* listens to Global KDE Shortcut to switch layouts
* listens to Global Shortcut settings change
* listens to keyboard configuration changes
* provides systray icon for layout

Keyboard applet:
* displays current layout with text and (optionally flag)
* allows to toggle layouts by click or set them with context menu

Layout widget:
* displays current layout with text embedded in another widget (e.g. lock dialog)
* currently only short text (no flag or long text)
* dynamically loaded as a plugin

KCM Module:
* allows to configure keyboard hardware, layouts and xkb options (advanced)

Advantages (over old code):
* One UI module to configure keyboard layouts and hardware
* Allows to configure keyboard model/xkb options without configuring layouts
* Less cluttered layout configuration control (add layout is separate)
* Layout control/DBus interface is separate from the indicator
* Does not require libxklvier
* Takes language names from iso-codes project
* Takes country names/translations from xkeyboard-config project
* Information about current layouts is always taken from X server, so should be more robust
* Cleaner code (rewritten from scratch)
* Due to many points above should start faster (though no benchmarks performed)

New features:
* Allow selection of keyboard layout by language