From 01b5c44d5c4b0a355c47ded041d3e42979cd96bb Mon Sep 17 00:00:00 2001 From: zeromus Date: Fri, 31 Jan 2014 04:26:39 +0000 Subject: [PATCH] refine hex editor keyboard handling a bit --- .../tools/HexEditor/HexEditor.Designer.cs | 2 +- .../tools/HexEditor/HexEditor.cs | 36 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs b/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs index e4debd9c65..14091650d2 100644 --- a/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs +++ b/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs @@ -613,7 +613,7 @@ this.Load += new System.EventHandler(this.HexEditor_Load); this.ResizeEnd += new System.EventHandler(this.HexEditor_ResizeEnd); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.HexEditor_KeyDown); - this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.HexEditor_KeyUp); + this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.HexEditor_KeyPress); this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.HexEditor_MouseWheel); this.Resize += new System.EventHandler(this.HexEditor_Resize); this.HexMenuStrip.ResumeLayout(false); diff --git a/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs b/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs index 8a71b51540..0b154d92c4 100644 --- a/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs +++ b/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs @@ -347,7 +347,7 @@ namespace BizHawk.Client.EmuHawk } // Winform key events suck at the numberpad, so this is necessary - private static char ForceCorrectKeyString(Keys keycode) + private static char ForceCorrectKeyString(char keycode) { if ((int)keycode >= 96 && (int)keycode <= 106) { @@ -1720,15 +1720,15 @@ namespace BizHawk.Client.EmuHawk } } - private void HexEditor_KeyUp(object sender, KeyEventArgs e) + private void HexEditor_KeyPress(object sender, KeyPressEventArgs e) { - if (!IsHexKeyCode((char)e.KeyCode)) + if (!IsHexKeyCode(e.KeyChar)) { e.Handled = true; return; } - if (e.Control || e.Shift || e.Alt) + if ((Control.ModifierKeys & (Keys.Control | Keys.Shift | Keys.Alt)) != 0) { return; } @@ -1739,11 +1739,11 @@ namespace BizHawk.Client.EmuHawk case 1: if (_nibbles[0] == 'G') { - _nibbles[0] = ForceCorrectKeyString(e.KeyCode); + _nibbles[0] = ForceCorrectKeyString(e.KeyChar); } else { - var temp = _nibbles[0].ToString() + ForceCorrectKeyString(e.KeyCode); + var temp = _nibbles[0].ToString() + ForceCorrectKeyString(e.KeyChar); var x = byte.Parse(temp, NumberStyles.HexNumber); _domain.PokeByte(_addressHighlighted, x); ClearNibbles(); @@ -1755,22 +1755,22 @@ namespace BizHawk.Client.EmuHawk case 2: if (_nibbles[0] == 'G') { - _nibbles[0] = ForceCorrectKeyString(e.KeyCode); + _nibbles[0] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[1] == 'G') { - _nibbles[1] = ForceCorrectKeyString(e.KeyCode); + _nibbles[1] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[2] == 'G') { - _nibbles[2] = ForceCorrectKeyString(e.KeyCode); + _nibbles[2] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[3] == 'G') { var temp = _nibbles[0].ToString() + _nibbles[1]; var x1 = byte.Parse(temp, NumberStyles.HexNumber); - var temp2 = _nibbles[2].ToString() + ((char)e.KeyCode); + var temp2 = _nibbles[2].ToString() + ((char)e.KeyChar); var x2 = byte.Parse(temp2, NumberStyles.HexNumber); PokeWord(_addressHighlighted, x1, x2); @@ -1783,31 +1783,31 @@ namespace BizHawk.Client.EmuHawk case 4: if (_nibbles[0] == 'G') { - _nibbles[0] = ForceCorrectKeyString(e.KeyCode); + _nibbles[0] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[1] == 'G') { - _nibbles[1] = ForceCorrectKeyString(e.KeyCode); + _nibbles[1] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[2] == 'G') { - _nibbles[2] = ForceCorrectKeyString(e.KeyCode); + _nibbles[2] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[3] == 'G') { - _nibbles[3] = ForceCorrectKeyString(e.KeyCode); + _nibbles[3] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[4] == 'G') { - _nibbles[4] = ForceCorrectKeyString(e.KeyCode); + _nibbles[4] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[5] == 'G') { - _nibbles[5] = ForceCorrectKeyString(e.KeyCode); + _nibbles[5] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[6] == 'G') { - _nibbles[6] = ForceCorrectKeyString(e.KeyCode); + _nibbles[6] = ForceCorrectKeyString(e.KeyChar); } else if (_nibbles[7] == 'G') { @@ -1820,7 +1820,7 @@ namespace BizHawk.Client.EmuHawk var temp3 = _nibbles[4].ToString() + _nibbles[5]; var x3 = byte.Parse(temp3, NumberStyles.HexNumber); - var temp4 = _nibbles[6].ToString() + ForceCorrectKeyString(e.KeyCode); + var temp4 = _nibbles[6].ToString() + ForceCorrectKeyString(e.KeyChar); var x4 = byte.Parse(temp4, NumberStyles.HexNumber); PokeWord(_addressHighlighted, x1, x2);