[MonoDevelop] Two shortcut key bugs in Mono.TextEditor
Matt Guo
matt at mattguo.com
Sun Mar 21 06:11:37 EDT 2010
BTW, I don't know why MD itself doesn't have such bugs.
On Sun, Mar 21, 2010 at 5:39 PM, Matt Guo <matt at mattguo.com> wrote:
> [Bug 1]
> Mono.TextEditor can't call "Redo" by "Ctrl + Shift + z".
>
> [To fix it]
> in SImpleEditMode.cs, Change this line (around Ln 251):
>
> keyBindings.Add (GetKeyCode (Gdk.Key.z, Gdk.ModifierType.ControlMask |
> Gdk.ModifierType.ShiftMask), MiscActions.Redo);
> ->
> keyBindings.Add (GetKeyCode (Gdk.Key.Z, Gdk.ModifierType.ControlMask |
> Gdk.ModifierType.ShiftMask), MiscActions.Redo);
>
> i.e. make the "z" uppercase.
>
> [Bug 2]
> Mono.TextEditor can't call most shortcut key when CapsLock is on (iff
> the shortcut key contains any alphabet).
> E.g. when CapsLock is on, pressing "Ctrl + z" won't call "undo", since
> in SimpleEditMode, the expected key code is GetKeyCode (Gdk.Key.z,
> Gdk.ModifierType.ControlMask), while the input keyCode is
> GetKeyCode (Gdk.Key.Z, Gdk.ModifierType.ControlMask).
>
> [To fix it]
> So IMO, a more general solution to fix Bug 1 and 2 could be:
> Make a KeyCombination class:
> class KeyCombination {
> Gdk.Key Key { get; set; }
> Gdk.ModifierType Modifier { get; set; }
> override Equals (... //Ignore the case of Key here.
> }
>
> and Make KeyCombination the key type of the KeyBindings dictionary in
> SimpleEditMode.
>
> --
> B.R.
> GUO Rui (Matt)
>
--
B.R.
GUO Rui (Matt)
More information about the Monodevelop-list
mailing list