Skip to content

get_last_received_report() always return None when use a USB HUB #10373

Open
@meng89

Description

@meng89

CircuitPython version and board name

CircuitPython 9.2.7, rpi pico rp2040

Code/REPL

class RGBLockStatus(LockStatus):
    def set_lock_leds(self):
        if self.get_caps_lock():
            print("Never print this when use a USB HUB")

    def after_hid_send(self, sandbox):
        super().after_hid_send(sandbox)
        print("always None when use a USB HUB: ", self.hid.get_last_received_report())
        if self.report_updated:
            self.set_lock_leds()

Behavior

pass

Description

No response

Additional information

I use KMK as the firmware for the keyboard I made, but when I use a USB HUB, the Caps Lock light will not synchronize with other keyboards. The other two manufacturers' keyboards I tested can synchronize the Caps Lock light when using USB HUB. I read the definition of Class LockStatus and did some tests and found that get_last_received_report() always returns None when using USB HUB.
The above code is just a test code, please forgive me for not knowing how to trim KMK to minimize the executable code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions