kde-workspace/kcontrol/keyboard
Ivailo Monev 945ade0f19 generic: replace internal with Katie definition checks or remove them completely
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-10 02:29:23 +03:00
..
pics generic: replace installation paths with KDE4_ prefixed 2020-02-08 20:13:13 +00:00
preview generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
tests generic: build system cleanups 2016-09-16 23:59:39 +00:00
bindings.cpp initial import 2014-11-13 19:30:51 +02:00
bindings.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
CMakeLists.txt generic: replace installation paths with KDE4_ prefixed 2020-02-08 20:13:13 +00:00
flags.cpp initial import 2014-11-13 19:30:51 +02:00
flags.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
iso_codes.cpp kcontrol: lookup the iso-codes directory 2021-02-18 18:22:20 +02:00
iso_codes.h kcontrol: lookup the iso-codes directory 2021-02-18 18:22:20 +02:00
kcm_add_layout_dialog.cpp initial import 2014-11-13 19:30:51 +02:00
kcm_add_layout_dialog.h generic: adjust to Katie changes 2019-05-08 14:51:07 +00:00
kcm_add_layout_dialog.ui initial import 2014-11-13 19:30:51 +02:00
kcm_keyboard.cpp generic: major build system cleanup 2015-09-01 04:37:19 +03:00
kcm_keyboard.desktop Revert "generic: change system settings and kcontrol grouping (part 1)" 2015-01-23 03:04:52 +00:00
kcm_keyboard.h initial import 2014-11-13 19:30:51 +02:00
kcm_keyboard.ui kcontrol: fix warning about existing layout in keyboard KCM UI 2015-07-11 21:26:17 +03:00
kcm_keyboard_widget.cpp generic: misc cleanups 2016-04-16 16:05:41 +00:00
kcm_keyboard_widget.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
kcm_view_models.cpp generic: fix some compiler warnings 2016-06-24 20:55:07 +00:00
kcm_view_models.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
kcmmisc.cpp generic: major build system cleanup 2015-09-01 04:37:19 +03:00
kcmmisc.h generic: adjust to Katie changes 2019-05-08 14:51:07 +00:00
kcmmiscwidget.ui initial import 2014-11-13 19:30:51 +02:00
keyboard.desktop initial import 2014-11-13 19:30:51 +02:00
keyboard_applet.cpp generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00
keyboard_applet.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
keyboard_config.cpp initial import 2014-11-13 19:30:51 +02:00
keyboard_config.h initial import 2014-11-13 19:30:51 +02:00
keyboard_daemon.cpp generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00
keyboard_daemon.h generic: misc cleanups 2016-04-28 22:27:02 +00:00
keyboard_dbus.h initial import 2014-11-13 19:30:51 +02:00
keyboard_hardware.cpp generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00
keyboard_hardware.h initial import 2014-11-13 19:30:51 +02:00
layout_memory.cpp generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00
layout_memory.h generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00
layout_memory_persister.cpp initial import 2014-11-13 19:30:51 +02:00
layout_memory_persister.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
layout_tray_icon.cpp initial import 2014-11-13 19:30:51 +02:00
layout_tray_icon.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
layout_widget.cpp initial import 2014-11-13 19:30:51 +02:00
layout_widget.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
layouts_menu.cpp initial import 2014-11-13 19:30:51 +02:00
layouts_menu.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
Messages.sh changed bash scripts shebangs 2014-11-15 05:48:13 +02:00
numlockx.c generic: replace internal with Katie definition checks or remove them completely 2021-07-10 02:29:23 +03:00
plasma_applet_keyboard.desktop initial import 2014-11-13 19:30:51 +02:00
README initial import 2014-11-13 19:30:51 +02:00
TODO initial import 2014-11-13 19:30:51 +02:00
x11_helper.cpp generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00
x11_helper.h libs: minor plasmagenericshell identation cleanups 2015-10-31 06:13:34 +02:00
xinput_helper.cpp generic: replace internal with Katie definition checks or remove them completely 2021-07-10 02:29:23 +03:00
xinput_helper.h initial import 2014-11-13 19:30:51 +02:00
xkb_helper.cpp generic: avoid global static KStandardDirs instance access 2021-06-15 05:30:54 +03:00
xkb_helper.h generic: replace forward declarations with headers inclusions 2019-05-05 02:36:36 +00:00
xkb_rules.cpp generic: avoid use of legacy QString::null, QString::Null, QChar::Null and QChar::null 2018-07-09 20:23:10 +00:00
xkb_rules.h generic: make changes required for building against katie 2015-08-12 13:11:16 +03:00

This is new project to replace keyboard (kcmmisc) and kxkb 
to manage keyboard harware 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