[][src]Function libeyelink_sys::eyelink_button_states

pub unsafe extern "C" fn eyelink_button_states() -> UINT16

@ingroup elbutton Returns a flag word with bits set to indicate which tracker buttons are currently pressed. This is button 1 for the LSB, up to button 16 for the MSB.

@remarks Buttons above 8 are not realized on the EyeLink tracker. @return Flag bits for buttons currently pressed.

\b Example:

\code

#include 
int   state =0;
int 	prev_state = 0;
UINT32 start_time = current_time();

while(eyelink_is_connected()
&& current_time() > start_time + 5000)
{
state = eyelink_button_states();
if (state != prev_state)
{
eyemsg_printf("Button 1:%s 2:%s 3:%s 4:%s 5:%s",
state & 0x01 ? "Pressed" : "Released",
(state & 0x02) >> 1 ? "Pressed" : "Released",
(state & 0x04) >> 2 ? "Pressed" : "Released",
(state & 0x08) >> 3 ? "Pressed" : "Released",
(state & 0x10) >> 4 ? "Pressed" : "Released");

prev_state = state;
}
}
\endcode

\b Output:

\code
BUTTON	4144034	1	1
MSG	4144035 Button 1:Pressed 2:Released 3:Released 4:Released 5:Released
BUTTON	4144266	1	0
MSG	4144267 Button 1:Released 2:Released 3:Released 4:Released 5:Released
BUTTON	4144650	2	1
MSG	4144651 Button 1:Released 2:Pressed 3:Released 4:Released 5:Released
BUTTON	4144898	2	0
MSG	4144899 Button 1:Released 2:Released 3:Released 4:Released 5:Released
BUTTON	4145260	3	1
MSG	4145261 Button 1:Released 2:Released 3:Pressed 4:Released 5:Released
BUTTON	4145492	3	0
MSG	4145493 Button 1:Released 2:Released 3:Released 4:Released 5:Released
BUTTON	4145834	4	1
MSG	4145835 Button 1:Released 2:Released 3:Released 4:Pressed 5:Released
BUTTON	4146106	4	0
MSG	4146107 Button 1:Released 2:Released 3:Released 4:Released 5:Released
BUTTON	4146498	5	1
MSG	4146499 Button 1:Released 2:Released 3:Released 4:Released 5:Pressed
BUTTON	4146778	5	0
MSG	4146779 Button 1:Released 2:Released 3:Released 4:Released 5:Released
\endcode

\sa \c eyelink_last_button_press()