1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! SendKeys expression parser — converts `^c`, `%{TAB}`, `ENTER` to VK codes.
use resolve_vk;
/// Parse a SendKeys expression into a sequence of virtual-key codes.
///
/// Supports:
/// - Bare keys: `ENTER`, `TAB`, `ESC`, `BACKSPACE`, etc.
/// - Modifiers: `^` (Ctrl), `%` (Alt), `+` (Shift)
/// - Combinations: `^c`, `+%{TAB}`, `^s`
/// - Special: `{ENTER}`, `{TAB}`, `{ESC}`
///
/// Returns one VK per element; callers must dispatch down/up for modifiers.