HALRAD Research

ScreenCompass

A lightweight Windows utility for controlling screen orientation

~500KB
Executable Size
0
Dependencies
Win10+
Platform

About

ScreenCompass is a native Windows utility designed for tablets and convertible devices. It provides intuitive screen rotation controls through a system tray icon, global hotkeys, and optional automatic rotation via the device's orientation sensor.

Why C++? The original C# implementations were abandoned due to deployment size (WinUI 3: 205MB, WPF: 24MB). The native C++ version produces a single ~500KB executable with no runtime dependencies โ€” just copy and run.

Features

Double-tap to Rotate

Double-click or double-tap the window to rotate the screen 90ยฐ clockwise.

Global Hotkeys

Ctrl+Alt+Arrow keys for instant rotation โ€” NVIDIA/Intel style shortcuts.

Multi-Monitor Support

Hotkeys rotate whichever monitor the cursor is currently on.

Sensor Auto-Rotate

Automatically rotates based on device orientation when unlocked.

System Tray Integration

Runs quietly in the tray. Click to toggle lock. Close minimizes to tray.

Single Executable

All resources embedded. No installation, no dependencies, no runtime.

Hotkeys

Hotkey Action
Ctrl+Alt+Up Normal orientation (0ยฐ)
Ctrl+Alt+Down Upside-down (180ยฐ)
Ctrl+Alt+Left Portrait โ€” top at left (90ยฐ)
Ctrl+Alt+Right Portrait โ€” top at right (270ยฐ)

Note: These hotkeys may conflict with GPU drivers (NVIDIA, Intel, AMD) that register the same shortcuts. ScreenCompass logs a warning if registration fails.

Usage

Command Line

ScreenCompass.exe [-m]

-m or /m โ€” Start minimized to system tray

System Tray

Main Window

Building

Requires Visual Studio 2022 with C++ workload and Windows SDK.

# Clone the repository git clone https://github.com/halrad-com/sensord.git cd sensord/ScreenCompass/CPP # Build .\build.ps1

Debugging

ScreenCompass outputs diagnostic messages via OutputDebugString. View with:

Messages are prefixed with [ScreenCompass] and tagged by level: INFO, WARN, ERROR, DEBUG.

Requirements

License

MIT License โ€” see LICENSE on GitHub.