Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!ames!amdcad!sun!quintus!pds From: pds@quintus.UUCP (Peter Schachte) Newsgroups: comp.sys.amiga Subject: Re: Yet Another Entry In The 1.4 Wish List... Keywords: RE: 1.4 Enhancement Wish List Message-ID: <982@quintus.UUCP> Date: 7 Apr 89 23:13:57 GMT References: <504@morgoth.UUCP> <3453@amiga.UUCP> <505@morgoth.UUCP> <716@ibmpa.UUCP> <980@quintus.UUCP> <91@snll-arpagw.UUCP> Reply-To: pds@quintus.UUCP (Peter Schachte) Organization: Quintus Computer Systems, Inc. Lines: 58 In article <91@snll-arpagw.UUCP> paolucci@snll-arpagw.UUCP (Sam Paolucci) writes: >In article <980@quintus.UUCP> pds@quintus.UUCP (Peter Schachte) writes: >->X can't emulate intuition, because it is totally undiciplined about mouse >->buttons. For example, you couldn't make the right mouse button pull down >->a menu, because applications may need the right mouse button. It's like >->it didn't occur to them that anyone would build a mouse with other than 3 >-> buttons, and that different people might want different interpretations of >-> mouse button-modifier key combinations. > >You are mixing who is doing what between X, the window manager (in this >case uwm), and the client (in this case xcalc). Not really. The issue is not who is DOING what, but what standards exist. I won't respond to your individual points, because they miss my point entirely. I guess I don't communicate as well as I think I do :-(. I'll try to be clearer. X's "no policy" policy is a really good idea, but it needs to be followed up with a mechanism that allows users to formulate their own policy. For example, X has a mechanism (the resource manager) that gives users a standard way to modify aspects of X programs like the color of certain widgets. There is also the translation manager to allow users to bind keystrokes to functions. There is no similar mechanism for users to bind mouse buttons. So no one trying to write a program that makes any effort to run on a variety of hardware will use buttons 4 or 5 for anything important, because few people have more than 3 mouse buttons. And anyone with less than 3 is going to be in trouble, because a lot of X software expects 3 mouse buttons. (I wonder what Dale does about this? Besides selling a 3 button mouse.) Even if everyone had 3-button mice, the "no policy" policy gets into trouble here. Since there is no policy of which buttons mean what, each application can do whatever it wants. Chaos. There is no way for the user to create homogeneity other than to only buy software that uses mouse buttons the way he does. Or write it himself. So what should they have done? Basically, rather than returning uninterpreted mouse button numbers, they should return something with an interpretation, and allow users to change the mapping from physical event to interpretation. One way to do this is through the keymap facility. Merge keypresses with buttonpresses, and invent a bunch of keycodes for logical mouse operations: select, extend, menu, insert, etc. This approach would also allow users to map modified mouse buttons (e.g., meta+shift+button1) to keycodes, and would allow the keyboard to be used instead of the mouse for these things. Of course, it's too late, the protocol is fixed. Maybe for X12. BTW, Intuition avoids this problem by not being policy-free. I'd rather it were policy free, if it allow me to set my own policy. But I prefer SOME policy to anarchy. -- -Peter Schachte pds@quintus.uucp ...!sun!quintus!pds