Skip to content

v0.4.6 — macOS preview

Pre-release
Pre-release

Choose a tag to compare

@spilloid spilloid released this 07 Oct 12:24
59528e7

kvm-it 0.4.6: macOS preview. Desktop and CI only; no firmware or protocol change, so adapters on firmware 0.2.0 need nothing.

What's new

  • macOS as the controller (preview, Apple silicon).
    • Capture cards work through AVFoundation; the first open asks for camera permission.
    • The adapter is reached over CoreBluetooth, and macOS pairs it on first use, possibly with its own prompt.
    • A Quartz keyboard grab sends Cmd+Tab, Cmd+Space and Cmd+Q to the target. It needs the Accessibility permission. Ctrl+Option+Esc releases it.
    • The flasher and recording also work on macOS, and recording can take sound from an AVFoundation input.
  • CI parity. Each release now gets a Linux AppImage and a macOS .dmg built and smoke-tested in CI, beside the signed Windows assets.
  • scripts/bootstrap.sh checks a new dev machine and builds the build container.
  • All platforms: while a capture card is opening, the window keeps checking, so the first picture, or the reason it failed, shows without moving the mouse.

⚠️ Read before using the macOS build

kvm-it-0.4.6-macos-arm64-preview.dmg is built and CI-tested only. It compiles, its tests pass, and it packages and starts on a cloud Apple-silicon Mac. Nobody has run it with an adapter, a capture card or a real keyboard. Expect rough edges and please report them.

  • Not notarized (ad-hoc signed only). The first time you open it, macOS blocks it. Allow it in System Settings → Privacy & Security → Open Anyway.
  • Permissions. macOS asks for Bluetooth and Camera permission, and Microphone permission only if you record with sound. Keyboard capture needs Accessibility: add kvm-it in System Settings → Privacy & Security → Accessibility. Without it, the app says so once and captures keys in the window only.
  • Adapter ids differ. macOS never exposes Bluetooth addresses, so a saved adapter on a Mac is identified by an id that macOS assigns.
  • Known gap: on ISO Apple keyboards, the key left of 1 and the key left of Z are swapped, because the key table follows the ANSI layout.

Review and test status

  • Adversarial review: three rounds on the macOS code with a second model (astra). Rounds 21 and 22 found 11 issues, all fixed; round 23 signed off. Details are in docs/dev-process.md.
  • Windows: the executables and MSI are built, signed and checked by CI.
  • Linux: the AppImage is built and smoke-tested in CI. It is not code-signed; verify it with its checksum.
  • Hardware: nothing new in this release was hardware-verified. The open "Needs hardware" issues (#31–#34) still apply to 0.4.1–0.4.5.