USB キーボードのキーボード LED を設定しようとしています。私はすでに次のことを試しました/知っています:
PS/2 キーボード LED を設定するには、CreateFile("\\.\Keybd", GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); を使用できます。DeviceIoControl(hKeybd, IOCTL_KEYBOARD_SET_INDICATORS...
真の HID 準拠キーボードの LED を設定するには、DirectInput、SendDeviceData を使用方法ページ 8 で使用できます。
SendInput / keybd_event を使用できます。しかし、これは状態も変更します。したがって、ユーザーが入力中にこの方法でCAPS LOCKを変更すると、大文字と小文字が取得されます:-)
方法 2 を 2 つのキーボードで調査したところ、SendDeviceData 関数は常に E_NOTIMPL を返しました。多くの USB キーボード メーカーは、組み込みの HID ドライバーに依存しているようです。この場合、HID ドライバーは、キーボードが PC 拡張キーボードであると報告し、それが「エミュレーション」であると報告します。ただし、Windows HID エミュレーションは SendDeviceData をサポートしていません。
したがって、キーボードの LED を設定する別の方法があるに違いないと思います。LEDを設定するには、WindowsがUSBキーボードと通信している必要があります:-)
キーボードの状態を変更せずにキーボードの LED を変更する方法はありますか?