public static GamePadCapabilitiesEx GetCapabilities(PlayerIndex playerIndex)
        {
            GamePadCapabilitiesEx?result = null;

            if (IsKeyboardPlayerIndex(playerIndex))
            {
                result = new GamePadCapabilitiesEx(GamePadEx.KeyMappings);
            }
            else
            {
                try {
                    result = new GamePadCapabilitiesEx(GamePad.GetCapabilities(playerIndex));
                } catch { }
            }

            return(result.HasValue ? result.Value : new GamePadCapabilitiesEx());
        }
        public static GamePadCapabilitiesEx GetCapabilities(PlayerIndex playerIndex)
        {
            GamePadCapabilitiesEx? result = null;

            if (IsKeyboardPlayerIndex (playerIndex)) {
                result = new GamePadCapabilitiesEx (GamePadEx.KeyMappings);
            } else {
                try {
                    result = new GamePadCapabilitiesEx(GamePad.GetCapabilities(playerIndex));
                } catch { }
            }

            return result.HasValue ? result.Value : new GamePadCapabilitiesEx ();
        }