"designed and implemented a lightweight window server for a major series of 
products" eh?  You're a bit too modest about that particular accomplishment ...

Been there about deliberately take a couple of years off since retiring as a 
way to rest and recharge.

That was a nice writeup by Stefanos A on the pointer side of things.  I feel 
like the keyboard could be the mirror image in a lot of ways; like coalescing 
all keyboards onto the "core keyboard" or not.  For example I have a Logitech 
Access 600 and I found to my surprise that some of the multimedia/function keys 
are on a separate evdev device from the main keyboard keys.  Also I have a USB 
headset and it has some controls that show up as a keyboard.  Also things like 
the lid switch and the power buttons show up under evdev, which are events you 
must be getting if you are the power manager.

Also, I would rather see engineering expended in working toward having Wayland 
never crash, rather than on some elaborate scheme for reconnecting if it does.  
Before someone says "it's software, it will have bugs and crash", there is 
plenty of software that is expected never to crash, and almost never does 
crash, some of which I have worked on.

But on to our featured topic, and client side vs. server side event processing 
...

I cannot see a design where there is not a central authority controlling 
signout of hotkeys.  Right now this is done with passive grabs on the key.  We 
cannot have three different applications thinking they are in charge of 
responding to the "dim the display" key, or the "lower the volume" key, or the 
"bring up email" key.

Then there is the matter of the "num lock" or "caps lock" keys, which are 
totally integral to how the event is presented in the first place and there is 
a single system-wide idea of whether caps lock is on.  The idea that there is a 
"keyboard language" locked and that I can do a user action to change 
system-wide is fairly ingrained into people's idea of how the system behaves; I 
can have a US keyboard, or a Greek keyboard, or a Russian keyboard, at any 
given moment.  So there is some unavoidable amount of system-wide key mapping 
state, it would seem.

Hotkeys (which we can define as key events that are swallowed at a level above 
having them delivered to the window with the input focus) are used for
- these function key things around the edges: volume up/down, backlight 
up/down, launch commands
- window managers often have key bindings that do things like launch commands 
or do window actions like fullscreen enter/leave
- things that are critically important to people with accessibility issues, 
such as "bring up the screen magnifier"

The whole idea that you can control the system with no pointer, which again is 
critically important for A11Y, is part client side, like how there are keyboard 
equivalents to menu items, and part system wide, like the examples above.



_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to