Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!apollo!oj From: oj@apollo.uucp (Ellis Oliver Jones) Newsgroups: comp.windows.x Subject: Re: Should X11 clients pass on unrecognized KeyPress/Release events? Message-ID: <3874f4b7.d5b2@apollo.uucp> Date: Fri, 13-Nov-87 15:12:00 EST Article-I.D.: apollo.3874f4b7.d5b2 Posted: Fri Nov 13 15:12:00 1987 Date-Received: Sun, 15-Nov-87 10:15:29 EST References: <2772554198-5413178@Sierra> <21715@ucbvax.BERKELEY.EDU> Reply-To: oj@apollo.UUCP (Ellis Oliver Jones) Organization: Apollo Computer, Chelmsford, MA Lines: 48 Keywords: replay Cc: oj, johnf, ganek In article <21715@ucbvax.BERKELEY.EDU> deboor@dill.Berkeley.EDU.UUCP (Adam R de Boor) writes: > A window manager that wishes to only grab a key (or button) ... can >place a passive grab on that key/button. ... >If it decides it wants the event, it simply unfreezes the device... >If it doesn't want ... the event, it unfreezes the event in Replay mode... Right, but this gives the window manager "first dibs" at the event; in other words the window manager's grabs can still foul up the application's human interface. A goal of my proposal is to give the application "first dibs." In another article Kimbrough%dsg.csc.ti.com@RELAY.CS.NET (Kerry Kimbrough) writes: >It's at least debatable whether this is good UI policy. The possibility for mode >errors ("But I thought I was talking to the window manager!") is too great. Point well taken. To counter it: (1) it's a shame to rule out certain UI policies. "Mechanism, not policy." (2) Applications (WMs) that honor keystrokes from the root windows should be careful to constrain the semantics of those keys (this is, arguably, sound human interface design regardless of the merits of resending key events) -- their action, if any, should "echo" immediately. This way, no action can go unnoticed. For example, a "Circulate Windows" key would change the stacking order while the user watched. -- single keystrokes should stand alone. Such a "global" keyboard interface had best be modeless. -- they should do non-destructive things (in general, there should be some sort of "confirm" dialog on irreversible actions invoked by single keystrokes). Actions like "iconify" and "circulate window" meet these requirements. A third objection, raised by my colleague John Francis, is that there is, in any protocol that involves resending events, the inherent possibility for keystrokes arriving out of order at their ultimate destination. That could be quite a nasty problem. Perhaps an extension to X11 is in order. This extension would provide a new type of keyboard event. Solicitations of this new keyboard event would include a specification of a keymask in the solicitation request. Remarks? /oj