示例#1
0
        static NintendoSwitch.Key GetKey(string keyname, string direction = "0")
        {
            int degree;

            if (int.TryParse(direction, out degree))
            {
                if (keyname.Equals("LS", StringComparison.OrdinalIgnoreCase))
                {
                    return(NintendoSwitch.Key.LStick(degree));
                }
                else
                {
                    return(NintendoSwitch.Key.RStick(degree));
                }
            }
            else
            {
                var dk = NSKeys.GetDirection(direction);
                if (dk == NintendoSwitch.DirectionKey.None)
                {
                    return(null);
                }
                if (keyname.Equals("LS", StringComparison.OrdinalIgnoreCase))
                {
                    return(NintendoSwitch.Key.LStick(dk));
                }
                else
                {
                    return(NintendoSwitch.Key.RStick(dk));
                }
            }
        }
示例#2
0
        private static Statement KeyParse(ParserArgument args)
        {
            NintendoSwitch.ECKey key;
            var m = Regex.Match(args.Text, @"^([a-z]+)$", RegexOptions.IgnoreCase);

            if (m.Success && (key = NSKeys.Get(m.Groups[1].Value)) != null)
            {
                return(new KeyPress(key));
            }
            m = Regex.Match(args.Text, $@"^([a-z]+)\s+{Formats.ValueEx}$", RegexOptions.IgnoreCase);
            if (m.Success && (key = NSKeys.Get(m.Groups[1].Value)) != null)
            {
                return(new KeyPress(key, args.Formatter.GetValueEx(m.Groups[2].Value)));
            }
            m = Regex.Match(args.Text, @"^([a-z]+)\s+down$", RegexOptions.IgnoreCase);
            if (m.Success && (key = NSKeys.Get(m.Groups[1].Value)) != null)
            {
                return(new KeyDown(key));
            }
            m = Regex.Match(args.Text, @"^([a-z]+)\s+up$", RegexOptions.IgnoreCase);
            if (m.Success && (key = NSKeys.Get(m.Groups[1].Value)) != null)
            {
                return(new KeyUp(key));
            }
            // stick
            return(StickParse(args));
        }
示例#3
0
 protected override string _GetString(Formatter formatter)
 {
     return(_omitted ? $"{NSKeys.GetName(Key)}" : $"{NSKeys.GetName(Key)} {Duration.GetCodeText(formatter)}");
 }
示例#4
0
 protected override string _GetString(Formatter formatter)
 {
     return($"{NSKeys.GetName(Key)} UP");
 }