Ejemplo n.º 1
0
        public static ControllerId GetIndexFromNpadIdType(NpadIdType npadIdType)
        {
            switch (npadIdType)
            {
            case NpadIdType.Player1:  return(ControllerId.ControllerPlayer1);

            case NpadIdType.Player2:  return(ControllerId.ControllerPlayer2);

            case NpadIdType.Player3:  return(ControllerId.ControllerPlayer3);

            case NpadIdType.Player4:  return(ControllerId.ControllerPlayer4);

            case NpadIdType.Player5:  return(ControllerId.ControllerPlayer5);

            case NpadIdType.Player6:  return(ControllerId.ControllerPlayer6);

            case NpadIdType.Player7:  return(ControllerId.ControllerPlayer7);

            case NpadIdType.Player8:  return(ControllerId.ControllerPlayer8);

            case NpadIdType.Handheld: return(ControllerId.ControllerHandheld);

            case NpadIdType.Unknown:  return(ControllerId.ControllerUnknown);

            default: throw new ArgumentOutOfRangeException(nameof(npadIdType));
            }
        }
Ejemplo n.º 2
0
        private ResultCode GetAppletFooterUiTypeImpl(ServiceCtx context, out AppletFooterUiType appletFooterUiType)
        {
            NpadIdType  npadIdType  = (NpadIdType)context.RequestData.ReadUInt32();
            PlayerIndex playerIndex = HidUtils.GetIndexFromNpadIdType(npadIdType);

            appletFooterUiType = context.Device.Hid.SharedMemory.Npads[(int)playerIndex].InternalState.AppletFooterUiType;

            return(ResultCode.Success);
        }
Ejemplo n.º 3
0
        // GetNpadIrCameraHandle(u32) -> nn::irsensor::IrCameraHandle
        public ResultCode GetNpadIrCameraHandle(ServiceCtx context)
        {
            NpadIdType npadIdType = (NpadIdType)context.RequestData.ReadUInt32();

            if (npadIdType > NpadIdType.Player8 &&
                npadIdType != NpadIdType.Unknown &&
                npadIdType != NpadIdType.Handheld)
            {
                return(ResultCode.NpadIdOutOfRange);
            }

            ControllerId irCameraHandle = HidUtils.GetIndexFromNpadIdType(npadIdType);

            context.ResponseData.Write((int)irCameraHandle);

            // NOTE: If the irCameraHandle pointer is null this error is returned, Doesn't occur in our case.
            //       return ResultCode.HandlePointerIsNull;

            return(ResultCode.Success);
        }
Ejemplo n.º 4
0
        // GetNpadIrCameraHandle(u32) -> nn::irsensor::IrCameraHandle
        public long GetNpadIrCameraHandle(ServiceCtx context)
        {
            NpadIdType npadIdType = (NpadIdType)context.RequestData.ReadUInt32();

            if (npadIdType > NpadIdType.Player8 &&
                npadIdType != NpadIdType.Unknown &&
                npadIdType != NpadIdType.Handheld)
            {
                return(ErrorCode.MakeError(ErrorModule.Irsensor, IrsError.NpadIdOutOfRange));
            }

            HidControllerId irCameraHandle = HidUtils.GetIndexFromNpadIdType(npadIdType);

            context.ResponseData.Write((int)irCameraHandle);

            // NOTE: If the irCameraHandle pointer is null this error is returned, Doesn't occur in our case.
            //       return ErrorCode.MakeError(ErrorModule.Irsensor, IrsError.HandlePointerIsNull);

            return(0);
        }
Ejemplo n.º 5
0
 public static PlayerIndex GetIndexFromNpadIdType(NpadIdType npadIdType)
 => npadIdType switch
 {