Smoke 2차 first E2E success + hotkey named key fix (#13)

- UiaPlayerHost.Hotkey now recognizes enter/tab/esc/space/arrows/F1-F9
- Live run generated an actual Box geometry in EG-BIM Modeler (milestone)
- Gap F/G/H documented for follow-up (issue #13)
- PROGRESS: first E2E success row

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-08 17:40:05 +09:00
parent 2428827df6
commit 7db9cd08e1
3 changed files with 88 additions and 0 deletions

View File

@@ -90,11 +90,33 @@ public sealed class UiaPlayerHost : IPlayerHost, IDisposable
case "ctrl": modifiers.Add(VirtualKeyShort.CONTROL); break;
case "shift": modifiers.Add(VirtualKeyShort.SHIFT); break;
case "alt": modifiers.Add(VirtualKeyShort.ALT); break;
case "win": modifiers.Add(VirtualKeyShort.LWIN); break;
case "enter": main = VirtualKeyShort.RETURN; break;
case "return": main = VirtualKeyShort.RETURN; break;
case "tab": main = VirtualKeyShort.TAB; break;
case "escape": main = VirtualKeyShort.ESCAPE; break;
case "esc": main = VirtualKeyShort.ESCAPE; break;
case "space": main = VirtualKeyShort.SPACE; break;
case "backspace": main = VirtualKeyShort.BACK; break;
case "delete": main = VirtualKeyShort.DELETE; break;
case "del": main = VirtualKeyShort.DELETE; break;
case "home": main = VirtualKeyShort.HOME; break;
case "end": main = VirtualKeyShort.END; break;
case "pageup": main = VirtualKeyShort.PRIOR; break;
case "pagedown": main = VirtualKeyShort.NEXT; break;
case "up": main = VirtualKeyShort.UP; break;
case "down": main = VirtualKeyShort.DOWN; break;
case "left": main = VirtualKeyShort.LEFT; break;
case "right": main = VirtualKeyShort.RIGHT; break;
default:
if (p.Length == 1)
{
main = (VirtualKeyShort)char.ToUpperInvariant(p[0]);
}
else if (p.Length == 2 && p[0] == 'f' && char.IsDigit(p[1]))
{
main = (VirtualKeyShort)(0x70 + (p[1] - '0') - 1); // F1..F9
}
break;
}
}