chris@mimsy.UUCP (Chris Torek) (06/15/88)
In article <5042@sdcsvax.UCSD.EDU> hutch@net1.ucsd.edu (Jim Hutchison) writes: [spelling edited :-)] >By the way, is there a fix for the parallelogram keyboard problem? >I mean the one where I type nice too fast, and pick up the comma to go with >the "ice". I am not sure what this is. Whether and how this happens depends on the keyboard arrangement. Many keyboard scanners make a matrix from the keyboard: d0 d1 d2 d3 d4 d5 d6 d7 | | | | | | | | a0---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]--- | | | | | | | | a1---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]--- | | | | | | | | a2---[@]---[A]---[B]---[C]---[D]---[E]---[F]---[G]--- | | | | | | | | a3---[H]---[I]---[J]---[K]---[L]---[M]---[N]---[O]--- | | | | | | | | a4---[P]---[Q]---[R]---[S]---[T]---[U]---[V]---[W]--- | | | | | | | | a5---[X]---[Y]---[Z]---[ ]---[ ]---[ ]---[ ]---[ ]--- | | | | | | | | a6---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]--- | | | | | | | | a7---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]---[ ]--- | | | | | | | | (The exact placement of the keys varies.) This conveniently produces 64 keys (enough for 56 key keyboards) arranged on an eight(-data)-bit by eight(-address)-bit grid. If each keyswitch simply shorts the address line to the data line, the keyboard can be scanned with a loop like the following: #define KEYBOARD ((char *)0x3800) /* on a TRS-80, eg */ for (r = 0; r < 8; r++) for (c = 0; c < 8; c++) if (KEYBOARD[1 << r] & (1 << c)) /* the key at (r,c) is down */; (Of course, the scan loop must account for keys that are held down for some time, and possibly do debouncing, and all sorts of other grungy work. But none of that matters in regard to the `parallelogram problem'.) Now, given the keyboard arrangement shown above, if push down A, I, and M to type `aim', I have shorted the following pairs: (a2,d1) [A] (a3,d1) [I] (a3,d5) [M]. By so doing I have effectively also shorted (a2,d5): current can flow from a2 via d1 to a3 ([A] then [I]), then from a3 to d5 ([M]). Even though I only put current directly on a2, it `leaks' to a3 and from there it gets to d5, so my scanner sees [E] down and I wind up typing `aiem'. There are two ways to fix it. As usual, it can be done in either software or hardware. The software solution is uglier: scan the whole keyboard before deciding that any given key is down. If keys are down in a parallelogram (as defined by the actual arrangement, which is often not alphabetical), wait for enough of those keys to be released to be sure as to which ones are really down. (An easy variation is to wait whenever more than two keys are down.) The hardware solution is more expensive: add diodes at the keyswitches, so that current cannot flow across the parallelogram. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris
ccasths@pyr.gatech.EDU (Scott Hinckley) (06/18/88)
In article <11972@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: >In article <5042@sdcsvax.UCSD.EDU> hutch@net1.ucsd.edu (Jim Hutchison) writes: >[spelling edited :-)] >>By the way, is there a fix for the parallelogram keyboard problem? >>I mean the one where I type nice too fast, and pick up the comma to go with >>the "ice". I am not sure what this is. >Whether and how this happens depends on the keyboard arrangement. >In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) >Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris I also like (on my Laser 128) getting lisqt instead of list if I type it in too fast. +=======================================================================+ |Scott Hinckley - OCS User Assistant AKA - Galaxy's End | |Georgia Insitute of Technology, Atlanta Georgia, 30332 | |uucp: ...!gatech!pyr!ccasths | |ARPA: ccasths@pyr.gatech.edu | +=======================================================================+
jm7e+@andrew.cmu.edu (Jeremy G. Mereness) (06/19/88)
Now that all the rumors about the GS+ have exhausted themselves, I amn beginning wonder if Apple has ever considered redesigning the gs Keyboard? I'd like some input to this, as everyone has their own tasted for their fingers, but comparing sizes, the GS keyboard has a smaller surface area per key and a smaller and less-damped throw than the keyboard on the //c. I know Mac keyboards can be hooked up via ADB, but they seem to have all the problems that the GS board doesn't; i.e. "mushy" keys (they wiggle back and forth, too, raising the chance of pressing two keys at once). Worst of all, none of them from what I have seen are reconfigurable. The best keybaord I have ever used (apart from a selectric) is on the IBM-RT. It takes a little while, and feels mushy at first, but each key is well defined from its neighbors, doesn't wobble, has a click that can't be heard but can easily be felt (turn the speaker off though, it'll drive you nuts), and can be completely reconfigured to anything, function keys included, inclusing a swap feature. Too bad IBM isn't putting these things on their PS/2's; must be a completely different bunch of people from the old RT folks.... I would like this fall to bring some really Great keyboards to the Apple world. Up till now, the only thing Apple has produced that ever impressed my fingers was the old Mac Plus keyboard, and it was pretty stiff. Capt. Albatross jm7e+@andrew.cmu.edu ============ disclaimer: These opinions are mine and will remain so until more intelligent or insightful or informed people are kind enough to show me the error of my ways. Remember: A mind is a terrible thing to baste.