@joncox, The integration of the cheap joystick looks great! The recess gives a nice method of glueing in the rubber. I will definitely try that some time!
If I may make a suggestion:
BarButtons uses a schema to combine multiple buttons to less pins. Your design needs a full pin for each button. BarButtons programming design allows for additional buttons. I am thinking:
This is especially useful since the joystick leaves a lot of space for additional keys 😉