home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / tcl / expect / expect-4.7 / example / dvorak < prev    next >
Encoding:
Text File  |  1993-04-12  |  940 b   |  30 lines

  1. #!../expect -f
  2. # simulate a dvorak keyboard
  3. # Actually just the lowercase letters are mapped to show the basic idea.
  4. # Really, uppercase and control should probably be mapped too.
  5. # But this isn't really what expect is all about.  It just demonstrates
  6. # the mapping ability of 'interact'.
  7.  
  8. proc rot {} {
  9.     interact {
  10.         -F
  11.         q {send '}  w {send ,}  e {send .}  r {send p}
  12.         t {send y}  y {send f}  u {send g}  i {send c}
  13.         o {send r}  p {send l}  s {send o}  d {send e}
  14.         f {send u}  g {send i}  h {send d}  j {send h}
  15.         k {send t}  l {send n}  \; {send s}  ' {send -}
  16.         z {send \;}  x {send q}  c {send j}  v {send k}
  17.         b {send x}  n {send b}  , {send w}  . {send v}
  18.         / {send z}  ~q {return} ~d {} ~e
  19.     }
  20. }
  21.  
  22. log_user 0
  23. spawn $env(SHELL)
  24. log_user 1
  25. send_user "~d for dvorak input\n"
  26. send_user "~q for qwerty input (default)\n"
  27. send_user "~e for expect interpreter\n"
  28. send_user "Enter ~ sequences using qwerty keys\n"
  29. interact ~d rot ~q {} ~e
  30.