Buttons or encoders can be connected to controller directly or in a matrix or using external shift registers chips:
- Connecting buttons directly to the controller
- Connecting buttons to shift registers
- Encoders connection
Also you can get virtual buttons from axis movements:
You should set up your connected buttons on "Button config" tab: