code: plan9front

ref: df04ea8d6c2e1e75307a77f2b086a836f480ab72
dir: /sys/src/games/nes/joynes/

View raw version
#!/bin/rc
# run as "nusb/joy epX.Y | joynes N", where N=[1,2]

awk -safe -v 'joy='$1 '
	BEGIN { k[0] = "" }

	/^axis 0 0/   { k[0] = "left " }
	/^axis 0 255/ { k[0] = "right " }
	/^axis 0 128/ { k[0] = "" }

	/^axis 1 0/   { k[1] = "up " }
	/^axis 1 255/ { k[1] = "down " }
	/^axis 1 128/ { k[1] = "" }

	/^down 7$/ { k[3] = "b " }
	/^down 8$/ { k[2] = "a " }
	/^down 1$/ { k[4] = "control " }
	/^down 2$/ { k[5] = "start " }

	/^up 7$/ { k[3] = "" }
	/^up 8$/ { k[2] = "" }
	/^up 1$/ { k[4] = "" }
	/^up 2$/ { k[5] = "" }

	{
		if(joy != "")
			printf "joy%s ", joy
		for(i = 0; i <= 5; i++)
			printf k[i]
		printf "\n"
		fflush
	}
'