-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support to report a mouse events via stdin with esc-sequences: #4
base: master
Are you sure you want to change the base?
Conversation
an xterm-like mouse reporting. A bugs reports to [email protected] =============================================================== 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 [email protected]:
|
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 [email protected]
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