bCNC - help - support - FAQ

It’s a 3 step process:

(1) identify the buttons
(2) map buttons to keystrokes
(3) map keystrokes to actions

This is a common approach for adding a physical input as means of controlling software. I recently did something similar for developing RAW photos in Capture One with a 16 knob + 16 button MIDI controller.

For Raspbian and bCNC I did (1) with jstest, (2) with jkeys. If you use standard shortcuts you don’t need to do anything for (3), it’s already there. If you wish to use custom shortcuts (e.g. for macros) you need to define them in bCNC.

Have a look here for some more details:

EDIT: you can get jkeys here.