WASD translates the camera around along the X and Y plane. Left and Right arrow keys rotate the camera around the Z axis. ED is down and up. If the controls are inverted, turn around 180 degrees.
The triangle filler needs optimization. It only really fills in a wireframe. The code is almost the definition of spaghetti code. But hey, it works! (-ish)