add support to report a mouse events via stdin with esc-sequences:

an xterm-like mouse reporting. A bugs reports to seyko2@gmail.com

===============================================================

getc()
{
    stty raw
    dd bs=1 count=1 2>/dev/null
    stty cooked
}

handle_mouse()
{
    local c
    c="`getc`"
    [ "$c" = "[" ] || return
    c="`getc`"
    [ "$c" = "M" ] || return
    b="`getc`"
    x="`getc`"
    y="`getc`"
    b=`printf "%u" "'$b"`
    x=`printf "%u" "'$x"`
    y=`printf "%u" "'$y"`
    b=$(($b - 32))
    x=$(($x - 32))
    y=$(($y - 32))
    echo "$b $x $y"
}

stty -echo
printf '\033[?1000h'
ESC="`printf '\033'`"
while true ; do
    c="`getc`"
    if [ "$c" = "$ESC" ] ; then
        handle_mouse
    fi
    if [ "$c" = "q" ] ; then
        break
    fi
done
printf '\033[?1000l'
stty echo
echo
===============================================================