Using the xev command on Ubuntu (part of the x11-utils package), you can easily monitor and observe what the codes are for each key as you press it. The codes seem straight forward : including Return, Tab, F1, F2, F3..., Shift_L, Shift_R, Delete, Backspace, Up, Down, Left, Right, etc.
Up Deck uses xdotool to send the keystrokes on Linux - combination keystrokes are separated by + (plus sign).
To send a 5 keystroke, the key data would be 5
To send a % keystroke, the key data would be %
To send an F2 keystroke, the key data would be F2
To send an shift + Q keystroke, the key data would be Shift_L+Q (Left shift key)
Example - I set the Control + k hotkey in OBS to unmute a source
Send keypress to OBS