For some users they’re fine, but terrible for hypervisors, remote desktops or systems you don’t own (it’s far easier to sneak a keyboard into some places than a software solution). A hardware solution was far better for my usecase, obviously ymmv,though.