A button that can be either selected or deselected, but when selecting it any other buttons in its group will be cleared.
The class radio-button
inherits most of its behavior from button. Note that it is normally best to use a radio-button-panel rather than make the individual buttons yourself, as the button-panel provides functionality for handling groups of buttons. However, radio buttons are provided in case you need to have more control over the button's behavior.
(setq button (capi:contain
(make-instance 'capi:radio-button
:text "Press Me")))
(capi:apply-in-pane-process
button #'(setf capi:button-selected) t button)
(capi:apply-in-pane-process
button #'(setf capi:button-selected) nil button)
(capi:apply-in-pane-process
button #'(setf capi:button-enabled) nil button)
(capi:apply-in-pane-process
button #'(setf capi:button-enabled) t button)
There is a further example here:
(example-edit-file "capi/buttons/buttons")
CAPI User Guide and Reference Manual (Unix version) - 3 Aug 2017