Commit Graph

10 Commits (af2740d70f4d8c0e490eb8733b67ac460bab6d6a)

Author SHA1 Message Date
Mavridis Philippe 7c724a4921
KXkb: add keyboard layout notification
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
1 year ago
Mavridis Philippe 9647d4c7ff
Kxkb: move LayoutUnit struct into its own file and add getLayoutName function
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
1 year ago
Mavridis Philippe e8208c1dfb
Kxkb: improve TDE Control Centre module.
1) Add conflicts check for hotkey checkboxes

Due to the ability to set multiple keyboard layout switching hotkeys,
it is important to inform the user of conflicting options that are
not handled properly by the X.org server when set at the same time
(e.g. Win+Space and Alt+Space).

This change adds a warning that informs the user about the problem and
the conflicting options. This warning is shown only when setting
multiple hotkeys via the Xkb options tab, which is for the advanced
user. Most users will ever need only one hotkey, and the combobox on
the first tab should be more than enough.

2) Add "none" item to layout switching options

3) Replace Reset old options checkbox with radio buttons

As per discussion, this makes the function of the option more
apparent. WhatIs hints have been added for additional clarity.

4) Update hotkey combobox per server options

5) Avoid duplication of options by querying Xkb for already set options.

This was a problem in Append Mode in which `setxkbmap` strings would
get too long due to setting already set options. This code checks for
already set options and omits them from the new `setxkbmap` call.

This does not apply to Overwrite Mode.

6) Overwrite previous grp: options when using the combobox

See previous commit message about the addition of hotkeys combobox.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
2 years ago
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
Mavridis Philippe d048506bb6
kxkb: transparent indicator background feature
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
3 years ago
Mavridis Philippe eff93621da
Added customization options for Kxkb
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
4 years ago
tpearson fd3a982e26 Revert automated changes
Sorry guys, they are just not ready for prime time
Work will continue as always


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1212480 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
14 years ago
tpearson 495d08bc2d Automated conversion for enhanced compatibility with TQt for Qt4 3.4.0 TP1
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1211357 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
14 years ago
tpearson c663b64409 Trinity Qt initial conversion
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1157639 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
15 years ago
toma 4aed2c8219 Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
15 years ago