internal void SetButton(JoystickButton button, bool @value)
{
if (button_collection[button] != @value)
{
button_args.Button = button;
button_collection[button] = button_args.Pressed = @value;
if (@value)
ButtonDown(this, button_args);
else
ButtonUp(this, button_args);
}
}