Controller input on classic 16 bit computers is fairly limited. JoeyLib abstracts to a common API as best as it can. More details will be coming as the Amiga and ST backends are completed.
jint16 jlGameGetAxis(byte which);
Returns a value between -128 and 127 with 0 representing the centered position. Axis 0 is the horizontal (X) axis and axis 1 is the vertical (Y) axis. On systems with analog controllers, the result will vary depending on how far the axis has moved off center. You will need to take into account a small "dead zone" for sticks that do not have a precise center position. On platforms with more than one analog stick, JoeyLib uses the left-hand stick. If the platform supports more than one controller, all connected controllers at application startup will be used.
bool jlGameGetButton(byte which);
Most platforms support two or more buttons. JoeyLib limits button input to two. How to handle platforms with a single button has yet to be decided.