Zum Hauptinhalt springen

Sunday-Projects – HDR Button

· 3 Minuten Lesezeit

'Sunday Projects' sind die kleinen, technischen Projekte und Spielereien mit denen ich in unregelmäßigen Abständen meine Zeit verbringe.

An diesem Sonntag zeige ich euch einen kleinen physischen Button, den ich nutze, um die HDR-Einstellung meines Windows 11 an- und auszuschalten.

Idee

Seitdem ich meinen Desktopmonitor mit einem modernen OLED-Screen ausgetauscht habe, bin ich, um alle Vorteile genießen zu können, leider gezwungen HDR in Windows semi-regelmäßig aktivieren und deaktivieren zu müssen.

Klar, das geht recht einfach über die Tastenkombination WIN + ALT + B. Aber wäre es nicht viel cooler, wenn es dafür einen dedizierten Button geben würde? Und wäre es nicht noch cooler, wenn sich dieser auch noch angenehm drücken lassen würde – inklusive sattem Geräusch?

Umsetzung

Wie praktisch, dass ich noch einen Puck hier herumliegen habe!

Ich wollte damit eigentlich immer ein sophisticated Projekt umsetzen, aber man kennt’s ja – keine Zeit und die Doku ist scheiße :S

Das Ding kostet knapp 30 Euro (ja, für dieses Sonntagsprojekt und dessen Usecase komplett bescheuert). Wird als kleine runde Platine inkl. CR2032-Batterie, Gehäuse und Silikonhülle geliefert.

Batterie rein, Platine in’s Gehäuse, Silikonhülle darüber, fertig!

Sourcecode

Nachfolgend der Code, den ich auf den Puck geladen habe. Da ich keine Ahnung von Hardware, bzw. Bluetoothgeräte-Programmierung habe, musste ich mir das meiste dieses kurzen Scriptes zusammen-googeln, sowie über das Espruino-Forum erfragen.

Der Puck kann bequem über die Browser-IDE bespielt werden. Am einfachsten ist es, wenn man dafür Chrome nutzt und den Puck direkt über Bluetooth damit verbindet.

// http://www.espruino.com/BLE+Keyboard
var kb = require("ble_hid_keyboard");
NRF.setServices(undefined, { hid: kb.report });

// https://forum.espruino.com/conversations/390668/#comment17145677
NRF.setAdvertising([
2, 1, 6, // standard Bluetooth
8, 9, 80, 117, 99, 107, 46, 106, 115, // 'Puck.js' name
3, 3, 0x12, 0x18, // HID Service
3, 0x19, 0xc1, 0x03 // Appearance: Keyboard https://btprodspecificationrefs.blob.core.windows.net/assigned-numbers/Assigned%20Number%20Types/Assigned_Numbers.pdf
]);

function btnPressed() {
kb.tap(kb.KEY.B, kb.MODIFY.LEFT_GUI | kb.MODIFY.LEFT_ALT);
}
setWatch(btnPressed, BTN, { edge: "rising", repeat: true, debounce: 50 });

Nach erfolgreicher Verbindung lässt sich der Code einfach per Klick auf Save to Flash in den Speicher des Pucks laden. Daraufhin die Verbindung zu Chrome trennen und den Puck regulär über Bluetooth mit Windows 11 verbinden – diese Verbindung wird bei jedem Systemstart erneut hergestellt.

Per Druck auf den Puck – der in sich quasi ein Button ist – schaltet Windows nun HDR an und bei einem erneuten Druck wieder aus.

Cool, praktisch, haptisch angenehm und selbstverständlich komplett unnötig. 😉

Ich danke euch fürs Lesen!

Bis bald. Luca