• pet the cat, walk the dog@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 day ago

    Handle the interrupt

    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.