Merge branch 'master' into textfield-position-cursor

This commit is contained in:
BDisp
2020-05-21 23:19:56 +01:00
committed by GitHub
3 changed files with 15 additions and 16 deletions

View File

@@ -360,7 +360,7 @@ namespace Terminal.Gui {
public override bool ProcessHotKey (KeyEvent keyEvent)
{
// To ncurses simulate a AltMask key pressing Alt+Space because
// it can<61>t detect an alone special key down was pressed.
// it can<61>t detect an alone special key down was pressed.
if (keyEvent.IsAlt && keyEvent.Key == Key.AltMask) {
OnKeyDown (keyEvent);
return true;
@@ -562,6 +562,8 @@ namespace Terminal.Gui {
}
bool openedByAltKey;
///<inheritdoc cref="OnKeyDown"/>
public override bool OnKeyDown (KeyEvent keyEvent)
{
if (keyEvent.IsAlt) {
@@ -572,12 +574,7 @@ namespace Terminal.Gui {
return false;
}
/// <summary>
/// Track Alt key-up events. On Windows, when a user releases Alt (without another key), the menu gets focus but doesn't open.
/// We mimic that behavior here.
/// </summary>
/// <param name="keyEvent"></param>
/// <returns></returns>
///<inheritdoc cref="OnKeyUp"/>
public override bool OnKeyUp (KeyEvent keyEvent)
{
if (keyEvent.IsAlt) {
@@ -999,7 +996,7 @@ namespace Terminal.Gui {
}
// To ncurses simulate a AltMask key pressing Alt+Space because
// it can<61>t detect an alone special key down was pressed.
// it can<61>t detect an alone special key down was pressed.
if (kb.IsAlt && kb.Key == Key.AltMask && openMenu == null) {
OnKeyDown (kb);
OnKeyUp (kb);

View File

@@ -148,7 +148,9 @@ namespace UICatalog {
}
_top = Application.Top;
_top.OnKeyUp += KeyUpHandler;
_top.KeyUp += KeyUpHandler;
_top.Add (_menu);
_top.Add (_leftPane);
_top.Add (_rightPane);
@@ -235,7 +237,7 @@ namespace UICatalog {
/// to not be impacted. Same as for tabs.
/// </summary>
/// <param name="ke"></param>
private static void KeyUpHandler (KeyEvent ke)
private static void KeyUpHandler (object sender, View.KeyEventEventArgs a)
{
if (_runningScenario != null) {
//switch (ke.Key) {
@@ -245,7 +247,7 @@ namespace UICatalog {
//case Key.Enter:
// break;
//}
} else if (ke.Key == Key.Tab || ke.Key == Key.BackTab) {
} else if (a.KeyEvent.Key == Key.Tab || a.KeyEvent.Key == Key.BackTab) {
// BUGBUG: Work around Issue #434 by implementing our own TAB navigation
if (_top.MostFocused == _categoryListView)
_top.SetFocus (_rightPane);

View File

@@ -43,8 +43,8 @@ namespace UICatalog {
public override bool ProcessColdKey (KeyEvent keyEvent)
{
_processColdKeyList.Add (keyEvent.ToString ());
return base.ProcessHotKey (keyEvent);
return base.ProcessColdKey (keyEvent);
}
}
@@ -92,7 +92,7 @@ namespace UICatalog {
};
Win.Add (labelKeypress);
Win.OnKeyPress += (KeyEvent keyEvent) => labelKeypress.Text = keyEvent.ToString ();
Win.KeyPress += (sender, a) => labelKeypress.Text = a.KeyEvent.ToString ();
// Key stroke log:
var keyLogLabel = new Label ("Key stroke log:") {
@@ -119,9 +119,9 @@ namespace UICatalog {
keyStrokeListView.MoveDown ();
}
Win.OnKeyDown += (KeyEvent keyEvent) => KeyDownPressUp (keyEvent, "Down");
Win.OnKeyPress += (KeyEvent keyEvent) => KeyDownPressUp (keyEvent, "Press");
Win.OnKeyUp += (KeyEvent keyEvent) => KeyDownPressUp (keyEvent, "Up");
Win.KeyDown += (sender, a) => KeyDownPressUp (a.KeyEvent, "Down");
Win.KeyPress += (sender, a) => KeyDownPressUp (a.KeyEvent, "Press");
Win.KeyUp += (sender, a) => KeyDownPressUp (a.KeyEvent, "Up");
// ProcessKey log:
// BUGBUG: Label is not positioning right with Pos, so using TextField instead