On 12 March 2013 02:42, Amaury Pouly <amaury.po...@gmail.com> wrote: > Hi all, > As you know, many of our targets features a "soft-lock" in the WPS which > locks all the keys except the unlock key, to prevent accidental changes. > This is a very useful feature but recent targets like the Fuze+ have shown > that it is too limited in two ways: > > 1) Only in WPS > This feature only exists in the WPS screen, which kind of make sense if > you listen to music but this is not the only screen where it would be > useful. One of the most asked one is the radio screen where you currently > cannot lock the keys. > > 2) Doesn't prevent screen activation > Another problem which is more specific to the Fuze+ is that it features a > touchpad which you can easily touch, and thus will constantly activate the > screen/lcd. This is bad for the battery life and this is also very > annoying. That's precisely why most phones on the market just won't respond > to touch events when locked and you'll need to touch a physical buttons to > activate it again. I think it would be very sensible to have such a feature > in Rockbox too. > > To sum up, what many *users* would like to see is: > * lock in radio screen (at least) > * lock which disables the screen until a physical button is hit (with a > setting) > > Maybe it is time to discuss about these issues and try to fix them. I > would be willing to help but I must say this is mostly related to part of > the code I don't know about so help would be greatly appreciated. > > Please share you opinion, > > Amaury Pouly >
There is nothing magical about making this work. Just OR ALLOW_SOFTLOCK to the fm screens action context and add a keymapping for ACTION_STD_KEYLOCK to the relevant keymap table. Now to make the backlight work how you want you just need to notify the firmware/ code that the buttons should be "locked", add a softlock_buttons_lock(bool lock) to firmware/button.c and hook the backlight up to that. Jonathan