Originariamente Scritto da
stedrum Se la funzione del woxter è attivabile da menu di sistema, allora hanno i sorgenti. Avendo i sorgenti basta usare la funzione: SystemSetup->SetSource(SOURCE_DTV) probabilmente hanno messo un controllo su un campo che settato opportunamente decide il parametro da passare alla funzione(quindi selezionare la sorgente di avvio).
Era il metodo che volevo usare io, purtroppo senza sorgenti è difficile
EDIT: non hanno usato i sorgenti, ecco come hanno fatto:
- nel file /usr/local/bin/setup_menu/scripts/misc.rss troviamo la seguente porzione di codice:
qui leggono il valore settato nel file autoinit.txt e impostano una variabile d'ambiente con il relativo valore
Codice:
AutoInit = readStringFromFile("/usr/local/etc/dvdplayer/autoinit.txt");
if( AutoInit == NULL || AutoInit == "" ) {
AutoInit = "$[OFF]"; }
else if( AutoInit == " " ) {
AutoInit = "$[TV_DIGITAL]"; }
else if( AutoInit == "D " ) {
AutoInit = "$[IMS_AVIN]"; }
else if( AutoInit == "DD " ) {
AutoInit = "$[IMS_FILE_MANAGER]"; }
else if( AutoInit == "DDDDDD " ) {
AutoInit = "$[IMS_INTERNET_MEDIA]"; }
else if( AutoInit == "DDDDDDD " ) {
AutoInit = "$[IMS_WEB_BROWSER]"; }
setEnv("AutoInit", AutoInit);
più sotto nello stesso file:
se l'utente cambia la modalitÃ*, scrivono il nuovo valore nel file.
Codice:
<onClick>
<script>
rss = "rss_file://./setup_menu/scripts/dynamicPopup.rss";
ret = doModalRss(rss);
if( ret != -1 && ret != getEnv("AutoInit") ) {
if( ret == "$[OFF]" ) {
newCmd = ""; }
else if( ret == "$[TV_DIGITAL]" ) {
newCmd = " "; }
else if( ret == "$[IMS_AVIN]" ) {
newCmd = "D "; }
else if( ret == "$[IMS_FILE_MANAGER]" ) {
newCmd = "DD "; }
else if( ret == "$[IMS_INTERNET_MEDIA]" ) {
newCmd = "DDDDDD "; }
else if( ret == "$[IMS_WEB_BROWSER]" ) {
newCmd = "DDDDDDD "; }
setEnv("AutoInit", ret);
writeStringToFile("/usr/local/etc/dvdplayer/autoinit.txt", newCmd);
}
null;
</script>
</onClick>
poi guardando il file /usr/local/etc/rcS troviamo:
legge il file autoinit e ne scrive il contenuto nel file command_sender.
Codice:
# EnvÃ*a a DvdPlayer la selección de Configuración>Varios>AutoInicio
cat /usr/local/etc/dvdplayer/autoinit.txt >> /tmp/command_sender.txt
Riassumendo: non fanno altro che emulare la pressione del tasto per entrare nelle varie schermate.
Una soluzione giÃ* proposta da @
lcyh qui