So, I upgraded to CVS on Friday and decided to check out the new
jumppoints. I put in a jumppoint for the Guide Grid for the 'M' key
(seemed logical, since that's the key it had been using in LiveTV mode
anyway). Everything was working fine until I went to rip a CD and
wanted to hand-edit the track titles using my wireless keyboard... as
soon as I started to type a track name with an 'M' in it, I exited
MythMusic and was taken to the guide grid!
Obviously we need something more here for screens which contain various
types of basic control widgets (text fields, spinboxes, etc)... here
are two possibilities:
(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 :-)
(2) Create a new keybinding context called QtWidget or MythWidget, which
is active whenever an appropriate widget has keyboard focus, and in
that context pass all or most actions to the widget; only if the widget
doesn't handle them do they get passed to the parent or global context
or jumppoint mechanism. I haven't really looked at the new jumppoint &
keybinding code, so I'm a little fuzzy on the specifics of how this
would work... are the keybinding contexts hierarchical (i.e., can a
context have a 'sub-context', with actions propagating up through
contexts until they get to 'Global'), or is it just always either
'current context' or 'global' ?
Any other ideas?
-JAC