add support to report a mouse events via stdin with esc-sequences:#4
add support to report a mouse events via stdin with esc-sequences:#4seyko2 wants to merge 1 commit intotelmich:masterfrom
Conversation
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
===============================================================
|
Maybe a nice idea, but what about the documentation? |
|
What documentation is needed? Patch for gpm is developed to allow use
2014-11-17 15:09 GMT+04:00, Nico Schottelius notifications@github.com:
|
|
What the resolution about this pull request? |
|
How is anyone going to use this without being mentioned in the docs? |
|
How is anyone going to use this without being mentioned in the docs?
"gpm supports now x-term like mouse reporting events on Linux console"
in changelog and somewhere in the docs?
|
|
Please see #29 for a broader picture! |
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