On Monday 28 July 2008 21:28:07 Micah Cowan wrote: ... > > A neat place for timing information is to define a "delay in input" > > escape - e.g. a delay of 1.123456 seconds is represented by ESC [ 42 ; 1 > > ; 123456 ] (with a meta-meaning of "life is full of short delays") > > Esc [ ... ] is SDS, and is supposed to be the _start_ of a longer > control string (with support for nesting). Probably a poor choice of > escape. There is already a conflict between the Linux console escapes and ECMA 48's SDS. (And do we really like ECMA?) QOTD >> Sequence: CSI Ps ; Pn ... ] Description: Linux private sequences ESC [ 1 ; n ] Set color n as the underline color ESC [ 2 ; n ] Set color n as the dim color ESC [ 8 ] Make the current color pair the default attributes. ESC [ 9 ; n ] Set screen blank timeout to n minutes. ESC [ 10 ; n ] Set bell frequency in Hz. ESC [ 11 ; n ] Set bell duration in msec. ESC [ 12 ; n ] Bring specified console to the front. ESC [ 13 ] Unblank the screen. ESC [ 14 ; n ] Set the VESA powerdown interval in minutes. Source: Linux console_codes(4) Status: Linux private; clashes with ECMA-48 SDS <<QOTD > Better to use a terminating character from the private space [`a-z{|}~], > perhaps with some preceding intermediate bytes [ !"#$%&'()*+,-./] to > avoid collisions. I looked through http://bjh21.me.uk/all-escapes/all-escapes.txt quoted above. A lot of that private space is already used for private functions - which is possibly the reason that the ']' terminator was chosen for those Linux console escapes. ...snip > I thought the beep codes are only via ioctrl? At the least, I know it > can be done via ioctrl (I wrote a music-playing program for the console > called "ditty", quite some time ago). # Mary had a little lamb in shell script: exec > /dev/console echo -ne '\e[11;245]' echo -ne '\e[10;323]\a' ; sleep 0.25 echo -ne '\e[10;287]\a' ; sleep 0.25 echo -ne '\e[10;256]\a' ; sleep 0.25 echo -ne '\e[10;287]\a' ; sleep 0.25, echo -ne '\e[10;323]\a' ; sleep 0.25 echo -ne '\e[10;323]\a' ; sleep 0.25 echo -ne '\e[11;490]' echo -ne '\e[10;323]\a' ; sleep 0.50 Without the sleeps, the above code makes a single beep. With a pause code, it would be rewritten something like: { echo -ne '\e[11;245]' echo -ne '\e[10;323]\a\e[42;0;250000]' echo -ne '\e[10;287]\a\e[42;0;250000]' echo -ne '\e[10;256]\a\e[42;0;250000]' echo -ne '\e[10;287]\a\e[42;0;250000]' echo -ne '\e[10;323]\a\e[42;0;250000]' echo -ne '\e[10;323]\a\e[42;0;250000]' echo -ne '\e[11;490]' echo -ne '\e[10;323]\a\e[42;0;500000]' } > /tmp/pwnMe scriptreplay < /tmp/pwnMe -- To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html