Esempio n. 1
0
        private void Parse(object sender, DsPacket e)
        {
            lock (this)
            {
                if (e.Detail.Pad == (DsPadId)m_SelectedPad)
                {
                    if (e.Detail.State != DsState.Connected)
                    {
                        ResetControls();
                        return;
                    }

                    scpProxy.Remap(m_SelectedProfile, e);

                    switch (e.Detail.Model)
                    {
                        case DsModel.DS3:
                            {
                                axLX.Value = e.Axis(Ds3Axis.LX);
                                axLY.Value = e.Axis(Ds3Axis.LY);
                                axRX.Value = e.Axis(Ds3Axis.RX);
                                axRY.Value = e.Axis(Ds3Axis.RY);

                                axL1.Value = e.Axis(Ds3Axis.L1);
                                axR1.Value = e.Axis(Ds3Axis.R1);
                                axL2.Value = e.Axis(Ds3Axis.L2);
                                axR2.Value = e.Axis(Ds3Axis.R2);

                                axL3.Value = (Byte)(e.Button(Ds3Button.L3) ? 255 : 0);
                                axR3.Value = (Byte)(e.Button(Ds3Button.R3) ? 255 : 0);

                                axSH.Value = (Byte)(e.Button(Ds3Button.Select) ? 255 : 0);
                                axOP.Value = (Byte)(e.Button(Ds3Button.Start) ? 255 : 0);

                                axT.Value = e.Axis(Ds3Axis.Triangle);
                                axC.Value = e.Axis(Ds3Axis.Circle);
                                axX.Value = e.Axis(Ds3Axis.Cross);
                                axS.Value = e.Axis(Ds3Axis.Square);

                                axU.Value = e.Axis(Ds3Axis.Up);
                                axR.Value = e.Axis(Ds3Axis.Right);
                                axD.Value = e.Axis(Ds3Axis.Down);
                                axL.Value = e.Axis(Ds3Axis.Left);

                                axPS.Value = (Byte)(e.Button(Ds3Button.PS) ? 255 : 0);
                            }
                            break;

                        case DsModel.DS4:
                            {
                                axLX.Value = e.Axis(Ds4Axis.LX);
                                axLY.Value = e.Axis(Ds4Axis.LY);
                                axRX.Value = e.Axis(Ds4Axis.RX);
                                axRY.Value = e.Axis(Ds4Axis.RY);

                                axL2.Value = e.Axis(Ds4Axis.L2);
                                axR2.Value = e.Axis(Ds4Axis.R2);

                                axL1.Value = (Byte)(e.Button(Ds4Button.L1) ? 255 : 0);
                                axR1.Value = (Byte)(e.Button(Ds4Button.R1) ? 255 : 0);
                                axL3.Value = (Byte)(e.Button(Ds4Button.L3) ? 255 : 0);
                                axR3.Value = (Byte)(e.Button(Ds4Button.R3) ? 255 : 0);

                                axSH.Value = (Byte)(e.Button(Ds4Button.Share) ? 255 : 0);
                                axOP.Value = (Byte)(e.Button(Ds4Button.Options) ? 255 : 0);

                                axT.Value = (Byte)(e.Button(Ds4Button.Triangle) ? 255 : 0);
                                axC.Value = (Byte)(e.Button(Ds4Button.Circle) ? 255 : 0);
                                axX.Value = (Byte)(e.Button(Ds4Button.Cross) ? 255 : 0);
                                axS.Value = (Byte)(e.Button(Ds4Button.Square) ? 255 : 0);

                                axU.Value = (Byte)(e.Button(Ds4Button.Up) ? 255 : 0);
                                axR.Value = (Byte)(e.Button(Ds4Button.Right) ? 255 : 0);
                                axD.Value = (Byte)(e.Button(Ds4Button.Down) ? 255 : 0);
                                axL.Value = (Byte)(e.Button(Ds4Button.Left) ? 255 : 0);

                                axPS.Value = (Byte)(e.Button(Ds4Button.PS) ? 255 : 0);
                                axTP.Value = (Byte)(e.Button(Ds4Button.TouchPad) ? 255 : 0);
                            }
                            break;
                    }
                }
            }
        }
Esempio n. 2
0
        protected override void SampleDs3(DsPacket Packet)
        {
            m_Enb = Toggle(m_Enb, Packet.Button(Ds3Button.PS | Ds3Button.Start), ref m_Enabled);

            if (m_Enabled)
            {
                base.SampleDs3(Packet);

                m_LMB = Mouse (m_LMB, Packet.Button(Ds3Button.R1      ), KbmPost.MouseButtons.Left );
                m_RMB = Mouse (m_RMB, Packet.Button(Ds3Button.L1      ), KbmPost.MouseButtons.Right);

                m_Ent = Button(m_Ent, Packet.Button(Ds3Button.Cross   ), Keys.Enter,    false);
                m_Esc = Button(m_Esc, Packet.Button(Ds3Button.Circle  ), Keys.Escape,   false);
                m_Tab = Button(m_Tab, Packet.Button(Ds3Button.Square  ), Keys.Tab,      false);
                m_Spc = Button(m_Spc, Packet.Button(Ds3Button.Triangle), Keys.Space,    false);

                m_PgU = Button(m_PgU, Packet.Button(Ds3Button.R2      ), Keys.PageUp,   true );
                m_PgD = Button(m_PgD, Packet.Button(Ds3Button.L2      ), Keys.PageDown, true );

                m_CuU = Button(m_CuU, Packet.Button(Ds3Button.Up      ), Keys.Up,       true );
                m_CuD = Button(m_CuD, Packet.Button(Ds3Button.Down    ), Keys.Down,     true );
                m_CuL = Button(m_CuL, Packet.Button(Ds3Button.Left    ), Keys.Left,     true );
                m_CuR = Button(m_CuR, Packet.Button(Ds3Button.Right   ), Keys.Right,    true );
            }
        }