In addition, it is also nice if the keys could be redefined but that is not necessary.
The standard CPC can handle support 3 joystick buttons, but though many CPC joysticks have only have 1 button.
The CPC+ and GX4000 can handle only support 2 joystick buttons only, but and the included Amstrad joypads provided with the machine have 2 different buttons.
There are some common keyboard configurations used: