eboxy actions are the basis for controlling eboxy. They are used for standard key, joystick, and LIRC remote button bindings for things such as navigating among the widgets on the screen or items in a list (standard actions), and for binding keys or remote buttons to GUI buttons (user actions).
Table 3.5. Standard actions
Action | Function |
---|---|
prev | Previous widget |
next | Next widget |
accept | Accept current selection/value. This presses buttons. For textfields, this jumps to the next widget. For listboxes, it generates an OnChoose event. |
quit | Quit eboxy |
item_prev | Previous list item |
item_next | Next list item |
item_first | First list item |
item_last | Last list item |
item_prevpage | Previous page of items in a list |
item_nextpage | Next page of items in a list |
textinput_backspace | When editing text in a textfield, deletes the character to the left of the cursor and moves the cursor one place to the left. |
textinput_delete | When editing text in a textfield, deletes the character to the right of the cursor. |
textinput_digitn | Enter a text character into a textfield, using number pad based input. This is similar to entering in text messages on a mobile phone. n is a number from 0 to 9. Pressing the same key repeatedly cycles through the available characters for that key. If you wait more than a second between presses, the key will be repeated instead. This is useful for entering alphanumeric text from a remote that only has number keys. Note that if the textfield you are entering text into is restricted using the validchars property, and that restriction results in only one character being valid for a button, then you won't have to wait between presses (eg. if validchars is set to [0-9], you will be able to repeat numeric digits without waiting). |
textinput_char | Enter a text character into a textfield. Append the character to type into the textfield (alphanumeric characters only, localised characters should be OK). For symbols, use the following names appended to textinput_:
exclamation ! at @ hash # dollar $ percent % caret ^ ampersand & star * openbracket ( closebracket ) underscore _ minus - plus + equals = opensquarebracket [ closesquarebracket ] openbrace { closebrace } pipe | backslash \ colon : semicolon ; quote ' doublequote " slash / question ? lessthan < greaterthan > comma , dot . tilde ~ backquote ` space Examples: textinput_j Inserts a letter j, textinput_plus inserts a + sign. |
User actions are similar to the standard actions, except that they don't do anything by themselves. They are meant to allow you to bind keys or LIRC remote buttons to GUI buttons. The reason these are used rather than just binding the keys/buttons directly is to ensure similar functionality across different skins and systems (ie. you can download a new skin and it should work with your existing key bindings and LIRC configuration).
Please note that these actions do not actually do anything on their own. Also, you should avoid using an action for anything other than its intended purpose, to avoid confusion. The list of user actions is fixed in order to provide a standard. If an appropriately-named action for the purpose you require doesn't exist, please email <bluelightning@bluelightning.org> and it will be added into the next version.
Table 3.6. User actions
Action | Suggested purpose |
---|---|
add | Add item |
edit | Edit item |
delete | Delete item |
play | Play |
record | Record |
stop | Stop |
pause | Pause |
rewind | Rewind |
fastforward | Fast forward |
jumptostart | Jump to beginning |
jumptoend | Jump to end |
eject | Eject media |
nextchannel | Next TV/radio channel/music track/DVD chapter |
prevchannel | Previous TV/radio channel/music track/DVD chapter |
frequencyup | Increase frequency |
frequencydown | Decrease frequency |
volumeup | Increase volume |
volumedown | Decrease volume |
mute | Mute audio toggle |
shutdown | Shut down machine |
restart | Restart machine |
restartserver | Restart display (eg. X server) |
up | Move up (navigating something positional, eg. a map) |
down | Move down |
left | Move left |
right | Move right |
zoomin | Zoom in |
zoomout | Zoom out |
yes | Quick yes/ok/accept |
no | Quick no |
cancel | Cancel/back out (usually bound to a button that jumps to the previous page) |
tv | Jump to TV watching |
radio | Jump to radio listening |
dvd | Jump to DVD viewing |
rectimer | Jump to setting up a timed recording |
Jump to email | |
web | Jump to web browser |
photos | jump to photo album |
videos | Jump to video library |
music | Jump to music library |
number0 | Number pad 0 |
number1 | Number pad 1 |
number2 | Number pad 2 |
number3 | Number pad 3 |
number4 | Number pad 4 |
number5 | Number pad 5 |
number6 | Number pad 6 |
number7 | Number pad 7 |
number8 | Number pad 8 |
number9 | Number pad 9 |
menu1 | Menu 1 (possibly for DVD) |
menu2 | Menu 2 (possibly for DVD) |
menu3 | Menu 3 (possibly for DVD) |
viewmode | Change screen size / list viewing mode / aspect ratio (etc.) |
nextaudio | Next audio channel |
prevaudio | Previous audio channel |
nextsubtitle | Next subtitle language |
prevsubtitle | Previous subtitle language |
nextangle | Next angle (DVD) |
prevangle | Previous angle (DVD) |
deinterlace | Toggle deinterlacing |
snapshot | Capture a snapshot image of video |
help | Jump to help page |
trackinfo | Show information on the currently playing track/stream |
tracksearch | Incremental search for track |
systeminfo | Jump to system information / stats screen |
setup | Go to setup page |
showclock | Show clock |
To bind a user action to a GUI button, simply add an action="actionname" attribute to the button in the XML file. Then, pressing a key or LIRC button bound to this action when the GUI button is on screen will cause the button to be pressed. Alternatively if you don't need a button, or you want the action to be active no matter what page is showing, you can use an actionhandler.
Note: the number* user actions are separate from digit input for entering text with the number pad.