On Fri, Jan 01, 2021 at 12:22:50PM -0800, Ian Zimmerman wrote:
> On 2021-01-01 15:05, Hendrik Boom wrote:
>
> > This kind of remapping, and others, such as managing window borders,
> > is done by the window manager in X. The window manager is a separate
> > process, doesn't need to be present, and can even run on a separate
> > machine from the client and/or server.
>
> I am quite sure you are wrong here. The window manager _draws_ the
> borders, but the server definitely knows where they are.
>
> And as for keyboard sending pointer events:
>
> https://en.wikipedia.org/wiki/Mouse_keys#Enabling
>
> (I use the setxkbmap method.)
The terminology with X is a bit reversed from the usual client/server
notation.
The X server is tha machine with the screen, keyboard, and mouse.
The X client is the machine that's running your application. It asks
the server to display your stuff for you.
I date back to the old days, when the window manager could run on yet
another machine and intercept messages going between the client
and server and changes them as it considerse appropriate.
It is that intermediate window manager that was responsible for border
sized and so forth. It couldn't draw the borders -- it wasn't attached
to a screen. It just told the server what to draw.
The introduction of direct rendering has eroded these distinctions
somewhat.
-- hendrik