Skip to content

feat: Add login helper#121

Open
MichaelRyom wants to merge 2 commits intosipeed:mainfrom
MichaelRyom:upstream/feat-login-helper
Open

feat: Add login helper#121
MichaelRyom wants to merge 2 commits intosipeed:mainfrom
MichaelRyom:upstream/feat-login-helper

Conversation

@MichaelRyom
Copy link

Adds a password-manager-friendly login form that types username and password
to the remote machine via HID keyboard emulation.

  • Renders a form with standard username/password fields that work with
    browser password managers and autofill
  • Uses modifier-first key sequencing for compatibility with Windows login
    screens (Ctrl+Alt+Del sent before credentials)
  • Added as an entry in the Keyboard submenu

Files:

  • browser/src/components/menu/keyboard/login-helper.tsx (new)
  • browser/src/components/menu/keyboard/index.tsx (modified)

Depends on # (keyboard layouts).
https://github.com/MichaelRyom/NanoKVM-USB/tree/upstream/feat-keyboard-layouts

Replace ASCII-only CharCodes paste with layout-aware system supporting
76 keyboard layouts (US, UK, German, French, Nordic, Cyrillic, Arabic,
Greek, Hebrew, Georgian, Armenian, Thai, Vietnamese, and more).

Changes:
- Add layouts.generated.ts with 76 XKB-derived layout maps
- Add layouts.ts with browser Keyboard API auto-detection and
  event-based learning of character mappings
- Replace CharCodes-based paste with layout-aware pasteText()
  using modifier-first key sequence for Windows compatibility
- Add targetKeyboardLayout and pasteSpeed storage/atoms for
  future settings UI
- Add learnFromKeyEvent() to keyboard handler to improve
  auto-detection accuracy over time
Password-manager-friendly form that types username, password, and
optional domain to the remote machine via HID keystrokes. Uses
modifier-first key sequencing for Windows login screen compatibility.

Features:
- Tab key between username and password fields
- Optional domain field with backslash separator
- Show/hide password toggle
- Uses layout-aware paste system for correct character mapping

Depends on: feat-keyboard-layouts branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant