S
S
Space2014-11-28 14:36:58
User interface
Space, 2014-11-28 14:36:58

How does the OC interface work?

Good day to all. I'm interested in how an interface like Windows works?
I don’t know how to express my idea more accurately, but how, for example, does a tablet work instead of a cursor? How does it move at the program level (in other words, how does Windows understand that the cursor needs to be moved) and stuff like that. How to send a command to make a mouse click happen? Where is all this located and how to access it?
I will accept any books, articles, notes, personal experience. Full 0 in it.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
M
Max, 2014-11-28
@AloneCoder

You probably need to read about the Windows API

A
Anton Fedoryan, 2014-11-28
@AnnTHony

Good evening!
then Uncle Petzold
will help you further more interesting: Tanenbaum picks up the baton - he has several books: architecture, networks, system ...
well, to fix the API function.
Success in learning!

A
asd111, 2014-11-28
@asd111

Each interface element is essentially a picture with coordinates, the OS monitors when the x and y coordinates and the pixels of one picture overlap the pixels of another picture and an event occurs - for example, the "pointer is inside the window" event, etc.

X
xandox, 2014-11-28
@xandox

It's all about the magic bubble drivers. If it’s simple, the device writes something to the IO port, the driver reads it and, using the system api, reports “My Fuhrer, the mouse moved 10 pixels in X and 3 in Y. Moreover, it twisted it by 10 steps with a call.” The axis (more precisely, its graphics subsystem) takes note of the whole thing. And further, already knowing the geometry of the windows (in fact, in windows, in the X Window System, I suspect that in OS X, any gadget on the monitor has a window) and their hierarchy generates events like MOUSE_MOVE MOUSE_ENTER MOUSE_LEAVE MOUSE_WHEEL for the necessary windows, and those in turn react to them somehow.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question