uBit.buttonAB#
Overview#
A MicroBitMultiButton
mirrors the state of two MicroBitButton
s
using the message bus eventing mechanism. It provides a similar API and emits
the same events as as a MicroBitButton
.
Message Bus ID#
Constant | Value |
---|---|
MICROBIT_ID_BUTTON_AB | 26 |
Message Bus Events#
Constant | Value |
---|---|
MICROBIT_BUTTON_EVT_DOWN | 1 |
MICROBIT_BUTTON_EVT_UP | 2 |
MICROBIT_BUTTON_EVT_CLICK | 3 |
MICROBIT_BUTTON_EVT_LONG_CLICK | 4 |
MICROBIT_BUTTON_EVT_HOLD | 5 |
MICROBIT_BUTTON_EVT_DOUBLE_CLICK | 6 |
API#
Constructor#
MicroBitMultiButton( uint16_t button1, uint16_t button2, uint16_t id)#
Description#
Constructor.
Create a representation of a virtual button, that generates events based upon the combination of two given buttons.
Parameters#
uint16_tbutton1 - the unique ID of the first button to watch.uint16_tbutton2 - the unique ID of the second button to watch.uint16_tid - the unique EventModel id of this MicroBitMultiButton instance.
Example#
multiButton(MICROBIT_ID_BUTTON_A, MICROBIT_ID_BUTTON_B, MICROBIT_ID_BUTTON_AB);
isPressed#
int isPressed()#
Description#
Tests if this MicroBitMultiButton instance is virtually pressed.
Returns#
1 if both physical buttons are pressed simultaneously.
Example#
if(buttonAB.isPressed())
display.scroll("Pressed!");
setEventConfiguration#
void setEventConfiguration( MicroBitButtonEventConfiguration config)#
Description#
Changes the event configuration of this button to the given MicroBitButtonEventConfiguration. All subsequent events generated by this button will then be informed by this configuration.
Parameters#
MicroBitButtonEventConfigurationconfig - The new configuration for this button. Legal values are MICROBIT_BUTTON_ALL_EVENTS or MICROBIT_BUTTON_SIMPLE_EVENTS.
Example#
// Configure a button to generate all possible events.
buttonAB.setEventConfiguration(MICROBIT_BUTTON_ALL_EVENTS);
// Configure a button to suppress MICROBIT_BUTTON_EVT_CLICK and MICROBIT_BUTTON_EVT_LONG_CLICK events.
buttonAB.setEventConfiguration(MICROBIT_BUTTON_SIMPLE_EVENTS);