You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/kcontrol/keys
Mavridis Philippe a67db2d484
Kxkb: Improve layout switching
1) New layout switching approach

The new approach is based on the "grp" options group of Xkb
and so enables us to use predefined X11 layout (group) switching
hotkeys like "Caps Lock" or "Shift+Alt" (you can see the full list
in the Options tab). The added bonus to this is that we conform
to the Xkb setting.

The code lets Xkb handle the keyboard layout switching hotkey(s)
and is similar to the one that is used in kkbswitch, monitoring
for an Xkb group (layout) change event.

This solution required me to remove some hacky and obsolete code
which was there to support really old pre-XFree-4.2 era systems
and included the "include groups" hack.

This means that the "Enable latin layout" checkbox is now gone
and setxkbmap is only called when the keyboard layouts and/or
options are modified, and not for every layout change.

2) Common layout switching hotkeys combobox

A combobox was added to the first page of the Keyboard Layouts
KCM module. It provides to the users a quick way to set a layout
switching key combination. It also controls the "grp" group in
the Xkb tab.

A special note about this combobox is that, even if Append Mode
was selected in the Xkb Options tab, this hotkey will overwrite
previous hotkey options. This means that all grp: options will
be forced removed before applying the option from the combobox
(in contrast to specifying options via the Xkb Options tab,
which, in Append Mode, will not get overwritten until next login).

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
2 years ago
..
CMakeL10n.txt Add CMakeL10n rules. 6 years ago
CMakeLists.txt Desktop file translations: 5 years ago
ChangeLog Rename KGlobal, KProcess, and KClipboard to avoid conflicts with KDE4 12 years ago
Makefile.am Rename many classes and header files to avoid conflicts with KDE4 12 years ago
README Rename kderc -> tderc in support of bug report 1447. 12 years ago
commandShortcuts.cpp Rename additional header files to avoid conflicts with KDE4 12 years ago
commandShortcuts.h Rename many classes and header files to avoid conflicts with KDE4 12 years ago
convertShortcuts.pl Revert automated changes 14 years ago
kde4.kksrc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
keyconfig.cpp Kxkb: Improve layout switching 2 years ago
keyconfig.h Rename many classes and header files to avoid conflicts with KDE4 12 years ago
keys.desktop Desktop file translations: 5 years ago
khotkeys.cpp Trinity Qt initial conversion 15 years ago
khotkeys.h Additional renaming of kde to tde 13 years ago
mac4.kksrc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
main.cpp Kxkb: Improve layout switching 2 years ago
main.h Add mechanism by which sections of relevant docbooks may be opened automatically based on active tab in TDECModule 11 years ago
modifiers.cpp Rename additional header files to avoid conflicts with KDE4 12 years ago
modifiers.h Rename a number of classes to enhance compatibility with KDE4 12 years ago
shortcuts.cpp Kxkb: Improve layout switching 2 years ago
shortcuts.h Rename many classes and header files to avoid conflicts with KDE4 12 years ago
tdeaccel.upd Fix FTBFS 12 years ago
tdeaccelaction.h Additional k => tde renaming and fixes 12 years ago
treeview.cpp Rename additional header files to avoid conflicts with KDE4 12 years ago
treeview.h Rename many classes and header files to avoid conflicts with KDE4 12 years ago
trinity.kksrc Add keyboard shortcut to start screensaver directly 12 years ago
unix3.kksrc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
win3.kksrc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
win4.kksrc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
wm3.kksrc Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago

README

CHANGES V0.2
- Global keys stored by default in ~/.trinity/share/config/kdeglobals 
  [Global Keys] group
- KKeyDialog checks new key choices against exising bindings for the widget
and against entries in .tderc [Global Keys]
- kcmkeys now has two standard kcontrol pages - one for standard desktop
accelerators and one for global keybindings.