For better or worse, usb devices need to be polled by the computer all the time, instead of delivering interrupts at the moment of input events. I’m baffled by this fact, but am not versed in hardware design well enough to weigh pros and cons. I assume that the polling is handled by the usb controller, though.
Query the currently active window / application for a “copy” output of the currently highlighted context
Place that response into a buffer of some sort
To my vague knowledge, the various GUIs all request content from the owner of the selection at the moment of pasting, i.e. ctrl-v — presumably both to avoid storing large swathes of pictures and such, and to allow conversion to the target format on the fly. However, iirc some environments require defining the available formats when content is copied, so idk how this meshes with that. I’m not a desktop programmer, so not entirely sure. Perhaps it’s just to simplify copying for the programmer of the source app, instead of exposing the whole innards.
In a highly volatile asynchronous UI where the user can alt tab at any time, I imagine often what happens is that you just didn’t wait long enough for the data to actually copy.
Properly, any input event would be delivered to the app (or rather the UI element) that was active at the time of the event — and presumably the OS UI runs at a higher priority for that. However, in practice it seems to be a toss-up as to whether it really works like this.
For better or worse, usb devices need to be polled by the computer all the time, instead of delivering interrupts at the moment of input events. I’m baffled by this fact, but am not versed in hardware design well enough to weigh pros and cons. I assume that the polling is handled by the usb controller, though.
To my vague knowledge, the various GUIs all request content from the owner of the selection at the moment of pasting, i.e. ctrl-v — presumably both to avoid storing large swathes of pictures and such, and to allow conversion to the target format on the fly. However, iirc some environments require defining the available formats when content is copied, so idk how this meshes with that. I’m not a desktop programmer, so not entirely sure. Perhaps it’s just to simplify copying for the programmer of the source app, instead of exposing the whole innards.
Properly, any input event would be delivered to the app (or rather the UI element) that was active at the time of the event — and presumably the OS UI runs at a higher priority for that. However, in practice it seems to be a toss-up as to whether it really works like this.