Come accendere la luce del Caps Lock
Dipende da chi sei tu.
Se sei un normale utente umano, premi il tasto Caps Lock e la luce del Caps Lock si accende.
Se sei un programmatore di applicazioni, non è più possibile.
Era possibile aprire la tastiera come un dispositivo usando le API HID, e inviare un 1 (per ON) o uno 0 (per OFF) alla pagina di utilizzo del LED (UP:0x08) Caps Lock Usage (U:0x02).
La maggior parte dei sistemi operativi ha correttamente riconosciuto che è un grande buco di sicurezza permettere ai normali programmi applicativi di avere accesso al dispositivo Tastiera (questo è il modo in cui si potrebbe sviluppare una "App Keylogger" per rubare le password utente digitate quando si fa il login).
Quindi ora se si cerca di aprire il dispositivo Tastiera, si ottiene un errore "Permission Denied" dal sistema operativo.
Ora bisogna essere dentro lo spazio kernel (cioè, un programmatore di Device Driver) per farlo.
Se il tuo obiettivo in tutto questo è avere un modo per la tua App di accendere un LED per mostrare lo stato o attirare l'attenzione dell'utente, dovrai usare un LED diverso da quelli integrati nella tastiera.
Il che significa che dovrai trovare/comprare o progettare/costruire/programmare il tuo dispositivo LED USB esterno che abbia un'identificazione HID non riservata. Per esempio le pagine d'uso HID 0xFF00-0xFFFF sono messe da parte per i dispositivi USB HID non standard "Vendor Defined" (questo è documentato nella specifica HID Usage Tables v1.12 su www.usb.org, a pagina 15).
Si potrebbe costruire il proprio dispositivo con (per esempio) UP:0xFF36,U:0x0001 (dove i numeri 36 e 1 sono stati scelti più o meno a caso) come ID, e poi scrivere un'applicazione che usi le API HID per aprirlo e leggerlo/scriverlo.
Questo non è un compito semplice, in quanto la comprensione dell'HID è una ripida curva di apprendimento, e sviluppare il proprio firmware per dispositivi USB HID è una grande impresa.
Se state cercando di comprare qualcosa di veloce ed economico, vi consiglio di andare sul sito web Adafruit (www dot adafruit dot com) e ordinare il loro "Adafruit Neo Trinkey" con ID prodotto 4870. Ha 4 LED su di esso ed è programmabile.
Un altro approccio sarebbe quello di acquistare una luce di rete (come Philips Hue) e poi accenderla o spegnerla attraverso la vostra rete WiFi. Ci sono molti esempi di codice su GitHub, specialmente in Python, per controllarle.