From 3420f0bc5e7d5cc29619a535fcb47ebb4e6b816f Mon Sep 17 00:00:00 2001 From: zeromus Date: Sat, 27 Aug 2011 01:15:57 +0000 Subject: [PATCH] see if this input code is any faster --- BizHawk.MultiClient/Input/Input.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/BizHawk.MultiClient/Input/Input.cs b/BizHawk.MultiClient/Input/Input.cs index c5f8ac7715..5a695bd377 100644 --- a/BizHawk.MultiClient/Input/Input.cs +++ b/BizHawk.MultiClient/Input/Input.cs @@ -201,8 +201,23 @@ namespace BizHawk.MultiClient _NewEvents.Clear(); //analyze keys - foreach (var key in KeyInput.State.PressedKeys) HandleButton(key.ToString(), true); - foreach (var key in KeyInput.State.ReleasedKeys) HandleButton(key.ToString(), false); + var bleh = new HashSet(); + foreach(var k in KeyInput.State.PressedKeys) + bleh.Add(k.ToString()); + var unpress = new List(); + foreach (var kvp in LastState) + { + if (!kvp.Value) continue; + if (!bleh.Contains(kvp.Key)) + unpress.Add(kvp.Key); + } + + foreach(var k in unpress) + HandleButton(k, false); + + foreach (var k in KeyInput.State.PressedKeys) + HandleButton(k.ToString(), true); + //analyze joysticks for (int i = 0; i < GamePad.Devices.Count; i++)