Making media key management more user friendly.

Media keys in gnome are handled through a combination of settings, and
the media-keys plugin to gnome-settings-daemon.

They fall into a couple of different groups:

Media keys that are configured with a default setting, and which the
user can change.  This includes things like logout, eject, home,
control-center, volume-mute, volume-up/down, etc.

Media keys which are hard coded to a special key setting.  This includes
keys like 'XF86TouchpadToggle', (and On and Off), XF85AudioRewind,
XF86PowerOff, XF85RFKill, and other such things.

Media keys which have both a hard coded special key setting and a user
controlled setting, this includes things like
'screensaver'/'XF86ScreenSaver'.  There are not a lot of settings that
fall into this group.

Media keys which have a hard coded key value that you can actually type
on a standard keyboard, or which you can type with a somewhat
non-standard keyboard or a special keymap:

MIC_MUTE_KEY has F20 and the special name 'XF86AudioMicMute'.

HELP_KEY has a configurable key setting 'help', but also '<Super>F1'.


My contention is that the last group simply shouldn't exist, instead all
three options should be given setting names where they don't exist, and
the defaults should be set to the current hard coded values.

('help' is the only one with an existing setting, and that has no
current default.  I have not checked how things behave, but if we need
to add a second default setting just to get upgrading users to have it I
still consider that a better solution.)

That is a fairly easy change, it only impacts 3 settings.

With that said, I also believe that we should provide key binding
settings for every other media key option that lacks one.  If someone
doesn't have a keyboard with a button for mic mute, they should be able
to bind something.

I would be happy to write and provide patches for these changes,
assuming that there is some support for the idea.

Zephaniah E. Loss-Cutler-Hull.

Attachment: signature.asc
Description: OpenPGP digital signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]