Button
Instructions on how to install LabBench
Represents a button-based response device used to capture discrete participant inputs (press/release events, active states, and reaction times).
Availability:
context.Instruments.<ButtonName>
Properties
| Name | Type | Description |
|---|---|---|
ReactionTime |
float |
Reaction time associated with the most recent latched button activation (typically milliseconds). |
Activations |
List[IButtonActivation] |
List of recorded button activation events (press/release with timestamps). |
Methods
| Name | Signature | Description |
|---|---|---|
Reset |
Reset() → None |
Resets the button state and clears latched/active states. |
GetActive |
GetActive() → str |
Returns the currently active (pressed) button as a string. |
IsActive |
IsActive(button: str) → bool |
Returns True if the specified button is currently pressed. |
GetLatched |
GetLatched() → str |
Returns the latched button (first detected press since last reset). |
IsLatched |
IsLatched(button: str) → bool |
Returns True if the specified button is latched. |
Button identifiers
Button methods that take a button: str argument expect specific string literals. These correspond to physical buttons or logical controls.
| String | Description |
|---|---|
"none" |
No button |
"1" – "8" |
Numbered buttons |
"up" |
Up direction |
"down" |
Down direction |
"left" |
Left direction |
"right" |
Right direction |
"decrease" |
Decrease control |
"increase" |
Increase control |
"previous" |
Previous selection |
"next" |
Next selection |
"clear" |
Clear/reset action |
These values are returned by GetActive() and GetLatched() and must be used when calling IsActive() and IsLatched().
ButtonActivation (IButtonActivation)
Represents a single button event (press or release).
Properties
| Name | Type | Description |
|---|---|---|
ID |
ButtonID |
Identifier of the button. |
Time |
float |
Timestamp of the activation event. |
Pressed |
bool |
True if this event is a press, False if release. |
Methods
| Name | Signature | Description |
|---|---|---|
GetButton |
GetButton() → str |
Returns the button identifier as a string (same values as table above). |
Typical usage
button = context.Instruments.Button
# Check current state
if button.IsActive("1"):
print("Button 1 is pressed")
# Check latched response
latched = button.GetLatched()
rt = button.ReactionTime
# Iterate over activations
for a in button.Activations:
print(a.GetButton(), a.Time, a.Pressed)
# Reset between trials
button.Reset()
Notes / gotchas
Reset()should typically be called between trials to clear latched states.- Latched state represents the first detected press since last reset.
ReactionTimeis only meaningful after a latched activation has occurred.- Button identifiers must match the string literals listed above.
Activationsincludes both press and release events; usePressedto distinguish.