diff --git a/AStar.fsx b/AStar.fsx index d343798..0fb8848 100644 --- a/AStar.fsx +++ b/AStar.fsx @@ -3407,8 +3407,12 @@ if (!eventdata) { repaintall(); } } - OnKeyUp#define VK_RETURN 13 -if (lastkeydown() == VK_RETURN) { + OnKeyUp#define VK_RETURN 0x0D +#define VK_TAB 0x09 + +if (lastkeydown() == VK_RETURN || + lastkeydown() == VK_TAB || + directionkeypressed()) { applylinks(c); } OnClickif (clickcode() == LEFT_RELEASE) { @@ -3436,6 +3440,7 @@ if (lastkeydown() == VK_RETURN) { OnFocusif (!objectexists(i) || i != c) applylinks(c, 1); + OnKillFocusapplylinks(c); OnMouseWheeltreenode TheTable = ownerobject(c); double vert_nMin = scrollinfo(TheTable,0,1,1); @@ -6281,8 +6286,12 @@ if (!eventdata) { repaintall(); } } - OnKeyUp#define VK_RETURN 13 -if (lastkeydown() == VK_RETURN) { + OnKeyUp#define VK_RETURN 0x0D +#define VK_TAB 0x09 + +if (lastkeydown() == VK_RETURN || + lastkeydown() == VK_TAB || + directionkeypressed()) { applylinks(c); } OnClickif (clickcode() == LEFT_RELEASE) { @@ -6310,6 +6319,7 @@ if (lastkeydown() == VK_RETURN) { OnFocusif (!objectexists(i) || i != c) applylinks(c, 1); + OnKillFocusapplylinks(c); OnMouseWheeltreenode TheTable = ownerobject(c); double vert_nMin = scrollinfo(TheTable,0,1,1);