Just a quick note, setting the KBD handler again in the refresh hook does not work either, although something along those lines miht be a solution if setting the keyboard handler actually overrode the handler set in place by init. Actually the single-runlevel workaround is not that trivial, because even in single mode, init does reset the kbd handlers after rcS completes. The only (ugly) solution for now is a neverending script at the end of rcS.d :-(<br>
<br><div class="gmail_quote">On Sat, Sep 25, 2010 at 12:50 PM, Jerome Martin <span dir="ltr">&lt;<a href="mailto:tramjoe.merin@gmail.com">tramjoe.merin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello list,<div><br></div><div>I am using plymouth for a project of mine. Basically, using the script modules, I have done a theme that among other things displays boot logs in a pager, and also can display an help screen. When testing, everything works fine. I can scroll up or down in my pager with the keys &#39;u&#39; and &#39;d&#39; and toggle my help screen with the keypress &#39;h&#39;.</div>

<div><br></div><div>However, during an actual boot sequence, it seems that my keyboard input hook does not get any keypress anymore after init switches runlevels. I tried various ways to debug this, but it really seems to happen in init itself. Pausing at the begin and end of /etc/init.d/rc proves that everything still works just before the script exits after rcS.d scripts have been run, and are already gone sour before rc executes the rc2.d scripts.</div>

<div><br></div><div>I have tried disabling every getty in runlevel 2 from inittab, but this does not help.</div><div>I am resorting to use only a single runlevel for my project (not a big deal, it is an embedded OS with only a read-only live filesystem) in order to circumvent this, but it would be nice if someone more used to plymouth code could take a look at this. The problem is reproductible with debian squeeze packages. If you need more details, please just ask.</div>

<div><br></div><div>I also have a couple of questions regarding plymouth features:</div><div><br></div><div>- Is there a way to check the keypress callback function argument for non-string keys like arrows ? When trying to get their value, I always get errors that seem to indicate the contents are not string, but I do not have any other type/predefs values to check them against.</div>

<div>- Is there a way to call up an external binary from plymouth, like a system() function ? If not, I guess this would not be much to add, I can do it if you give me a proper pointer in your code (hints on the proper parse token to use, etc.).</div>

<div>- I desperately miss a couple of possibilities regarding strings, like determining a string length, and addressing strings as lists (a=&quot;foobar&quot;; c=a[2]), thus making it possible to do strings transformations, iterate on strings, etc. Did I miss something ? Would that be hard to implement ?</div>

<div>- Last, but related to the previous, I currently keep an index on lists I create to knopw their length before iterating on them, but it would be nice to have a mylist.Len() method.</div><div><br></div><div>Can any of the two previous points be done with a &quot;list | []&quot; method of sorts ?</div>

<div><br></div><div>Best Regards,<br>-- <br>Jérôme Martin<br>
</div>
</blockquote></div><br><br clear="all"><br>-- <br>Jérôme Martin<br>