Пример #1
0
void PollAxisAsButton(u32 pad, int min_id, int max_id, int deadzone, int val)
{
	if ( val < -deadzone )
	{
		DX_PerKeyUp( pad, 0, max_id );
		DX_PerKeyDown( pad, 0, min_id );
	}
	else if ( val > deadzone )
	{
		DX_PerKeyUp( pad, 0, min_id );
		DX_PerKeyDown( pad, 0, max_id );
	}
	else
	{
		DX_PerKeyUp( pad, 0, min_id );
		DX_PerKeyUp( pad, 0, max_id );
	}
}
Пример #2
0
void PollXInputButtons(u32 pad, XINPUT_STATE *state)
{
	int i;
	
	// Check buttons
	for ( i = 0; i < 16; i++ )
	{
		WORD mask = 1 << i;

		if ( (state->Gamepad.wButtons & mask) == mask )
			DX_PerKeyDown( pad, 0, DIJOFS_BUTTON(i) );
		else
			DX_PerKeyUp( pad, 0, DIJOFS_BUTTON(i) );
	}
}