[mythtv] Issue with new jumppoints (& keybindings?)
Joseph A. Caputo
jcaputo1 at comcast.net
Tue Dec 9 12:48:19 EST 2003
On Monday 08 December 2003 21:19, J. Donavan Stanley wrote:
> Joseph A. Caputo wrote:
> >(1) disallow using valid text-editing keys as jumppoint bindings or
> >other keybindings (includes all alphanumerics, cursor keys, PgUp/Dn,
> >Home/End, Insert/Delete, Backspace, etc...)
> >
> >I don't like this option at all; basically I wouldn't even consider
> >it... I don't know why I bothered to mention it :-)
>
> Personaly I prefer that method. It's the only way to give consistant
> behavior. "Why doesn't MythTV swtich to the DVD player when I hit
> the DVD button on my remote?" "Because you happened to have the focus
> on the wrong type of control. What you SHOULD have done was hit
> down, down, DVD to go to the DVD player!". If all jump buttons are
> forced to be either function keys or keys qualified via ALT or CTRL
> you get clean consistant behavior across the board. But then, I'm
> looking at controlling MythTV by remote 99.99% of the time. For
> those oddball times I need to enter text I'll use an on-screen
> keyboard.
Hmmm, good point... I guess for now I'll just define my jumppoints to be
bound to F1-12 or Ctrl-/Alt- keys. Might be a good idea to come up
with a default set of bindings that conforms to that.
On another note, I was trying to work out an optimal set of keybindings
for the new mechanism in combination with my remote, and I think it
would be a good idea to split the 'TV Playback' context into 'LiveTV
Playback' and 'TV RecordedPlayback', to better maximize the
reuseability of keys. There are currently actions in the TV Playback
context that are only applicable in one mode or the other, taking up a
keybinding that could otherwise be used elsewhere.
As it stands now, the action(s) determined for a key are determined by
creating a list of the action(s) for the current context + the
action(s) for the Global context. Using this approach, in order to
split the 'TV Playback' context, we would need to duplicate any common
actions into each of the new contexts. Not a problem, but what if...
...what if we had the concept of hierarchical or 'sub'-contexts? Then
an action list could be built from: action(s) for current context +
action(s) for parent context + ... + actions for Nth ancestor context
+ ... + action(s) for global context. Realistically, the hierarchy
wouldn't be more than 3 levels deep, vs. the 2 we have now. Under this
scheme, we could do:
Global
|
->TV Playback Common
|
->LiveTV
|
->Recorded
Any actions/binding combinations common to both 'LiveTV' and 'Recorded'
could live in 'TV Playback Common'. As long as a binding isn't
overridden in one of the sub-contexts, it will be handled by the
parent. This could probably be accomplished simply by adding a
'parentcontext' column to the 'keybindings' table; a NULL value in the
column would indicate that the parent is 'Global'.
Isaac, do you think this would be a Good Idea(tm), and if so, would it
require modification to anything other than
MythMainWindow::TranslateKeyPress and dbcheck ? If it's really that
simple, I'll code it up.
-JAC
More information about the mythtv-dev
mailing list