示例#1
0
        private void OnJoystickCallback(int jid, GLFW_Enum eventType)
        {
            if (eventType == GLFW_Enum.CONNECTED)
            {
                var name      = GLFW.GetJoystickName(jid);
                var isGamepad = GLFW.JoystickIsGamepad(jid) != 0;

                GLFW.GetJoystickButtons(jid, out int buttonCount);
                GLFW.GetJoystickAxes(jid, out int axisCount);

                OnJoystickConnect((uint)jid, name, (uint)buttonCount, (uint)axisCount, isGamepad);
            }
            else if (eventType == GLFW_Enum.DISCONNECTED)
            {
                OnJoystickDisconnect((uint)jid);
            }
        }
示例#2
0
 private Buttons GamepadButtonToEnum(GLFW_Enum btn)
 {
     return(btn switch
     {
         GLFW_Enum.GAMEPAD_BUTTON_A => Buttons.A,
         GLFW_Enum.GAMEPAD_BUTTON_B => Buttons.B,
         GLFW_Enum.GAMEPAD_BUTTON_X => Buttons.X,
         GLFW_Enum.GAMEPAD_BUTTON_Y => Buttons.Y,
         GLFW_Enum.GAMEPAD_BUTTON_LEFT_BUMPER => Buttons.LeftShoulder,
         GLFW_Enum.GAMEPAD_BUTTON_RIGHT_BUMPER => Buttons.RightShoulder,
         GLFW_Enum.GAMEPAD_BUTTON_BACK => Buttons.Back,
         GLFW_Enum.GAMEPAD_BUTTON_START => Buttons.Start,
         GLFW_Enum.GAMEPAD_BUTTON_GUIDE => Buttons.Select,
         GLFW_Enum.GAMEPAD_BUTTON_LEFT_THUMB => Buttons.LeftStick,
         GLFW_Enum.GAMEPAD_BUTTON_RIGHT_THUMB => Buttons.RightStick,
         GLFW_Enum.GAMEPAD_BUTTON_DPAD_UP => Buttons.Up,
         GLFW_Enum.GAMEPAD_BUTTON_DPAD_RIGHT => Buttons.Right,
         GLFW_Enum.GAMEPAD_BUTTON_DPAD_DOWN => Buttons.Down,
         GLFW_Enum.GAMEPAD_BUTTON_DPAD_LEFT => Buttons.Left,
         _ => Buttons.None,
     });
示例#3
0
文件: GLFW.cs 项目: MrBrixican/Foster
 public static extern void WindowHintString(GLFW_Enum hint, [MarshalAs(UnmanagedType.LPStr)] string value);
示例#4
0
文件: GLFW.cs 项目: MrBrixican/Foster
 public static extern void WindowHint(GLFW_Enum hint, int value);