OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [expect/] [example/] [dvorak] - Rev 1776

Go to most recent revision | Compare with Previous | Blame | View Log

#!../expect -f
# simulate a dvorak keyboard
# Actually just the lowercase letters are mapped to show the basic idea.
# Really, uppercase and control should probably be mapped too.
# But this isn't really what expect is all about.  It just demonstrates
# the mapping ability of 'interact'.

proc rot {} {
        interact {
                q {send '}  w {send ,}  e {send .}  r {send p}
                t {send y}  y {send f}  u {send g}  i {send c}
                o {send r}  p {send l}  s {send o}  d {send e}
                f {send u}  g {send i}  h {send d}  j {send h}
                k {send t}  l {send n}  \; {send s}  ' {send -- -}
                z {send \;}  x {send q}  c {send j}  v {send k}
                b {send x}  n {send b}  , {send w}  . {send v}
                / {send z}  ~q {return} ~d {} ~e {}
                -o eof exit
        }
}

log_user 0
spawn $env(SHELL)
log_user 1
send_user "~d for dvorak input\n"
send_user "~q for qwerty input (default)\n"
send_user "~e for expect interpreter\n"
send_user "Enter ~ sequences using qwerty keys\n"
interact ~d rot ~q {} ~e

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.