Beispiel #1
0
        private JObject[] ProcessKey(string keyCode)
        {
            if (/*!KeyboardActions.TryGetKey(keyCode[0], out var key) || */ !KeyboardActions.IsSpecial(keyCode))
            {
                return(new[] {
                    new JObject
                    {
                        ["type"] = "keyDown",
                        ["value"] = keyCode
                    },
                    new JObject
                    {
                        ["type"] = "keyUp",
                        ["value"] = keyCode
                    }
                });
            }

            if (_keysHeld.Contains(keyCode))
            {
                _keysHeld.Remove(keyCode);
                return(new[] {
                    new JObject
                    {
                        ["type"] = "keyUp",
                        ["value"] = keyCode
                    }
                });
            }

            _keysHeld.Add(keyCode);

            return(new[] {
                new JObject
                {
                    ["type"] = "keyDown",
                    ["value"] = keyCode
                }
            });
        }