Three fixes for KVM port management:
1. HTML unescape scraped values — the > character in hotkey strings
(e.g., PrintScreen>0>1) gets entity-encoded to > in the device's
HTML. Added html_unescape() to the scraper so hotkeys round-trip
correctly.
2. Send hotkeys over WebSocket — port switching via the Belkin web form
only changes the active port number, it doesn't send the hotkey
sequence to the downstream KVM. Now when switching ports from the
console dropdown, blekin parses the Belkin hotkey syntax and sends
the key press/release sequence over the existing WebSocket connection.
3. New hotkey.ts parser — converts Belkin hotkey syntax to scancode
sequences:
- > and -> = sequential (tap each key)
- + = simultaneous (hold all, release in reverse)
- Supports all key names: PrintScreen, Ctrl, Alt, Shift, F1-F12,
letters, digits, navigation keys, numpad
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>