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 } }); }