[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Support for multimedia keys
From: Lubos Lunak <l.lunak () suse ! cz>
Date: 2004-01-27 20:07:11
Message-ID: 200401272107.11836.l.lunak () suse ! cz
[Download RAW message or body]
Hello,
while creating actions for KHotKeys that I plan to ship with next KDE version
(I already have some posted at http://seli.webz.cz/khotkeys), I wanted to
create also actions for handling the keys on those so-called multimedia
keyboard (I have such one, not that I actually use the keys as I find them
cumbersome, but I thought somebody maybe would want to ;) ).
The URL above actually has first version of the actions, but it has only few
of them, for various reasons, like:
- Qt currently has support only for handful of those keys, it e.g. doesn't
support XF86Reload (is here somebody whose keyboard has the F5 equivalent key
reporting XF86Refresh?). This means KDE3.2.x can't support some of the keys.
I sent a patch to TT, but Qt-3.2.x is the minimum for KDE3.2.x, and I don't
know if the patch gets in in time for Qt-3.3. Hmm, on the other hand, as the
next Qt planned is Qt4, maybe I could give the necessary patches to
interested people, as it can't cause trouble with future Qt versions.
- Some of the keys should be actually configured in applications, not in
KHotKeys - those like XF86Back. For reasons listed below, I have so far only
the small attached patches. Ok to commit?
- I have some trouble finding out what some of the keys should actually do.
Some trouble are technical, like with XF86Suspend, I currently set it to
'dcop kdesktop KScreensaverIface save', but I don't think that's really it.
Some trouble are because I really don't know what some keys are supposed to
do, e.g. XF86Search - should it be like Ctrl+F, F3, should it start KFind or
should it start Konqueror at google? Does somebody know some document listing
what these keys are supposed to do?
- For keys that I know what they should do, I don't know what to make the
default. E.g. the volume keys - there's the KMix applet, where the keys can
be configured, and it even gives feedback, but we default to the KMix docked
app, which IMHO sucks compared to the applet in all aspects except for people
coming from Windows expecting it in the systray.
Or the playback keys - should they be used in Noatun (Keyz plugin) or in Juk?
The playback keys could be actually added as defaults to both, as long as one
doesn't run them both at the same time :), that's ok, but the XF86AudioMedia
is AFAICS for launching such app, and there it can't be both.
- Why is KStdAccel::home() used for going to the home URL in Konqueror, when
its docs say it's for going to the start of the line?
- I tried assigning XF86Favorites to the bookmarks menu in Konqueror, but it
didn't work, even after I added another KActionMenu ctor that took KShortcut
and didn't have the setShortcutConfigurable() call. Any idea what needs to be
done for this to work (assuming this is what XF86Favorites should do)?
I'd appreciate any help, thanks.
--
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o. e-mail: l.lunak@suse.cz , l.lunak@kde.org
Drahobejlova 27 tel: +420 2 9654 2373
190 00 Praha 9 fax: +420 2 9654 2374
Czech Republic http://www.suse.cz/
["kstdaccel.cpp.patch" (text/x-diff)]
--- kstdaccel.cpp.sav 2004-01-05 16:02:30.000000000 +0100
+++ kstdaccel.cpp 2004-01-27 18:20:04.000000000 +0100
@@ -76,8 +76,8 @@ static KStdAccelInfo g_infoStdAccel[] =
{ ZoomIn, "ZoomIn", I18N_NOOP("Zoom In"), Qt::CTRL+Qt::Key_Plus, 0, 0, \
0, KShortcut(), false }, { ZoomOut, "ZoomOut", I18N_NOOP("Zoom Out"), \
Qt::CTRL+Qt::Key_Minus, 0, 0, 0, KShortcut(), false }, { Up, \
I18N_NOOP("Up"), 0, Qt::ALT+Qt::Key_Up, 0, 0, 0, KShortcut(), \
false },
- { Back, I18N_NOOP("Back"), 0, Qt::ALT+Qt::Key_Left, 0, 0, 0, \
KShortcut(), false },
- { Forward, I18N_NOOP("Forward"), 0, Qt::ALT+Qt::Key_Right, 0, 0, 0, \
KShortcut(), false }, + { Back, I18N_NOOP("Back"), 0, \
Qt::ALT+Qt::Key_Left, 0, Qt::Key_Back, 0, KShortcut(), false }, + { Forward, \
I18N_NOOP("Forward"), 0, Qt::ALT+Qt::Key_Right, 0, Qt::Key_Forward, 0, KShortcut(), \
false }, { Reload, I18N_NOOP("Reload"), 0, Qt::Key_F5, 0, 0, 0, \
KShortcut(), false }, { PopupMenuContext, "PopupMenuContext", I18N_NOOP("Popup \
Menu Context"), Qt::Key_Menu, 0, 0, 0, KShortcut(), false }, { ShowMenubar, \
"ShowMenubar", I18N_NOOP("Show Menu Bar"), Qt::CTRL+Qt::Key_M, 0, 0, 0, KShortcut(), \
false },
["konq_mainwindow.cc.patch" (text/x-diff)]
--- konq_mainwindow.cc.sav 2004-01-15 18:54:45.000000000 +0100
+++ konq_mainwindow.cc 2004-01-27 00:14:13.000000000 +0100
@@ -3262,7 +3262,7 @@ void KonqMainWindow::initActions()
m_paCut = KStdAction::cut( 0, 0, actionCollection(), "cut" );
m_paCopy = KStdAction::copy( 0, 0, actionCollection(), "copy" );
m_paPaste = KStdAction::paste( 0, 0, actionCollection(), "paste" );
- m_paStop = new KAction( i18n( "&Stop" ), "stop", Key_Escape, this, SLOT( \
slotStop() ), actionCollection(), "stop" ); + m_paStop = new KAction( i18n( "&Stop" \
), "stop", KShortcut( Key_Escape ).append( KKey( Key_Stop )), this, SLOT( slotStop() \
), actionCollection(), "stop" );
m_paRename = new KAction( i18n( "&Rename" ), /*"editrename",*/ Key_F2, \
actionCollection(), "rename" ); m_paTrash = new KAction( i18n( "&Move to Trash" ), \
"edittrash", Key_Delete, actionCollection(), "trash" );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic