Exemplo n.º 1
0
        public KeyMappings Clone()
        {
            KeyMappings clone = (KeyMappings)this.MemberwiseClone();

            clone.PowerPadButtons            = this.PowerPadButtons.Clone();
            clone.FamilyBasicKeyboardButtons = this.FamilyBasicKeyboardButtons.Clone();
            clone.PartyTapButtons            = this.PartyTapButtons.Clone();
            clone.PachinkoButtons            = this.PachinkoButtons.Clone();
            clone.ExcitingBoxingButtons      = this.ExcitingBoxingButtons.Clone();
            clone.JissenMahjongButtons       = this.JissenMahjongButtons.Clone();
            clone.SuborKeyboardButtons       = this.SuborKeyboardButtons.Clone();
            clone.BandaiMicrophoneButtons    = this.BandaiMicrophoneButtons.Clone();
            return(clone);
        }
Exemplo n.º 2
0
        public KeyPresets()
        {
            _wasdLayout = new KeyMappings()
            {
                A      = InteropEmu.GetKeyCode("K"), B = InteropEmu.GetKeyCode("J"),
                TurboA = InteropEmu.GetKeyCode(","), TurboB = InteropEmu.GetKeyCode("M"),
                Select = InteropEmu.GetKeyCode("U"), Start = InteropEmu.GetKeyCode("I"),
                Up     = InteropEmu.GetKeyCode("W"), Down = InteropEmu.GetKeyCode("S"),
                Left   = InteropEmu.GetKeyCode("A"), Right = InteropEmu.GetKeyCode("D")
            };

            _arrowLayout = new KeyMappings()
            {
                A      = InteropEmu.GetKeyCode("S"), B = InteropEmu.GetKeyCode("A"),
                TurboA = InteropEmu.GetKeyCode("X"), TurboB = InteropEmu.GetKeyCode("Z"),
                Select = InteropEmu.GetKeyCode("Q"), Start = InteropEmu.GetKeyCode("W"),
                Up     = InteropEmu.GetKeyCode("Up Arrow"), Down = InteropEmu.GetKeyCode("Down Arrow"),
                Left   = InteropEmu.GetKeyCode("Left Arrow"), Right = InteropEmu.GetKeyCode("Right Arrow")
            };

            _nestopiaLayout = new KeyMappings()
            {
                A      = InteropEmu.GetKeyCode("."), B = InteropEmu.GetKeyCode(","),
                TurboA = InteropEmu.GetKeyCode("L"), TurboB = InteropEmu.GetKeyCode("K"),
                Select = InteropEmu.GetKeyCode("Shift"), Start = InteropEmu.GetKeyCode("Enter"),
                Up     = InteropEmu.GetKeyCode("Up Arrow"), Down = InteropEmu.GetKeyCode("Down Arrow"),
                Left   = InteropEmu.GetKeyCode("Left Arrow"), Right = InteropEmu.GetKeyCode("Right Arrow")
            };

            _fceuxLayout = new KeyMappings()
            {
                A      = InteropEmu.GetKeyCode("F"), B = InteropEmu.GetKeyCode("D"),
                TurboA = 0, TurboB = 0,
                Select = InteropEmu.GetKeyCode("S"), Start = InteropEmu.GetKeyCode("Enter"),
                Up     = InteropEmu.GetKeyCode("Up Arrow"), Down = InteropEmu.GetKeyCode("Down Arrow"),
                Left   = InteropEmu.GetKeyCode("Left Arrow"), Right = InteropEmu.GetKeyCode("Right Arrow")
            };

            _player2KeyboardLayout = new KeyMappings()
            {
                A      = InteropEmu.GetKeyCode(";"), B = InteropEmu.GetKeyCode("L"),
                TurboA = InteropEmu.GetKeyCode("/"), TurboB = InteropEmu.GetKeyCode("."),
                Select = InteropEmu.GetKeyCode("O"), Start = InteropEmu.GetKeyCode("P"),
                Up     = InteropEmu.GetKeyCode("Y"), Down = InteropEmu.GetKeyCode("H"),
                Left   = InteropEmu.GetKeyCode("G"), Right = InteropEmu.GetKeyCode("J")
            };

            if (Program.IsMono)
            {
                for (int i = 0; i < 2; i++)
                {
                    string prefix = "Pad" + (i + 1).ToString() + " ";
                    _xboxLayouts[i] = new KeyMappings()
                    {
                        A      = InteropEmu.GetKeyCode(prefix + "A"), B = InteropEmu.GetKeyCode(prefix + "X"),
                        TurboA = InteropEmu.GetKeyCode(prefix + "B"), TurboB = InteropEmu.GetKeyCode(prefix + "Y"),
                        Select = InteropEmu.GetKeyCode(prefix + "Select"), Start = InteropEmu.GetKeyCode(prefix + "Start"),
                        Up     = InteropEmu.GetKeyCode(prefix + "Up"), Down = InteropEmu.GetKeyCode(prefix + "Down"),
                        Left   = InteropEmu.GetKeyCode(prefix + "Left"), Right = InteropEmu.GetKeyCode(prefix + "Right")
                    };

                    _ps4Layouts[i] = new KeyMappings()
                    {
                        A      = InteropEmu.GetKeyCode(prefix + "B"), B = InteropEmu.GetKeyCode(prefix + "A"),
                        TurboA = InteropEmu.GetKeyCode(prefix + "C"), TurboB = InteropEmu.GetKeyCode(prefix + "X"),
                        Select = InteropEmu.GetKeyCode(prefix + "L2"), Start = InteropEmu.GetKeyCode(prefix + "R2"),
                        Up     = InteropEmu.GetKeyCode(prefix + "Up"), Down = InteropEmu.GetKeyCode(prefix + "Down"),
                        Left   = InteropEmu.GetKeyCode(prefix + "Left"), Right = InteropEmu.GetKeyCode(prefix + "Right")
                    };

                    _snes30Layouts[i] = new KeyMappings()
                    {
                        A      = InteropEmu.GetKeyCode(prefix + "Thumb"), B = InteropEmu.GetKeyCode(prefix + "Top2"),
                        TurboA = InteropEmu.GetKeyCode(prefix + "Trigger"), TurboB = InteropEmu.GetKeyCode(prefix + "Top"),
                        Select = InteropEmu.GetKeyCode(prefix + "Base5"), Start = InteropEmu.GetKeyCode(prefix + "Base6"),
                        Up     = InteropEmu.GetKeyCode(prefix + "Y-"), Down = InteropEmu.GetKeyCode(prefix + "Y+"),
                        Left   = InteropEmu.GetKeyCode(prefix + "X-"), Right = InteropEmu.GetKeyCode(prefix + "X+")
                    };
                }
            }
            else
            {
                for (int i = 0; i < 2; i++)
                {
                    string prefix = "Pad" + (i + 1).ToString() + " ";
                    _xboxLayouts[i] = new KeyMappings()
                    {
                        A      = InteropEmu.GetKeyCode(prefix + "A"), B = InteropEmu.GetKeyCode(prefix + "X"),
                        TurboA = InteropEmu.GetKeyCode(prefix + "B"), TurboB = InteropEmu.GetKeyCode(prefix + "Y"),
                        Select = InteropEmu.GetKeyCode(prefix + "Back"), Start = InteropEmu.GetKeyCode(prefix + "Start"),
                        Up     = InteropEmu.GetKeyCode(prefix + "Up"), Down = InteropEmu.GetKeyCode(prefix + "Down"),
                        Left   = InteropEmu.GetKeyCode(prefix + "Left"), Right = InteropEmu.GetKeyCode(prefix + "Right")
                    };

                    prefix         = "Joy" + (i + 1).ToString() + " ";
                    _ps4Layouts[i] = new KeyMappings()
                    {
                        A      = InteropEmu.GetKeyCode(prefix + "But2"), B = InteropEmu.GetKeyCode(prefix + "But1"),
                        TurboA = InteropEmu.GetKeyCode(prefix + "But3"), TurboB = InteropEmu.GetKeyCode(prefix + "But4"),
                        Select = InteropEmu.GetKeyCode(prefix + "But9"), Start = InteropEmu.GetKeyCode(prefix + "But10"),
                        Up     = InteropEmu.GetKeyCode(prefix + "DPad Up"), Down = InteropEmu.GetKeyCode(prefix + "DPad Down"),
                        Left   = InteropEmu.GetKeyCode(prefix + "DPad Left"), Right = InteropEmu.GetKeyCode(prefix + "DPad Right")
                    };

                    _snes30Layouts[i] = new KeyMappings()
                    {
                        A      = InteropEmu.GetKeyCode(prefix + "But2"), B = InteropEmu.GetKeyCode(prefix + "But5"),
                        TurboA = InteropEmu.GetKeyCode(prefix + "But1"), TurboB = InteropEmu.GetKeyCode(prefix + "But4"),
                        Select = InteropEmu.GetKeyCode(prefix + "But11"), Start = InteropEmu.GetKeyCode(prefix + "But12"),
                        Up     = InteropEmu.GetKeyCode(prefix + "Y+"), Down = InteropEmu.GetKeyCode(prefix + "Y-"),
                        Left   = InteropEmu.GetKeyCode(prefix + "X-"), Right = InteropEmu.GetKeyCode(prefix + "X+")
                    };
                }
            }

            _familyBasic = new KeyMappings()
            {
                FamilyBasicKeyboardButtons = new UInt32[72] {
                    InteropEmu.GetKeyCode("A"), InteropEmu.GetKeyCode("B"), InteropEmu.GetKeyCode("C"), InteropEmu.GetKeyCode("D"),
                    InteropEmu.GetKeyCode("E"), InteropEmu.GetKeyCode("F"), InteropEmu.GetKeyCode("G"), InteropEmu.GetKeyCode("H"),
                    InteropEmu.GetKeyCode("I"), InteropEmu.GetKeyCode("J"), InteropEmu.GetKeyCode("K"), InteropEmu.GetKeyCode("L"),
                    InteropEmu.GetKeyCode("M"), InteropEmu.GetKeyCode("N"), InteropEmu.GetKeyCode("O"), InteropEmu.GetKeyCode("P"),
                    InteropEmu.GetKeyCode("Q"), InteropEmu.GetKeyCode("R"), InteropEmu.GetKeyCode("S"), InteropEmu.GetKeyCode("T"),
                    InteropEmu.GetKeyCode("U"), InteropEmu.GetKeyCode("V"), InteropEmu.GetKeyCode("W"), InteropEmu.GetKeyCode("X"),
                    InteropEmu.GetKeyCode("Y"), InteropEmu.GetKeyCode("Z"), InteropEmu.GetKeyCode("0"), InteropEmu.GetKeyCode("1"),
                    InteropEmu.GetKeyCode("2"), InteropEmu.GetKeyCode("3"), InteropEmu.GetKeyCode("4"), InteropEmu.GetKeyCode("5"),
                    InteropEmu.GetKeyCode("6"), InteropEmu.GetKeyCode("7"), InteropEmu.GetKeyCode("8"), InteropEmu.GetKeyCode("9"),
                    InteropEmu.GetKeyCode("Enter"), InteropEmu.GetKeyCode("Spacebar"), InteropEmu.GetKeyCode("Backspace"), InteropEmu.GetKeyCode("Insert"),
                    InteropEmu.GetKeyCode("Esc"), InteropEmu.GetKeyCode("Ctrl"), InteropEmu.GetKeyCode("Menu"), InteropEmu.GetKeyCode("Shift"),
                    InteropEmu.GetKeyCode("]"), InteropEmu.GetKeyCode("["),
                    InteropEmu.GetKeyCode("Up Arrow"), InteropEmu.GetKeyCode("Down Arrow"), InteropEmu.GetKeyCode("Left Arrow"), InteropEmu.GetKeyCode("Right Arrow"),
                    InteropEmu.GetKeyCode("."), InteropEmu.GetKeyCode(","), InteropEmu.GetKeyCode("'"), InteropEmu.GetKeyCode(";"),
                    InteropEmu.GetKeyCode("="), InteropEmu.GetKeyCode("/"), InteropEmu.GetKeyCode("-"), InteropEmu.GetKeyCode("`"),
                    InteropEmu.GetKeyCode("F1"), InteropEmu.GetKeyCode("F2"), InteropEmu.GetKeyCode("F3"), InteropEmu.GetKeyCode("F4"),
                    InteropEmu.GetKeyCode("F5"), InteropEmu.GetKeyCode("F6"), InteropEmu.GetKeyCode("F7"), InteropEmu.GetKeyCode("F8"),
                    InteropEmu.GetKeyCode("\\"), InteropEmu.GetKeyCode("Delete"), InteropEmu.GetKeyCode("F9"), InteropEmu.GetKeyCode("Alt"),
                    InteropEmu.GetKeyCode("Home"), InteropEmu.GetKeyCode("End")
                }
            };

            _powerPad = new KeyMappings()
            {
                PowerPadButtons = new UInt32[12] {
                    InteropEmu.GetKeyCode("R"),
                    InteropEmu.GetKeyCode("T"),
                    InteropEmu.GetKeyCode("Y"),
                    InteropEmu.GetKeyCode("U"),
                    InteropEmu.GetKeyCode("F"),
                    InteropEmu.GetKeyCode("G"),
                    InteropEmu.GetKeyCode("H"),
                    InteropEmu.GetKeyCode("J"),
                    InteropEmu.GetKeyCode("V"),
                    InteropEmu.GetKeyCode("B"),
                    InteropEmu.GetKeyCode("N"),
                    InteropEmu.GetKeyCode("M"),
                }
            };

            _partyTap = new KeyMappings()
            {
                PartyTapButtons = new UInt32[6] {
                    InteropEmu.GetKeyCode("1"),
                    InteropEmu.GetKeyCode("2"),
                    InteropEmu.GetKeyCode("3"),
                    InteropEmu.GetKeyCode("4"),
                    InteropEmu.GetKeyCode("5"),
                    InteropEmu.GetKeyCode("6"),
                }
            };

            _pachinko = new KeyMappings()
            {
                PachinkoButtons = new UInt32[2] {
                    InteropEmu.GetKeyCode("R"),
                    InteropEmu.GetKeyCode("F")
                }
            };

            _bandaiMicrophone = new KeyMappings()
            {
                BandaiMicrophoneButtons = new UInt32[3] {
                    InteropEmu.GetKeyCode("1"),
                    InteropEmu.GetKeyCode("2"),
                    InteropEmu.GetKeyCode("3")
                }
            };

            _excitingBoxing = new KeyMappings()
            {
                ExcitingBoxingButtons = new UInt32[8] {
                    InteropEmu.GetKeyCode("Numpad 7"),
                    InteropEmu.GetKeyCode("Numpad 6"),
                    InteropEmu.GetKeyCode("Numpad 4"),
                    InteropEmu.GetKeyCode("Numpad 9"),
                    InteropEmu.GetKeyCode("Numpad 1"),
                    InteropEmu.GetKeyCode("Numpad 5"),
                    InteropEmu.GetKeyCode("Numpad 3"),
                    InteropEmu.GetKeyCode("Numpad 8"),
                }
            };

            _jissenMahjong = new KeyMappings()
            {
                JissenMahjongButtons = new UInt32[21] {
                    InteropEmu.GetKeyCode("A"),
                    InteropEmu.GetKeyCode("B"),
                    InteropEmu.GetKeyCode("C"),
                    InteropEmu.GetKeyCode("D"),
                    InteropEmu.GetKeyCode("E"),
                    InteropEmu.GetKeyCode("F"),
                    InteropEmu.GetKeyCode("G"),
                    InteropEmu.GetKeyCode("H"),
                    InteropEmu.GetKeyCode("I"),
                    InteropEmu.GetKeyCode("J"),
                    InteropEmu.GetKeyCode("K"),
                    InteropEmu.GetKeyCode("L"),
                    InteropEmu.GetKeyCode("M"),
                    InteropEmu.GetKeyCode("N"),
                    InteropEmu.GetKeyCode("Spacebar"),
                    InteropEmu.GetKeyCode("Enter"),
                    InteropEmu.GetKeyCode("1"),
                    InteropEmu.GetKeyCode("2"),
                    InteropEmu.GetKeyCode("3"),
                    InteropEmu.GetKeyCode("4"),
                    InteropEmu.GetKeyCode("5"),
                }
            };

            _suborKeyboard = new KeyMappings()
            {
                SuborKeyboardButtons = new UInt32[99] {
                    InteropEmu.GetKeyCode("A"), InteropEmu.GetKeyCode("B"), InteropEmu.GetKeyCode("C"), InteropEmu.GetKeyCode("D"),
                    InteropEmu.GetKeyCode("E"), InteropEmu.GetKeyCode("F"), InteropEmu.GetKeyCode("G"), InteropEmu.GetKeyCode("H"),
                    InteropEmu.GetKeyCode("I"), InteropEmu.GetKeyCode("J"), InteropEmu.GetKeyCode("K"), InteropEmu.GetKeyCode("L"),
                    InteropEmu.GetKeyCode("M"), InteropEmu.GetKeyCode("N"), InteropEmu.GetKeyCode("O"), InteropEmu.GetKeyCode("P"),
                    InteropEmu.GetKeyCode("Q"), InteropEmu.GetKeyCode("R"), InteropEmu.GetKeyCode("S"), InteropEmu.GetKeyCode("T"),
                    InteropEmu.GetKeyCode("U"), InteropEmu.GetKeyCode("V"), InteropEmu.GetKeyCode("W"), InteropEmu.GetKeyCode("X"),
                    InteropEmu.GetKeyCode("Y"), InteropEmu.GetKeyCode("Z"), InteropEmu.GetKeyCode("0"), InteropEmu.GetKeyCode("1"),
                    InteropEmu.GetKeyCode("2"), InteropEmu.GetKeyCode("3"), InteropEmu.GetKeyCode("4"), InteropEmu.GetKeyCode("5"),
                    InteropEmu.GetKeyCode("6"), InteropEmu.GetKeyCode("7"), InteropEmu.GetKeyCode("8"), InteropEmu.GetKeyCode("9"),
                    InteropEmu.GetKeyCode("F1"), InteropEmu.GetKeyCode("F2"), InteropEmu.GetKeyCode("F3"), InteropEmu.GetKeyCode("F4"),
                    InteropEmu.GetKeyCode("F5"), InteropEmu.GetKeyCode("F6"), InteropEmu.GetKeyCode("F7"), InteropEmu.GetKeyCode("F8"),
                    InteropEmu.GetKeyCode("F9"), InteropEmu.GetKeyCode("F10"), InteropEmu.GetKeyCode("F11"), InteropEmu.GetKeyCode("F12"),

                    InteropEmu.GetKeyCode("Numpad 0"), InteropEmu.GetKeyCode("Numpad 1"), InteropEmu.GetKeyCode("Numpad 2"), InteropEmu.GetKeyCode("Numpad 3"),
                    InteropEmu.GetKeyCode("Numpad 4"), InteropEmu.GetKeyCode("Numpad 5"), InteropEmu.GetKeyCode("Numpad 6"), InteropEmu.GetKeyCode("Numpad 7"),
                    InteropEmu.GetKeyCode("Numpad 8"), InteropEmu.GetKeyCode("Numpad 9"),

                    InteropEmu.GetKeyCode("Numpad Enter"), InteropEmu.GetKeyCode("Numpad ."),
                    InteropEmu.GetKeyCode("Numpad +"), InteropEmu.GetKeyCode("Numpad *"),
                    InteropEmu.GetKeyCode("Numpad /"), InteropEmu.GetKeyCode("Numpad -"),

                    InteropEmu.GetKeyCode("Num Lock"),

                    InteropEmu.GetKeyCode(","), InteropEmu.GetKeyCode("."), InteropEmu.GetKeyCode(";"), InteropEmu.GetKeyCode("'"),
                    InteropEmu.GetKeyCode("/"), InteropEmu.GetKeyCode("\\"),
                    InteropEmu.GetKeyCode("="), InteropEmu.GetKeyCode("-"), InteropEmu.GetKeyCode("`"),

                    InteropEmu.GetKeyCode("["), InteropEmu.GetKeyCode("]"),

                    InteropEmu.GetKeyCode("Caps Lock"), InteropEmu.GetKeyCode("Pause"),

                    InteropEmu.GetKeyCode("Ctrl"), InteropEmu.GetKeyCode("Shift"), InteropEmu.GetKeyCode("Alt"),

                    InteropEmu.GetKeyCode("Spacebar"), InteropEmu.GetKeyCode("Backspace"), InteropEmu.GetKeyCode("Tab"), InteropEmu.GetKeyCode("Esc"), InteropEmu.GetKeyCode("Enter"),

                    InteropEmu.GetKeyCode("End"), InteropEmu.GetKeyCode("Home"),
                    InteropEmu.GetKeyCode("Insert"), InteropEmu.GetKeyCode("Delete"),

                    InteropEmu.GetKeyCode("Page Up"), InteropEmu.GetKeyCode("Page Down"),

                    InteropEmu.GetKeyCode("Up Arrow"), InteropEmu.GetKeyCode("Down Arrow"), InteropEmu.GetKeyCode("Left Arrow"), InteropEmu.GetKeyCode("Right Arrow"),

                    0, 0, 0
                }
            };

            _virtualBoy = new KeyMappings()
            {
                VirtualBoyButtons = new UInt32[14] {
                    InteropEmu.GetKeyCode("K"),
                    InteropEmu.GetKeyCode("J"),
                    InteropEmu.GetKeyCode("E"),
                    InteropEmu.GetKeyCode("R"),
                    InteropEmu.GetKeyCode("W"),
                    InteropEmu.GetKeyCode("S"),
                    InteropEmu.GetKeyCode("A"),
                    InteropEmu.GetKeyCode("D"),
                    InteropEmu.GetKeyCode("L"),
                    InteropEmu.GetKeyCode("I"),
                    InteropEmu.GetKeyCode("Q"),
                    InteropEmu.GetKeyCode("O"),
                    InteropEmu.GetKeyCode("Y"),
                    InteropEmu.GetKeyCode("U"),
                }
            };
        }