This is a list of features and ideas which relate
to or are contained in the original LockTones (0.5)
found on http://www.mielke.cc/ - I therefore call
this list my todo list :-) Eric.

- linux needs root, probably not necessary,
  at least beeping can be done using ESC sequences
  (man console_codes). Dave points out: We only want
  one process to handle all tty (via common /dev/tty
  aka. /dev/console) so we do need root...
- options:
--version -v
--toggle  -t (tones only on changes)
--active  -a (tone during active)
--poll    -p (check every N 1/10s of sec, default 1)
--duration -d (duration per tone, default 2)
--caps    -c (define pitch for caps, default 300)
--insert  -i (define pitch for ins,  default 450)
--num     -n (define pitch for num,  default 600)
--scroll  -s (define pitch for scroll, default 1200)

need:
- option parser
- tsr hooking timer tick
- current tone tick counter and melody position count
- read kbd status: 0x10 scroll, 0x20 num, 0x40 caps, 0x80 ins
- repoll tick count down
- sound on and off stuff

linux:
opens /dev/tty0 writeonly, uses ioctl for beeping:
ioctl(console_descriptor, KIOCSOUND, (1190000 / pitch))
ioctl(console_descriptor, KIOCSOUND, 0);
uses ioctl to check shift flags:
if (ioctl(console_descriptor, KDGETLED, &leds) != -1) ...
if (leds & LED_CAP) ... LED_NUM LED_SCR (no LED_INS) ...

limits: interval 1..10, pitch 30..10000 (Hz)
checks old vs new state to determine beeps
error handling...

