From 72511add3b3c9445d324b6297b7594be5d50ec02 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Fri, 23 Oct 2020 11:10:49 +1000 Subject: [PATCH] Add ctor to KeyEvent and make readonly struct --- src/BizHawk.Bizware.DirectX/IPCKeyInput.cs | 2 +- src/BizHawk.Bizware.DirectX/Keyboard.cs | 4 ++-- src/BizHawk.Client.Common/input/KeyEvent.cs | 12 +++++++++--- src/BizHawk.Client.EmuHawk/Input/OTK_Keyboard.cs | 4 ++-- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/BizHawk.Bizware.DirectX/IPCKeyInput.cs b/src/BizHawk.Bizware.DirectX/IPCKeyInput.cs index cfede3c0c1..995c257f3d 100644 --- a/src/BizHawk.Bizware.DirectX/IPCKeyInput.cs +++ b/src/BizHawk.Bizware.DirectX/IPCKeyInput.cs @@ -41,7 +41,7 @@ namespace BizHawk.Bizware.DirectX int e = br.ReadInt32(); bool pressed = (e & 0x80000000) != 0; lock (PendingEventList) - PendingEventList.Add(new KeyEvent { Key = KeyInput.KeyEnumMap[(Key)(e & 0x7FFFFFFF)], Pressed = pressed }); + PendingEventList.Add(new KeyEvent(KeyInput.KeyEnumMap[(Key) (e & 0x7FFFFFFF)], pressed)); } } catch { } diff --git a/src/BizHawk.Bizware.DirectX/Keyboard.cs b/src/BizHawk.Bizware.DirectX/Keyboard.cs index c01d11e98d..a5a8950d57 100644 --- a/src/BizHawk.Bizware.DirectX/Keyboard.cs +++ b/src/BizHawk.Bizware.DirectX/Keyboard.cs @@ -66,8 +66,8 @@ namespace BizHawk.Bizware.DirectX foreach (var e in events) { - foreach (var k in e.PressedKeys) eventList.Add(new KeyEvent { Key = Mapped(k), Pressed = true }); - foreach (var k in e.ReleasedKeys) eventList.Add(new KeyEvent { Key = Mapped(k), Pressed = false }); + foreach (var k in e.PressedKeys) eventList.Add(new KeyEvent(Mapped(k), pressed: true)); + foreach (var k in e.ReleasedKeys) eventList.Add(new KeyEvent(Mapped(k), pressed: false)); } } } diff --git a/src/BizHawk.Client.Common/input/KeyEvent.cs b/src/BizHawk.Client.Common/input/KeyEvent.cs index 84ef594322..1b5150c027 100644 --- a/src/BizHawk.Client.Common/input/KeyEvent.cs +++ b/src/BizHawk.Client.Common/input/KeyEvent.cs @@ -4,10 +4,16 @@ using OpenTK.Input; namespace BizHawk.Client.Common { - public struct KeyEvent + public readonly struct KeyEvent { - public Key Key; + public readonly Key Key; - public bool Pressed; + public readonly bool Pressed; + + public KeyEvent(Key key, bool pressed) + { + Key = key; + Pressed = pressed; + } } } diff --git a/src/BizHawk.Client.EmuHawk/Input/OTK_Keyboard.cs b/src/BizHawk.Client.EmuHawk/Input/OTK_Keyboard.cs index 76a2201df0..5e100fed3e 100644 --- a/src/BizHawk.Client.EmuHawk/Input/OTK_Keyboard.cs +++ b/src/BizHawk.Client.EmuHawk/Input/OTK_Keyboard.cs @@ -46,9 +46,9 @@ namespace BizHawk.Client.EmuHawk foreach (var key in KeyList) { if (lastState.IsKeyUp(key) && _kbState.IsKeyDown(key)) - EventList.Add(new KeyEvent { Key = key, Pressed = true }); + EventList.Add(new KeyEvent(key, pressed: true)); else if (lastState.IsKeyDown(key) && _kbState.IsKeyUp(key)) - EventList.Add(new KeyEvent { Key = key, Pressed = false }); + EventList.Add(new KeyEvent(key, pressed: false)); } } catch