mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
Merge branch 'master' into textfield-position-cursor
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user