[mythtv-users] Programming remote button bindings (WAS: What major features are planned for 0.27?)

marcus hall marcus at tuells.org
Sun Dec 2 02:09:55 UTC 2012


On Sat, Dec 01, 2012 at 04:49:51PM +0000, Simon Hobson wrote:
> I disagree there. Some of the most confusing and/or 'difficult'
> interfaces I've had to use have been those that go the minimalist
> route.
> Larger numbers of buttons generally make an interface 'better'
> provided those buttons actually do something useful *AND* are
> sensibly labelled. Having too few buttons leads to modal interfaces
> (how very 1970s).

Well, the suggestion was that the basic buttons should be likely to work
without any additional configuration.  The intent was never to disallow
further configuration, so it should be possible to add additional button
definitions if the remote has additional buttons, but the basic buttons
(say, up/down/left/right/select/menu, vol+/vol-/mute, and
play/ff/rw/pause/stop/record/skipf/skipb should have functional defaults.
That would likely get you most of the interface working without any
configuration.  If you have other buttons and want to set up jumppoints to
take you to various places of interest, that would be configured manually.

> Simple example, some people here have argued that jump forward/back
> is useless, and we should be using fast forward/back. Personally, I
> never ever use FF/FR, I only ever use jump - it's just so much more
> natural to me. As long as there are different users wanting both
> options, then there's what some would call redundant features.

Yes, that is a place where the "correct" default isn't clear.  But, this
does imply that either is "reasonable", so if either is chosen and the
option exists to override that if desired, then that's totally good.

> I also value Commercial skip forwards/back even though it is more
> than a bit flaky on UK TV. So there's another two buttons (and the
> corresponding mapping) that some would argue are redundant, others
> consider essential.

I don't think that there is a KEY_COMMERCIAL_SKIP defined, so there isn't
an obvious default key to map to commercial skip, so leave that to user
configuration to may whatever key they want to map to commercial skip if
there is a key to use, and the user wants it.

The point isn't to provide the ultimate configuration by default, but to
have at least a reasonable initial configuration that should be usable for
everyone, but also provide the capability to override this configuration
as desired.

> names" are used. Eg, in MythWeb there's a page where mapping can be
> types in quite quickly, but when it comes to multimedia keys it's
> not obvious to me what I need to put in - eg, should I enter
> KEY_PLAY (what's in the Linux header file) or "Media Play
 
I think that it would be least ambiguous to enter KEY_PLAY (or the hex
keycode?).  But it is certainly up to whoever is programming the interface
to describe how to drive it.

> >That aside, as for your Play/Pause question, I'd expect PLAY to,
> >er, Play, and PAUSE to, well, pause. It may be a waste of buttons
> >(I like that phrase) but as a *default* the interface should do
> >exactly what it says on the button.
> 
> Sounds great, now consider someone with a remote that doesn't have
> separate buttons. There's one labelled with Play and Pause symbols,
> and I'd hazard a guess it will generate "KEY_PLAY" when pressed.
> They can quite reasonably complain that the default key mapping
> (Play does Play, Pause does Pause) is stupid, and the play key
> should be mapped to Play/Pause.
> So what makes sense for one remote, may not make sense for another.
 
What portion of remote controls has a single PLAY/PAUSE key?  I think that
by far separate keys are more common, and they are almost certainly mapped
by the kernel to KEY_PLAY/KEY_PAUSE.

> Correction: I've just looked, and there is a key defined for
> PLAYPAUSE, though I've no idea whether there is a sensible mapping
> for any particular model of remote. It'll depend on what IR code the
> manufacturer decided to send, and how a developer decided to
> translate it. If the manufacturer does differentiate between "Play"
> and "Play/Pause", then Play?Pause may well be mapped to Play because
> there's no way to tell if the remote is sending Play because the
> user pressed Play on a remote with separate Pause, or because the
> user pressed Play/Pause on a remote with separtae buttons.

Again, we shouldn't be trying to come up with a default mapping that works
for 100% of all cases.  If you have an outlier remote with a PLAY-PAUSE
key on the remote that generates the PLAY code in the IR command set (and
therefore the KEY_PLAY key mapping), then the defaults don't work for you
and you have to do some manual configuration.  But, that isn't any worse
than having no default configuration, and also isn't any reason not to
provide a default configuration that does work for 99% of the other cases.

-- 
marcus hall
marcus at tuells.org


More information about the mythtv-users mailing list