32 ms·
I think you are underestimating just how many computing devices have CPUs of some sort in them. For example: - Optical mice have a processor running an image p
by duskwuff 4mo ago
I think you are underestimating just how many computing devices have CPUs of some sort in them. For example:
- Optical mice have a processor running an image processing algorithm to detect motion.
- Hard disks have a processor implementing error correction, block remapping, and SMART. SSDs and SD cards are similar.
- Pretty much any USB device has a processor to implement the USB stack - pure hardware implementations exist but are uncommon (and are little more than hard-wired CPUs).
etc, etc. Exposing all of that complexity to the CPU is not useful, and would dramatically increase the scope of software that has to be written to make anything work.
- inigyou 4mo agoYes, this. It's good that the mouse, by default, only returns dx/dy/buttons. It's bad that you can't reprogram it easily if you want to and it's bad you can't view the source code of how it works. I expect reprogramming to require a JTAG board. Easily reprogrammable (via USB) peripherals will be a malware vector really quickly.
- duskwuff 4mo agoNot just that, but also - it's not as though there's a single Optical Mouse Interface which every mouse uses internally. There's probably hundreds of slightly different sensors, all of which work differently - having a single, standard interface to them (USB HID) is a lot better than having to support every single one with its own driver. (And that's even without getting into the bandwidth issue - the camera on a modern optical mouse captures far more data than it can transfer over USB.)