Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!voder!apple!dgold From: dgold@apple.UUCP (David Goldsmith) Newsgroups: comp.sys.mac Subject: Re: Should we support (official solutions) Message-ID: <368@apple.UUCP> Date: Tue, 9-Dec-86 16:06:52 EST Article-I.D.: apple.368 Posted: Tue Dec 9 16:06:52 1986 Date-Received: Wed, 10-Dec-86 10:45:44 EST References: <385@runx.OZ> <1366@hoptoad.uucp> <342@apple.UUCP> <1411@hoptoad.uucp> <360@apple.UUCP> <905@gould9.UUCP> Reply-To: dgold@apple.UUCP (David Goldsmith) Organization: Apple Computer Inc., Cupertino, USA Lines: 71 >Please state the official solutions for these problems; cite the page >number or Macintosh Technical note that provides the answer. Somehow I feel I'm getting myself into this deeper and deeper, but I'll try to reply. First off I should cheat by once again extending my previous answer. There are a class of things which we do not publish because A) not enough people care to make it worth a Tech Note, or B) we don't want people to do it unless they absolutely have to. The reason for this is not that we think it's a morally indefensible thing to do, but because the devloper who does it is likely to get burned in the future as we change things (remember what started this whole discussion). Nearly everything you mention in your list falls into this category. > 1. How do you interrogate or modify the mapping of key codes > to ASCII values? For example, how do I find the key code > for Enter? This is done by calling the keyboard driver with a key code and seeing what it returns. Depending on this information will make your program dependent on the layout of the keyboard. I don't see why ASCII isn't sufficient. > 2. How do you disable dead keys, as for a terminal emulator? Dead keys are only produced with the Option key held down, so I assume you are talking about using Option as "Control". There is a flag to set in the keyboard driver, but this makes your program dependent on the keyboard driver and makes it impossible for users to produce the foreign characters while your program is operating. It's better to use the command key as "Control". > 3. How does a drawing program set 'Tall Adjusted' mode for > the ImageWriter? This information can also be gotten from Tech Support. We discourage people from making their programs dependent on a particular driver. > 4. How does a paint program disable smoothing for the LaserWriter? Same answer as above. Why not let the user choose if they want smoothing or not? > 5. How does a program find the percentage reduction for > the LaserWriter? Why not use the field iVRes and iHRes in the print record (IM II-150), which gives you the resolution of the printer for ANY printer? > 6. How do you write a printer driver? Well, you've got a point there. This information is available from Tech Support. This information also falls in the category of things which could get you hosed in the future, but obviously we must allow people to write drivers. We've mentioned publicly (in the Software Supplement, I believe) that the ImageWriter source code is available for licensing. What I'm trying to say is there is no black and white. We try to be careful about what we say publicly so that we'll have some flexibility in the future. There are some things which we guarantee won't change, and others we discourage people from doing because we think they will. I still think IM and the Tech Notes are all that is necessary for most developers to produce an application; I don't think any of the questions you mentioned are ones most developers need answered. -- David Goldsmith Apple Computer, Inc. MacApp Group AppleLink: GOLDSMITH1 UUCP: {nsc,dual,sun,voder,ucbvax!mtxinu}!apple!dgold CSNET: dgold@apple.CSNET, dgold%apple@CSNET-RELAY