Hello. I have been thinking alot over keyboard handling. How does it work? I cant seem to google me to a good explaining. I know that a keyboard interrupt is made every time a key is pressed. The processor halts whatever it is processing and load the keyboard data from the keyboard buffer, storing it in a system level buffer. But what happens next? let take a practical example. What happens when I run the following piece of code
...
std::string s;
std::cin >> s;
....
does the cin read from a user level representation of the system level keyboard buffer? That makes perfect sense in my head because then 2 or more processes can read from the same buffer, and by that way I dont loose any key presses. But does it work this way? I know Im talking in very general terms. The OS Im using is OS X. Hope that someone can give an answer to this general question about a specific subject.