feature: Add dummy mode

This commit is contained in:
Tera << 8 2025-06-27 12:26:54 -04:00
parent f79657afc2
commit 8b482cecd5
Signed by: imterah
GPG key ID: 8FA7DD57BA6CEA37
40 changed files with 323 additions and 141 deletions

Binary file not shown.

View file

@ -0,0 +1,42 @@
//go:build fake_edid_patching
// +build fake_edid_patching
package edidtools
import (
_ "embed"
"fmt"
"github.com/charmbracelet/log"
)
//go:embed bin/xreal-air-edid.bin
var edidFirmware []byte
// Attempts to fetch the EDID firmware for any supported XR glasses device
func FetchXRGlassEDID(allowUnsupportedDevices bool) (*DisplayMetadata, error) {
log.Warn("Not actually fetching EDID firmware in fake patching build -- using embedded firmware")
parsedEDID, err := ParseEDID(edidFirmware, allowUnsupportedDevices)
if err != nil {
return nil, fmt.Errorf("failed to parse embedded EDID firmware: %w", err)
}
parsedEDID.DeviceQuirks.ZVectorDisabled = false
parsedEDID.DeviceQuirks.SensorInitDelay = 0
parsedEDID.DeviceQuirks.UsesMouseMovement = true
return parsedEDID, nil
}
// Loads custom firmware for a supported XR glass device
func LoadCustomEDIDFirmware(displayMetadata *DisplayMetadata, edidFirmware []byte) error {
log.Warn("Not actually patching EDID firmware in fake patching build -- ignoring")
return nil
}
// Unloads custom firmware for a supported XR glass device
func UnloadCustomEDIDFirmware(displayMetadata *DisplayMetadata) error {
log.Warn("Not actually unloading EDID firmware in fake patching build -- ignoring")
return nil
}

View file

@ -1,5 +1,5 @@
//go:build linux
// +build linux
//go:build linux && !fake_edid_patching
// +build linux,!fake_edid_patching
package edidtools

View file

@ -1,5 +1,5 @@
//go:build darwin
// +build darwin
//go:build darwin && !fake_edid_patching
// +build darwin,!fake_edid_patching
package edidtools

View file

@ -1,5 +1,5 @@
//go:build windows
// +build windows
//go:build windows && !fake_edid_patching
// +build windows,!fake_edid_patching
package edidtools

View file

@ -1,11 +1,12 @@
package edidtools
type DisplayQuirks struct {
MaxWidth int
MaxHeight int
MaxRefreshRate int
SensorInitDelay int
ZVectorDisabled bool
MaxWidth int
MaxHeight int
MaxRefreshRate int
SensorInitDelay int
ZVectorDisabled bool
UsesMouseMovement bool
}
type DisplayMetadata struct {