#!/bin/sh x1=128 y1=128 xvel=1 xspd=$xvel yvel=1 yspd=$yvel x2=256 y2=256 w=16 h=16 clear actkbd -Ps | \ while read frame key held; do printf "\33[1;1H$x1 $y1 \b\b" #key1=$(echo "$key" | awk '{split($0, a, "+"); print a[1];}') #key2=$(echo "$key" | awk '{split($0, a, "+"); print a[2];}') [ "$key" = "KEY_NONE" ] && yspd=0 && xspd=0 && negx="" && negy="" [ "${key#*KEY_W}" != "$key" ] && negx="-" && xspd=$xvel && x1=$(expr $x1 - $xspd) [ "${key#*KEY_S}" != "$key" ] && negx="" && xspd=$xvel && x1=$(expr $x1 + $xspd) [ "${key#*KEY_A}" != "$key" ] && negy="-" && yspd=$yvel && y1=$(expr $y1 - $yspd) [ "${key#*KEY_D}" != "$key" ] && negy="" && yspd=$yvel && y1=$(expr $y1 + $yspd) xy=$(printf "1\n$w,$h\n$x1,$y1\n$negx$xspd,$negy$yspd\n$w,$h\n$x2,$y2" | ./clld | tail -n2 | tr -d ',' | sed '$d'); x1=$(echo "$xy" | awk '{print $1}') y1=$(echo "$xy" | awk '{print $2}') done