FS#10982 - New WPS tag: %Tk

Attached to Project: Rockbox
Opened by Jens Theeß (punkt) - Monday, 08 February 2010, 19:57 GMT
Last edited by Jonathan Gordon (jdgordon) - Wednesday, 24 February 2010, 06:19 GMT
Task Type Patches
Category Themes
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This patch adds a new tag %Tk. This works exactly the same as %Tl, except that it turns true on touchscreen release instead of touchscreen press. This can be used to implement a WPS where the first touch displays a viewport with buttons, and a second touch then activates a button.

A modified version of the Fidelity theme which I use to test this feature can be found here:

Link to the discussion on rockbox-dev:
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Wednesday, 24 February 2010, 06:19 GMT
Reason for closing:  Accepted
Additional comments about closing:  thanks! in r24876.
Comment by Jonathan Gordon (jdgordon) - Tuesday, 09 February 2010, 05:36 GMT
do you want to try getting %Tl working better? or should we just accept this patch?
Comment by Jens Theeß (punkt) - Tuesday, 09 February 2010, 10:46 GMT
I'd like to look into %Tl this weekend. I recommend putting the %Tk patch on hold until then.
Comment by Jens Theeß (punkt) - Saturday, 13 February 2010, 23:24 GMT
Here's another take on the matter. As stated in the discussion on the mailing list, my intent is to provide a functionality similar to the original D2 firmware, where the first touch displays touch buttons, which can then be operated using subsequent touches. %Tl in its current form is insufficient: when I touch the display, the buttons are displayed, and the button at the position I touched is immediately triggered. To work around this issue, I made the %Tk patch which my theme uses to show the buttons on a touch release.

The new patch takes a different approach: It modifies the behaviour of touch buttons to be more similar to the way gui buttons operate in desktop applications. Upon a touch press event, the button at the touch position is armed. Upon a touch repeat or release, the button at the touch position is triggered only if it is armed. Upon release (and wps entry), all buttons are disarmed. E.g. when you touch press on an empty area, then while pressing drag your finger on a button, then release the button, the button is not triggered.

The new patch obsoletes the %Tk patch, as the behaviour I want to have can now be achieved using %Tl.
Comment by Jens Theeß (punkt) - Sunday, 14 February 2010, 02:00 GMT
Here's the theme used for testing the new patch: