
ross.campbell at gmail
Jul 5, 2008, 1:07 PM
Post #1 of 1
(370 views)
Permalink
|
|
Ideas for better joystick integration in mythfrontend
|
|
I have two wireless Logitech game controllers that look just like PS2 controllers hooked up to my mythtv box. For some time, I've configured some basic functionality to use a controller as an extra remote for basic navigation (arrows, enter, escape, pause, volume, etc.). This works pretty well - especially when there's a dispute about what we should watch on TV. After some thought on the various chording combinations for game controllers and how emulators like mame handle mapping all of the possible events to a very wide variety of input devices, I think there could be some useful concepts to bring to mythtv. The nice thing about how mame handles input mapping is that there is basically one place where key/mouse/joystick/button/lightgun/wiimote/whatever configuration is edited and stored. Complex configurations can be created using AND, OR, and NOT rules to allow chording of events (even from dissimilar inputs). Perhaps such a system in myth could make the 'tinker with LIRC to get your remote control working the way you want it' much easier *AND* it could allow for a common place to configure other input devices for mythfrontend use like mouse and joysticks, and having a common imput mapping file stored using XML would be a nice side benefit. So, this got me thinking about why other people would care about using a joystick as a TV remote and why other people would want a bunch on non-TV-remote contraptions controlling their TV... and aside from the geek factor, I've decided that there could be a lot of significant uses for analog controls in mythfrontend. I can imagine all sorts of interesting uses for analog joystick / mouse / wiimote controllers in mythfrontend to make functions currently buried in menus come to life. - Fast forward / rewind. Imagine infinite adjustability in rate of fastforward/rewind with a joystick - for when 30 seconds is too far forward and 10 seconds is too far back - Time stretch. Imagine a button+joystick that lets you dynamically speed up or slow down timestretch with very fine grained control - I think this could make timestretch 10X more valuable to viewers who can watch most of a recording at 2X or higher, but need to slow down to catch the important parts. - cutlist editing. I could imagine some ways that a joystick would those tricky cutpoints at just the right frame much easier -- How do professional video editing controls works? - zoom. A Button + Joystick axis to change zoom - PIP placement - button + joystick to move PIP window anywhere on screen - schedule and recording navigation - come on, we all hate having to limit ourselves to the speed at which our remotes will send up and down signals, and 9/3 page up/page down still isn't implemented in every menu. Wouldn't it be nice to have a dynamic control for variable speed scrolling through large lists? (PS - mythmusic really needs this!) - dynamic user interface - keys or buttons are currently treated as single events. Imagine that analog controls (or button pressed/released state) could allow the MythUI user interface to change as the user interacts with it in real time. Schedule listings could scroll in 4 directions in varying speeds and users could zoom and out on schedle listings showing more or less detail. Photo gallery and mythvideo could work the same way. - Direct control for immediate setting of analog values in myth. Instead of hitting "UP" 25 times, imagine button+joystick that directly sets volume level to joystick value. Could do the same for recording position, timestretch, playback speed, brightness/hue/contrast, recording quality settings - ability to configure and use more than one joystick or /dev/input device as a controller There's no code here, just my thoughts and ideas, but I'm interested to hear what developers think about changing how myth allows for input device configuration and taking advantage of analog controls. - Ross _______________________________________________ mythtv-dev mailing list mythtv-dev[at]mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
|