bd@hpsemc.UUCP (Bob Desinger) (09/10/87)
Rob Snyder asks: > I wanted to get back-space to do > delete as well, and was able to do that just fine by inserting > (define-key global-map "\C-h" 'delete-backward-char) > in my .emacs file. But how do I bind another character (control-I for > instance) to the help prefix? Beware of rebinding C-I; it's more popularly known as tab or backtab depending on the state of your Shift key. Better to rebind help to something else. Richard Stallman wants the DEL key to delete because it really means "delete", and he thinks that backspace doesn't mean delete. The dissenting opinion is that most people, through usage, have learned to associate the backspace key with deletion; it's hard to unlearn this. Another problem with DEL is that it's nearly impossible to type on HP keyboards. Richard's opinion is that such keyboards are worthless and shouldn't be bought, but my employer doesn't consult with me before putting terminals in our building. Not surprisingly, I happen to like HP terminals, the 2392 in particular because it's fast enough to run Gnu Emacs at 9600 baud without garbaging up the screen. (Set your RecvPace and XmitPace datacomm configuration to `None' instead of `Xon/Xoff'.) But Richard made it easy to change the definition of DEL and C-h to suit our fancies. If you don't mind rebinding help to the DEL key, you can get quick relief with the .emacs line: (load "term/bobcat") (The HP Series 300 monitor was known as a Bobcat.) This swaps the bindings for C-h [backspace] and DEL on a level so low that the help facilities don't know about it. In fact, the help stuff thinks you still typed C-h to get to it, and prints something to that effect. The advantage is speed; the disadvantage is that the online documentation still talks about DEL and C-h as if you never swapped them, which can be misleading during quick reading. Another advantage of "term/bobcat" is that it causes C-h to delete everywhere, like in the minibuffer and other places that you'd ordinarily need to handle on a case-by-case basis. Some HP versions have "term/hp" which maps arrow keys, the Insert-line key, Delete-char, and all of those guys to their Emacs functions. Jack Repenning has a great one that maps more of those special keys to their Gnu bindings than any other version, and his breaks fewer functions. (Jack, how about posting your hp.el? And sending it to FSF?) The appropriate library in "term/" gets loaded if your $TERM is set to the value of the basename. F'rinstance, if TERM=hp you get "term/hp" loaded. The libraries are really called lisp/term/<value-of-TERM>.el, and most HP Series 800 implementations keep the lisp/ directory under /usr/local/lib/emacs/. bob desinger
jack@hpindda.HP.COM (Jack Repenning) (09/11/87)
> Some HP versions have "term/hp" which maps arrow keys, the Insert-line > key, Delete-char, and all of those guys to their Emacs functions. Jack > Repenning has a great one that maps more of those special keys to their > Gnu bindings than any other version, and his breaks fewer functions. > (Jack, how about posting your hp.el? And sending it to FSF?) This is hardly a one-man show (what is, when you're dealing with Emacs?), but I did touch it last, so here it is. Give it to FSF? I've no objections (nor, I imagine, would any of the other contributers) - just no time. I'll try to get around to it... Besides, I'm sure someone will improve it the minute they see it, so let *them* give it to FSF:-) Jack Repenning (jack@hpda.hp.com, (408) 447-3380) ******************************** cut here ******************************** ;;; term/hp.el - Makes HP terminal function keys work, interchanges ;;; DEL and BACKSPACE, and breaks as few other things as possible. ;;; Copyright (C) 1985, 1986, 1987 Free Software Foundation ;; GNU Emacs is distributed in the hope that it will be useful, but ;; without any warranty. No author or distributor accepts ;; responsibility to anyone for the consequences of using it or for ;; whether it serves any particular purpose or works at all, unless he ;; says so in writing. ;; Everyone is granted permission to copy, modify and redistribute GNU ;; Emacs, but only under the conditions described in the document "GNU ;; Emacs copying permission notice". An exact copy of the document is ;; supposed to have been given to you along with GNU Emacs so that you ;; can know how you may redistribute it all. It should be in a file ;; named COPYING. Among other things, the copyright notice and this ;; notice must be preserved on all copies. ;;; HP terminals usually encourage using ^H as the rubout character. ;;; Map HP function key escape sequences into the standard slots in ;;; function-keymap. (require 'keypad) (let ((the-table (make-string 128 0))) (let ((i 0)) (while (< i 128) (aset the-table i i) (setq i (1+ i)))) (aset the-table ?\177 ?\^h) ;; Swap ^H and DEL (aset the-table ?\^h ?\177) ;; Swap ^H and DEL (setq keyboard-translate-table the-table)) ;;; Define some functions used by the arrow keys -- ;;; A popular use for "clear display" (although this file binds it to ;;; delete-other-windows). ;;; Another popular use is recenter. (defun kill-to-end-of-file () "Kill from point to end-of-file." (interactive) (kill-region (point) (point-max))) (defun scroll-down-by-lines (arg) "Scroll down the screen ARG lines (default: 1)." (interactive "p") (scroll-down arg)) (defun scroll-up-by-lines (arg) "Scroll up the screen ARG lines (default: 1)." (interactive "p") (scroll-up arg)) (defun delete-line() "Delete the current line into the kill-buffer. Set the point at the start of the line following the deleted one." (interactive "*") (beginning-of-line) (kill-line 1)) (defun insert-line () "Insert blank line before current line and place cursor at beginning." (interactive) (beginning-of-line) (open-line 1)) ;;; -- Local preferences to the Gnu versions -- (define-key function-keymap "A" 'insert-line) (define-key function-keymap "C" 'delete-other-windows) (define-key function-keymap "D" 'delete-char) (define-key function-keymap "E" 'kill-line) (define-key function-keymap "F" 'scroll-down-by-lines) (define-key function-keymap "I" 'overwrite-mode) (define-key function-keymap "L" 'delete-line) (define-key function-keymap "R" 'scroll-up-by-lines) (define-key function-keymap "" 'beginning-of-buffer) (define-key function-keymap "" 'end-of-buffer) (defun enable-arrow-keys () "Enable the use of the HP arrow keys for cursor motion. Defeats bindings of mark-paragraph and transpose-words" (interactive) (setup-terminal-keymap esc-map '( ( "A". ?u) ; up-arrow ( "B". ?d) ; down-arrow ( "C". ?r) ; right-arrow ( "D". ?l) ; left-arrow ( "F". ?) ; <SHIFT>-<HOME> ( "J". ?C) ; <CLEAR DISPLAY> ( "K". ?E) ; <CLEAR LINE> ( "L". ?A) ; <INS LINE> ( "M". ?L) ; <DEL LINE> ( "N". ?I) ; <SHIFT>-<INS CHAR> ( "O". ?D) ; <SHIFT>-<DEL CHAR> ( "P". ?D) ; <DEL CHAR> ( "Q". ?I) ; <INS CHAR> ( "R". ding) ; ??? ( "S". ?R) ; <ROLL UP> ( "T". ?F) ; <ROLL DOWN> ( "U". ?N) ; <NEXT PAGE> ( "V". ?P) ; <PREV PAGE> ( "h". ?) ;; WAS mark-paragraph ) )) (enable-arrow-keys) ******************************** end ********************************
ron@topaz.rutgers.edu (Ron Natalie) (09/11/87)
> Richard Stallman wants the DEL key to delete because it really means > "delete", and he thinks that backspace doesn't mean delete. Of course, it is stretching it to think that BACKSPACE means help. If it isn't going to mean backward-delete-char, it ought to be backward-char. Such is life. The main problem with changing either these or ^S and ^Q is that most of the el code in EMACS assumes they know what the user's keys were when they do local bindings. -Ron
gaynor@topaz.rutgers.edu (Silver) (09/11/87)
>> = Dunno (follow the references) > = Ron Natalie (ron@topaz.rutgers.edu) >> Richard Stallman wants the DEL key to delete because it really means >> "delete", and he thinks that backspace doesn't mean delete. > > Of course, it is stretching it to think that BACKSPACE means help. > If it isn't going to mean backward-delete-char, it ought to be > backward-char. Such is life. I think you are both approaching the issue from the wrong perspective. This is my impression of how rms would likely justify these bindings. I feel very strongly that help-command be bound to a mnemonic key sequence, so that it will be remembered. This key sequence must be easy to type, so that it will be used as a first recourse. C-h best satisfies both these requirements. Dang, the backspace key also generates C-h. This key's name implies that the sequence it generates might better be bound to backward-char or, argueably, backward-delete-char. Well, since a delete key is present on most terminals, there's your backward-delete-char. Because I feel so strongly about C-h being bound to help and because backward-char is already bound to one easily-typed key sequence C-b, I choose to bind C-h to help. Luckily, almost all resulting problems and personal preferences can easily be redefined. > The main problem with changing either these or ^S and ^Q is that > most of the el code in EMACS assumes they know what the user's > keys were when they do local bindings. True enough. Silver. gaynor@topaz.rutgers.edu or ...!rutgers!topaz.rutgers.edu!gaynor ("Cute" signature files /u2/gaynor/.*.signature are available via anonymous ftp to topaz.rutgers.edu.)
jr@LF-SERVER-2.BBN.COM (John Robinson) (09/14/87)
[Putting words into RMS' mouth:] >> I feel very strongly that help-command be bound to a mnemonic key >> sequence, so that it will be remembered. This key sequence must be >> easy to type, so that it will be used as a first recourse. The key used in ITS/Tops20 EMACS was control-underscore (C-_), which is decidedly neither easy to type nor mnemonic. In fact, on the VT100, if you typed underscore, then typed the same thing with the control key also depressed, you didn't get C-_ at all! So the introductory message that suggested what key to type for help had to be changed depending on the terminal type! As has been pointed out, RMS changed a few things in going from ITS to GNU. I'd say this one was an improvement. /jr jr@bbn.com or jr@bbn.uucp
rich@oxtrap.UUCP (K. Richard Magill) (09/14/87)
In article <14653@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >Of course, it is stretching it to think that BACKSPACE means help. The BACKSPACE key is a terrible misnomer. It is really a C-h key and of course this stands for HELP. ;-) rich.
gamiddleton@orchid.UUCP (09/14/87)
Having key binding depend on the terminal type (as with "load term/myterm") is a good idea, but it doesn't go far enough. There are many different kinds of terminals here, all of them already adequately described in our /etc/termcap file. I would like to have the deletion character be ^H on some, and DEL on others, as described in the termcap file. The best way to do this would be to read from the stty settings in effect before Emacs runs. Is this possible? It (almost) works in VI. __ -Guy Middleton, University of Waterloo Institute for Computer Research gamiddleton@math.waterloo.edu, watmath!gamiddleton, gamiddleton@water.bitnet
jack@hpindda.HP.COM (Jack Repenning) (09/15/87)
> This is my impression of how rms would likely justify these > bindings. Well, yes, that's pretty likely what he was thinking. The problem faced by anyone using an HP keyboard (aren't many other keyboards like this, too?) is that the BACKSPACE key is big, friendly, easy to hit, and used by every other program commonly run to mean (what in emacs we call) backward-delete-character. I do NOT use emacs as my log-in shell; I do spend a great deal of my time typing to other programs who (let the driver) expect this meaning for BACKSPACE, I even frequently borrow other folks' terminals, or extend mine to others, from this same culture. We have an overwhelming conditioning in favor of BACKSPACE == backward-delete-character, and don't want to restrap our fingers every time we enter an Emacs window. If this tremendous cultural river against which Emacs swims is a local phenomenon, then I'm fairly happy with monkeying with the keyboard translate table. It just seemed a little odd that anyone would want to swim against that current in the first place. Well, maybe not. RMS seems to be an excellent and fearless swimmer, especially against the current :-) For which I must admit I'm on the whole quite grateful! Jack Repenning
wombat@ccvaxa.UUCP (09/16/87)
There is some logic behind C-_. On some terminals (like, fer instance, the Datamedia DT80/1 I use during the day) you hold the control key down and hit / (which is the same key ? is on). I think C-? is a fine mnemonic for a help key. (I like to use both C-H and the backspace key for erasing; sometimes one is easier to hit than the other and I make lots of typos.) "My words say what you hear them say, but the movements of my mouth indicate that I am telling a series of humorous stories in Yiddish." R.A. Lafferty, *The Devil Is Dead* Wombat ihnp4!uiucdcs!ccvaxa!wombat
matt@oddjob.UChicago.EDU (%{NEWSNAME}) (09/16/87)
gamiddleton@orchid.waterloo.edu (Guy Middleton) writes:
) There are many different kinds of terminals here, all of them
) already adequately described in our /etc/termcap file.
----------
I think you are wrong about this.
Termcap does not say that my terminal has a key which can be held
down to make other keys send their codes sandwiched between C-A and
C-M, nor how I would like that kludge around into a fake meta key.
It does not tell what my 64 programmable keys send by default, nor
how to program them to send something different. Termcap does not
mention my "back tab" key or the two extra lines above and below the
24 line screen.
Matt Crawford
karl@haddock.ISC.COM (Karl Heuer) (09/17/87)
In article <3590005@hpindda.HP.COM> jack@hpindda.HP.COM (Jack Repenning) writes: >Well, yes, that's pretty likely what [RMS] was thinking. The problem >faced by anyone using an HP keyboard (aren't many other keyboards like >this, too?) is that the BACKSPACE key is big, friendly, easy to hit, >and used by every other program commonly run to mean (what in emacs we >call) backward-delete-character. The other side of the coin is that the DEL key is awkward to hit. To paraphrase RMS, "such terminals are inferior merchandise and should not be purchased". Any decent terminal manufacturer should realize that some operating systems use DEL as the erase character, and the obvious thing to do is to make a key with a neutral label (ERASE, or some flavor of left arrow) which can be programmed to transmit either C-h or DEL (or other). Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint
jthomas@nmsu.CSNET (09/17/87)
At 15 Sep 87 16:50:26 GMT, Jack Repenning said: ... If this tremendous cultural river against which Emacs swims is a local phenomenon, then I'm fairly happy with monkeying with the keyboard translate table. It just seemed a little odd that anyone would want to swim against that current in the first place. ... It seems to me that this "cultural river" is relative. Emacs started on a system which used DELete to mean just that (and most of the terminals had a nice DELete key!). Some(how,when) Unix(tm) picked (first "#" and then) BACKspace to mean delete. (I assume some Unix guru's keyboard didn't have a decent DELete key?) Now Emacs runs on Unix systems, and Unix users are used to BACKspace. (But in: ... The problem faced by anyone using an HP keyboard (aren't many other keyboards like this, too?) is that the BACKSPACE key is big, friendly, easy to hit, and used by every other program commonly run to mean (what in emacs we ~~~~~~~~~~~~~~~~~~~ call) backward-delete-character. he said that programs use BACKspace to mean delete - isn't he really saying that most users have stty'ed BACKspace for del ??????) Unfortunately the keyboard world seems to have divided between ones with decent DELete keys and ones with decent BACKspace keys. We can discuss the philosophical ideas of C-h, but for many the non-existence of a DELete key forces the use of BACKspace to mean delete. (And I'm about to buy one of those turkeys!?!?) Jim Thomas jthomas@nmsu.csnet formerly JNTCS@UNO.BITNET
aglew@ccvaxa.UUCP (09/18/87)
>/* Written 2:35 pm Sep 14, 1987 by rich@oxtrap.UUCP in ccvaxa:comp.emacs */ >In article <14653@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >>Of course, it is stretching it to think that BACKSPACE means help. > >The BACKSPACE key is a terrible misnomer. It is really a C-h key and >of course this stands for HELP. ;-) > >rich. Help remove language dependent biases! ^H doesn't have any mnemonic value for help, if you are French.
jr@LF-SERVER-2.BBN.COM (John Robinson) (09/18/87)
>> It seems to me that this "cultural river" is relative. Emacs started on a >> system which used DELete to mean just that (and most of the terminals had a >> nice DELete key!). Before ASCII, DELETE was called RUBOUT (I'm talking about the teletype model 33, folks), which seems even better of a description. DELETE sems to have no directionality to it (to me), whereas rubout seems more to refer to something that was just typed. >> Some(how,when) Unix(tm) picked (first "#" and then) >> BACKspace to mean delete. (I assume some Unix guru's keyboard didn't have >> a decent DELete key?) Now Emacs runs on Unix systems, and Unix users are >> used to BACKspace. Well, Unix history is even more arcane than this. In V7 (my history only goes that far), # meant delete-char and DEL meant interrupt (really!). This was a problem, because DEL was often a nice big fat key - too easy to hit - and also users coming from other worlds (i.e. DEC-10 and -11) were fond of hitting it to mean delete-char, and had awful trouble when learning to use Unix. Fortunately, it was possible to remap this function to something they were used to, like ^C, but many people kept delete for it anyway. At about this time (early-mid-70s), people still largely used teletypes and other printing terminals for timesharing systems. The # as an erase character was okay, since you could see how many you had typed on the print line. Unix was still too small (i.e. ran on too small machines) to consider the fancy sort of line editing it now supports. Also, about this time, people began to use CRT terminals. On a crt, it was handy to be able to have the line contining the cursor look like what the program was going to get. This was never possible for a printing terminal (without going to a new line), but almost any crt could do it roughly this way: use BACKSPCE (BS) as your delete-char! As you delete typed-in characters, the cursor moves backwards over them. As you retype over your mistakes, the new echos overwrite on the same line the deleted characters. What you see is *mostly* what you get (exceptions - the new line is shorter than the original, or else some characters cause no cursor movement when echoed, but are still deleted by BACKSPACE, so you get confused about where you are versus what's in the type-in bufer). Note that this also can be used for printing terminals, but you won't necessarily be able to read the result. And, most important, the Unix terminal driver didn't need to change at all; it just happened magically since the delete-char was always simply echoed back to the terminal when typed. Next came kernel support for crts. The simplest version is to echo the sequence BS-SPC-BS whenever the delete character (whatever its value) is typed. Now the deleted characters are removed from the screen as they are deleted (overwritten by spaces - no help for printing temrinals of course). With more cleverness, the terminal handler can cope with characters that don't take up space, or take up two spaces (control characters echoed with ^ first). Now, the user has no particular *cute* mapping to be preferred for delete-char, but BS may have persisted anyway. I realize that 90% of the audience may have met Unix since it grew reasonable terminal-handling, but try to imagine that it used not to be able to afford the memory for it. Note that this kernel support was often added as a local enhancement before it found its way into the supported Unix versions. As such, there were probably a lot of other variations on what I described (which matches what happened at BBN), some of which may have become quite popular before being supplanted by a "standard" implementation from Bell or Berkeley. By now, the standard version is powerful enough to emulate just about any local variant, which of course also fosters a lot of diversity. So there is no single most-common choice for how the delete-char function is mapped in the Unix world today, and the standards in other worlds add even more diversity that people can opt for by customizing their terminal parameters. And then there are the shells with built-in comand line editors (tcsh or bsh, if you have heard of them), but that's another story. ... those that fail to learn from history are ... etc. /jr jr@bbn.com or jr@bbn.uucp
brisco@caip.rutgers.edu (Thomas Paul Brisco) (09/19/87)
In article <28500016@ccvaxa> aglew@ccvaxa.UUCP writes: >>/* Written 2:35 pm Sep 14, 1987 by rich@oxtrap.UUCP in ccvaxa:comp.emacs * >>In article <14653@topaz.rutgers.edu> ron@topaz.rutgers.edu (Ron Natalie) writes: >>>Of course, it is stretching it to think that BACKSPACE means help. >> >>The BACKSPACE key is a terrible misnomer. It is really a C-h key and >>of course this stands for HELP. ;-) >> >>rich. > >Help remove language dependent biases! > >^H doesn't have any mnemonic value for help, if you are French. If we were French, we wouldn't be reading this (;->). After years of using different flavors of Emacs(tm tm tm tm), I've found the best help key to be "M-X help<CRLF>" - it is mnemonic, and easy to understand. -- ---------------------------------------------------------- - ARPA: Brisco@rutgers - - UUCP: (ihnp4!ut-sally, allegra!packard) !caip!brisco - ----------------------------------------------------------
karl@haddock.UUCP (09/19/87)
In article <28500016@ccvaxa> aglew@ccvaxa.UUCP writes: >Help remove language dependent biases! >^H doesn't have any mnemonic value for help, if you are French. If you remove the language-dependent mnemonics, what sort of mnemonics do you have left? Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint
exodus@uop.UUCP (Freddy Kreuger) (09/19/87)
In article <1173@haddock.ISC.COM>, karl@haddock.ISC.COM (Karl Heuer) writes: > > The other side of the coin is that the DEL key is awkward to hit. To > paraphrase RMS, "such terminals are inferior merchandise and should not be > purchased". Any decent terminal manufacturer should realize that some We have a few Convergent Technologies terminals here and the DELete key is off on the left hand side of the keyboard, sort of where function keys on certain IBM keyboards are. It's far too difficult to use that key. The escape key is on the far right of the keyboard on the numeric keypad. That is one keyboard no EMACS user could live with! G. Onufer University of the Pacific
rich@oxtrap.UUCP (K. Richard Magill) (09/19/87)
In article <3590005@hpindda.HP.COM> jack@hpindda.HP.COM (Jack Repenning) writes: >I do NOT use emacs as my log-in shell... Why not?
mkhaw@teknowledge-vaxc.ARPA (Mike Khaw) (09/19/87)
> I've found the best help key to be "M-X help<CRLF>" - it is mnemonic, > and easy to understand. Yeah, but it's 6 whole keystrokes more than C-H (5 if you have a real meta key) :-) Mike Khaw -- internet: mkhaw@teknowledge-vaxc.arpa usenet: {uunet|sun|ucbvax|decwrl|uw-beaver}!mkhaw%teknowledge-vaxc.arpa USnail: Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303
mike@turing.unm.edu.unm.edu (Michael I. Bushnell) (09/19/87)
In article <8709181153.AA08300@ucbvax.Berkeley.EDU> jthomas@nmsu.CSNET writes: > > At 15 Sep 87 16:50:26 GMT, Jack Repenning said: > ... > If this tremendous cultural river against which Emacs swims is a local > phenomenon, then I'm fairly happy with monkeying with the keyboard > translate table. It just seemed a little odd that anyone would want > to swim against that current in the first place. > ... >It seems to me that this "cultural river" is relative. Emacs started on a >system which used DELete to mean just that (and most of the terminals had a >nice DELete key!). Some(how,when) Unix(tm) picked (first "#" and then) >BACKspace to mean delete. (I assume some Unix guru's keyboard didn't have >a decent DELete key?) Now Emacs runs on Unix systems, and Unix users are >used to BACKspace. (But in: ACK! NO! NOT TRUE!!!!!!!! BOGUS!!! Do Not Listen To This Garbage!!!!!#Q@#%@#!^@$%!%$ Go to your login prompt. GUESS WHAT???? DEL works!!!!!! So does ^H!!!!! THEY BOTH WORK. UGH!!!!! There is NO predisposition in UNIX for BS instead of DEL!!!! > ... The problem > faced by anyone using an HP keyboard (aren't many other keyboards like > this, too?) is that the BACKSPACE key is big, friendly, easy to hit, > and used by every other program commonly run to mean (what in emacs we > ~~~~~~~~~~~~~~~~~~~ > call) backward-delete-character. >he said that programs use BACKspace to mean delete - isn't he really saying >that most users have stty'ed BACKspace for del ??????) That IS what he is saying!!! Vi has no preference. Nothing does. But Emacs is strapped for keys. So it has to use only one key per function, and the most logical choice is DEL. Look at the ASCII specification!!!! It quite plainly states that DEL means "ignore last character," while BS means "move print head back and overstrike." My seventh grade typing instructor was quite adamant about the differece between overstriking and erasing. >Unfortunately the keyboard world seems to have divided between ones with >decent DELete keys and ones with decent BACKspace keys. We can discuss the >philosophical ideas of C-h, but for many the non-existence of a DELete key >forces the use of BACKspace to mean delete. (And I'm about to buy one of >those turkeys!?!?) > >Jim Thomas jthomas@nmsu.csnet formerly JNTCS@UNO.BITNET Ugh. Most terminals now being produced (with the notable exception of HP's) have an easily locatable DEL key. On a VT-240, etc., it is the key with a <- and an 'x' on it. The BS key is hidden up on the function key row. Every terminal has a decent BS key, the one most people I have seen is ^H. But they don't have a decent DEL key, ^? just doesn't quite hack it. ACK! UNIX could care less what you use. Really. It is quite up to you. Fortunately, EMACS lets you pick. Michael I. Bushnell a/k/a Bach II mike@turing.UNM.EDU --- Hold the MAYO & pass the COSMIC AWARENESS... -- Zippy the Pinhead
aglew@ccvaxa.UUCP (09/20/87)
>/* Written 7:23 pm Sep 18, 1987 by karl@haddock.ISC.COM in ccvaxa:comp.emacs */ >In article <28500016@ccvaxa> aglew@ccvaxa.UUCP writes: >>Help remove language dependent biases! >>^H doesn't have any mnemonic value for help, if you are French. > >If you remove the language-dependent mnemonics, what sort of mnemonics do you >have left? > >Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint >/* End of text from ccvaxa:comp.emacs */ > There are a large number of symbols that are pretty well shared by all people who speak European languages, or languages that employ a Roman script. Moreover, most East Asians understand them too. Question mark, "?", is pretty universal. ? is a much better choice than ^H for help. Consider: I come too a program that displays stuff on my screen, and I'm not quite sure what language it's in. Eg. I may be editing a French file with an English editor. Do I cry "Au secours!" or "help!". I'm frazzled, so I use my native language. Oops, deleted the whole file. ? is a much better choice. As someone who has played with international software a lot, fiddling with ? is my first reflex when looking for a help command. Unfortunately, for EMACS, "\e?" is a prefix for many function keys. But "\^x?" isn't taken. That's my help key. As is "\^_" on my tvi9220 keyboard, which is generated by the key control-question mark. Writing software for an international audience, you don't have to remove all native-language mnemonic value. But if you put the most basic function, help, that conveniently takes you to a help system that (1) tells you what language the system is using, and (2) lets you change that language, if possible, on a language independent key like ? you're well away. Other language independent symbols: - arrows are usually understood the same way by most cultures. - take a look at the upper row of a QWERTY keyboard - it has a lot of good choices, although some are remapped in alternate character sets: -- ! will be understood by most peoples to be CAUTION -- $ is a fairly universally understood currency symbol. Even if it is remapped, it is usually remapped to another currency symbol. Currency => money => cost, can be used as a metaphor for time (but that's stretching it, and imposing Calvinistic morality) - the word STOP is becoming an international standard. Many non-English countries use it on their stop signs. And, of course, graphics provides a whole slew of possibilities. As I said, most don't apply to a character based editor like EMACS (and I don't have X on my home machine yet), but the first, most basic rule - put help on the ? key - is something that we could do. Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew 1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms.arpa I always felt that disclaimers were silly and affected, but there are people who let themselves be affected by silly things, so: my opinions are my own, and not the opinions of my employer, or any other organisation with which I am affiliated. I indicate my employer only so that other people may account for any possible bias I may have towards my employer's products or ss (ibibi
dan@rna.UUCP (Dan Ts'o) (09/21/87)
In article <636@unmvax.unm.edu> mike@turing.unm.edu (Michael I. Bushnell) writes: >>It seems to me that this "cultural river" is relative. Emacs started on a >>system which used DELete to mean just that (and most of the terminals had a >>nice DELete key!). Some(how,when) Unix(tm) picked (first "#" and then) >>BACKspace to mean delete. (I assume some Unix guru's keyboard didn't have >>a decent DELete key?) Now Emacs runs on Unix systems, and Unix users are >>used to BACKspace. (But in: > >ACK! NO! NOT TRUE!!!!!!!! Not true, indeed. Remember that UNIX started as a very simple OS, with a very simple TTY driver, back in the days of TTY's, like the TTY33. Teletype was/is a part of the Bell System (Western Electric ?). The tty driver simply echoed incoming characters, with very few exceptions, like mapping CR to LF and outputting CRLF. So echoing DEL won't have been very useful: no feedback as to whether or how many characters to delete. Thus # was not unreasonable. The same goes for the line kill character: @. The DEL was (and is still used in SysV) as the interrupt (like ^C), where echoing was irrelevant. Now, BS would also have been (and is) reasonable on CRT's, but UNIX started on printing tty's, where the result is a mess. A more complicated tty driver would have handled DEL like DEC did in OS's like TOPS10 and RT11, by echoing the deleted character, in some cases surrounded by \/: misteak\eak/ake But remember the UNIX kernel used to fit in under 16kbyte (8kwords). Many early university UNIX systems hacked the UNIX tty driver to "bits", adding all sorts of stuff like TENEX mode, and better DEL handling for CRT's. So the original reason why BS got popular as the erase char in UNIX, especially with standard non-BSD UNIX, is that the CRT terminal would handle the cleaning up of the displayed line "automatically", without any help or special code in the tty driver.
pedz@bobkat.UUCP (09/21/87)
In article <1173@haddock.ISC.COM> karl@haddock.ima.isc.com (Karl Heuer) writes: >In article <3590005@hpindda.HP.COM> jack@hpindda.HP.COM (Jack Repenning) writes: >>Well, yes, that's pretty likely what [RMS] was thinking. The problem >>... > >The other side of the coin is that the DEL key is awkward to hit. To >paraphrase RMS, "such terminals are inferior merchandise and should not be >purchased". Any decent terminal manufacturer should realize that some >operating systems use DEL as the erase character, and the obvious thing to do >is to make a key with a neutral label (ERASE, or some flavor of left arrow) >which can be programmed to transmit either C-h or DEL (or other). > Yea, the Wyse 60 terminal I have has a soft key with just an arrow on it. It comes programmed as a back space. Unfortunately, the sequence which programs the key can not contain the delete character so you can not remotely program it to send a delete. (You can do it locally from the keyboard but that kinda sucks.) -- Cute signature line employing many literary allusions and puns. Standard disclaimer concerning my mental incompetance. Perry Smith a.k.a. (Pedz Thing) pedz@bobkat or {ti-csl,infotel}!pollux!bobkat!pedz
kyle@xanth.UUCP (Kyle Jones) (09/21/87)
In <636@unmvax.unm.edu>, mike@turing.unm.edu.unm.edu (Michael I. Bushnell) sez:
> Emacs is strapped for keys.
Stallman uses this argument as well but I don't buy it. Here at ODU
we have both DEL and BS bound to delete-backward-char, and we still
have a help key: C-\. C-\ is not normally bound to anything, so we
lose no "functionally". Also C-\ is typed the same way on all our
terminals: you hold down the CONTROL key and type a '\'. The Emacs
lisp code does have C-h hard coded into in a few places but those were
easily ferreted out. Most of the problem was solved by modifying
help.el and the changing the value of help-char. Finding and changing
all references to C-h into the User's Manual a tiny bit more
challenging.
C-h may be mnemonic but I simply could not tolerate hitting a key
labelled BACKSPACE three times in succession and getting a screenful
of text in return. God knows I tried. RMS points out that, "Deletion
of text is not the same thing as backspacing followed by failure to
overprint." I agree, but having the BACKSPACE key erase text is a lot
closer to it's proper function than printing a help screen!
kyle jones <kyle@odu.edu> old dominion university, norfolk, va usa
steven@cwi.nl (Steven Pemberton) (09/22/87)
In article <636@unmvax.unm.edu> mike@turing.unm.edu (Michael I. Bushnell) yells: > Go to your login prompt. GUESS WHAT???? DEL works!!!!!! So does ^H!!!!! > THEY BOTH WORK. UGH!!!!! > There is NO predisposition in UNIX for BS instead of DEL!!!! [...] > But Emacs is strapped for keys. So it has to use only one key per > function, and the most logical choice is DEL. Not true. You can use two keys for the same function with no trouble. > Look at the ASCII specification!!!! It quite plainly states that > DEL means "ignore last character," The ISO specification that I have in front of me says thet DEL is used to erase or obliterate an erroneous or unwanted character in punched tape. This would suggest (if we were trying to retain compatibility with the original definitions of these characters) that delete-char would be a better binding for DEL. But we ain't, so we can choose to use them how we like. > ACK! UNIX could care less what you use. Really. It is quite up to > you. Fortunately, EMACS lets you pick. The Unix behaviour, I contend, is the better. There are two equally used standard keys, and Emacs should accept both of them *as default* if we want to encourage new users to try emacs. Here where I work, there are a dozen departments. Three of these are computer departments where most of the members are competent enough to deal with bindings and the like. However, the other nine departments are non-computer people who do however do a lot of editing. I think the ^H=help binding is the biggest obstacle to them using gnumacs. If they should go and try emacs, and then find that they can't use backspace (which IS the default stty setting here), they are not going to bother to find out how to rebind. They're just going to go back and use whatever they're used to, declaring emacs to be "unusable". I'm sorry, but that is just how it is. I really do know people who do not use gnumacs because backspace means help; they use computers for their work, and they can't be bothered to find out how to rebind keys just in order to see if they want to use emacs. I might say that ^S also causes a problem in this respect. We have terminals here that send ^S/^Q. If we went to management and said "we want new terminals, so we can use emacs", they will say "use a different editor". Besides, people like the terminals we have, and couldn't care less whether they send ^S/^Q or not. The point I'm trying to make is this: the default bindings affect the user acceptance of Gnumacs. We have to face up to the fact that potential users are being frightened away from using it simply because the default bindings do not encourage them to try it. I might also remark that I only started using gnumacs because I was forced to: the emacs we used to use didn't compile on our new machine. It was one hell of a job trying to work out from the manual how you changed the binding of ^H to backspace. It is quite clear that ^H is a prefix key bound to a keymap, but how to bind another key or key-combination to that keymap? I would like to suggest that something be said under "customization" in some future version of the manual. Steven Pemberton, CWI, Amsterdam; steven@cwi.nl
steven@cwi.nl (Steven Pemberton) (09/22/87)
In article <2506@xanth.UUCP> kyle@xanth.UUCP (Kyle Jones) writes: > Here at ODU we have both DEL and BS bound to delete-backward-char, > and we still have a help key: C-\. > The Emacs lisp code does have C-h hard coded into in a few places > but those were easily ferreted out. Most of the problem was solved by > modifying help.el and the changing the value of help-char. Finding > and changing all references to C-h into the User's Manual a tiny bit more > challenging. Considering how configurable emacs is and is supposed to be, it is really surprising how hardwired the C-h decision is (which is a real pity, considering how fundamental it is). Just try for instance now to bind help to a *two-key* sequence, like ESC-?, and then to get help when using incremental search, for instance. Steven Pemberton, CWI, Amsterdam; steven@cwi.nl
bzs@bu-cs.BU.EDU (Barry Shein) (09/23/87)
Posting-Front-End: GNU Emacs 18.41.4 of Mon Mar 23 1987 on bu-cs (berkeley-unix) Perhaps the wrong forum, but I've always had a slightly different (possibly wrong) theory on the origin of some of the early Unix terminal driver. It's behavior was not entirely due to space limitations I don't think, so many of us back in the V6 days sat down and implemented essentially what you see today in BSD systems ourselves (if I remember right Dan T'so, who wrote the note I am sort of responding to, and my group exchanged quite a few versions of these things around the Harvard Medical School some 10+ years ago.) Ahh, the conversations that would be energized trying to find the ultimate tab delete routine (can we do it w/o a stack of col nums?) It was certainly not due to the times, such things were already in other O/S's, even tiny ones like RT-11 (tho not terribly sophisticated versions, it was obvious what was needed and how it should work.) So why? Well, my theory is that there was an interest in not venturing too far from IBM half-duplex behavior so there was some hope (and, just possibly, internal PR opportunities) that it would all seem natural enough to an IBM/TSO user (wasn't #/@ the erase/kill chars in IBM's TSO?) Remember, one of the earliest uses of Unix was preparing jobs for submission over an IBM/RJE link from an '11. This can't be coincidence, tho I've never seen it in print. -Barry Shein, Boston University
msf@amelia (Michael S. Fischbein) (09/23/87)
In article <69@piring.cwi.nl> steven@cwi.nl (Steven Pemberton) writes: >The ISO specification that I have in front of me says thet DEL is used >to erase or obliterate an erroneous or unwanted character in punched >tape. This would suggest (if we were trying to retain compatibility >with the original definitions of these characters) that delete-char >would be a better binding for DEL. But we ain't, so we can choose to >use them how we like. That's good, because the paper tape DEL is a delete-FORWARD-character. That would really confuse many users, and it still leaves open the question of what to use for a delete-BACKWARD-character. I find RMS's argument in favor of ^H to be reasonable, but it should be easier to change in the flexible, extensible editor thatn it is currently. Same for the ^S for search: it makes sense, but conflicts with many installations. Fortunately, that one is very easy to change. mike Michael Fischbein msf@prandtl.nas.nasa.gov ...!seismo!decuac!csmunix!icase!msf These are my opinions and not necessarily official views of any organization.
karl@haddock.UUCP (09/25/87)
In article <28500018@ccvaxa> aglew@ccvaxa.UUCP writes: >[haddock!karl writes:] >>If you remove the language-dependent mnemonics, what sort of mnemonics do you >>have left? > >Question mark, "?", is pretty universal. True. But I believe RMS stated that he wanted a single-character HELP key, which rules out your suggested C-x ? and ESC ?. C-? would be great, if such a character really existed. (Some terminals do generate C-_ when you hit CTRL-?, but not all -- and emacs shouldn't depend on it%. The convention of denoting DEL by ^? is irrelevant, even if DEL were not otherwise taken, since the mnemonic value is lost on someone who doesn't know that convention.) I'd have no objections to ESC ?, except that it's a bit hard to type%% and it's annoying if you have to use it very often. There's also the problem that help-char has to be a single byte; this is part of a more general problem%%%. >Unfortunately, for EMACS, "\e?" is a prefix for many function keys. If you're worried about function keys, you shouldn't use ESC at all! Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint ________ %Actually, emacs should also quit assuming that CTRL-SPC generates C-@. ________ %%I was once part of a project that used that sequence for HELP -- we discovered that since "?" had to be shifted, users would often shift prematurely and get a shifted ESC, which on the HP terminals would generate DEL, halting the program. ________ %%%One of the main reasons I didn't bind a function key to isearch-forward, back when I was having trouble getting C-s to pass through, was that I couldn't use the same function key for search-repeat-char. This suggests that either emacs should use strings instead of chars for certain objects, or that emacs should read function keys as out-of-band integer values (a la curses). I prefer the second approach, which would also let me bind my ANSI function keys without disturbing backward-paragraph.
karl@haddock.UUCP (09/25/87)
In article <2506@xanth.UUCP> kyle@xanth.UUCP (Kyle Jones) writes: >Here at ODU we have both DEL and BS bound to delete-backward-char, and we >still have a help key: C-\. I dislike having things bound to any of the non-alphabetic control characters, because terminal manufacturers can't agree on where those keys belong, or what keys you have to press to get the control characters. The terminal I'm using now has backslash between Left-Shift and Z; I've gotten used to it, but I have problems when I try to use a normal terminal. It's not even universal that CTRL-\ generates C-\, but exceptions are rare these days. (C-@, C-^, and C-_ are more troublesome.) >C-h may be mnemonic but I simply could not tolerate hitting a key labelled >BACKSPACE three times in succession and getting a screenful of text My solution to this problem was to rebind the BACKSPACE key in the terminal itself. (This terminal isn't a total loss.) So for me, the only way to generate C-h is to hit CTRL-H, and of course when I do so I mean "help". Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint
allbery@ncoast.UUCP (09/27/87)
As quoted from <636@unmvax.unm.edu> by mike@turing.unm.edu.unm.edu (Michael I. Bushnell): +--------------- | Go to your login prompt. GUESS WHAT???? DEL works!!!!!! So does | ^H!!!!! | | THEY BOTH WORK. +--------------- To quote your earlier comment: +--------------- | ACK! NO! NOT TRUE!!!!!!!! | | | BOGUS!!! Do Not Listen To This Garbage!!!!!#Q@#%@#!^@$%!%$ +--------------- What you say works for BSD UNIX. For Xenix, only ^H works. For some System V's, ^H and # both work. For other System V's and for System III, only # works. "UNIX" is obviously schizoid about the whole matter... With DEC terminals, I use DEL as a backspace under System III/V. On any other machine, I use BS. On ALL Unixes, with ALL terminals, I use ^C as interrupt. This is because on the majority of terminals I use, the backspace key is larger but the DEL key is right beside it, so I usually ended up aborting a program to which I had mistyped if I was typing fast. Then again, # has its place too. I once had to access ncoast off an LA36... AND WILL YOU BSD'ERS STOP ACTING AS IF THE WHOLE WORLD RAN 4.xBSD ON A VAX??? -- Brandon S. Allbery, moderator of comp.sources.misc {{harvard,mit-eddie}!necntc,well!hoptoad,sun!mandrill!hal}!ncoast!allbery ARPA: necntc!ncoast!allbery@harvard.harvard.edu Fido: 157/502 MCI: BALLBERY <<ncoast Public Access UNIX: +1 216 781 6201 24hrs. 300/1200/2400 baud>> "Mummy, what's an opinion?"
jeffl@berick.UUCP (Jeff Lawhorn) (09/29/87)
Posting-Front-End: GNU Emacs 18.41.4 of Thu Sep 10 1987 on berick (usg-unix-v) In article <4755@ncoast.UUCP> allbery@ncoast.UUCP (Brandon Allbery) writes: +---------- | As quoted from <636@unmvax.unm.edu> by mike@turing.unm.edu.unm.edu (Michael I. Bushnell): | +--------------- | | Go to your login prompt. GUESS WHAT???? DEL works!!!!!! So does | | ^H!!!!! | | | | THEY BOTH WORK. | +--------------- | | To quote your earlier comment: | | +--------------- | | ACK! NO! NOT TRUE!!!!!!!! | | | | | | BOGUS!!! Do Not Listen To This Garbage!!!!!#Q@#%@#!^@$%!%$ | +--------------- | | What you say works for BSD UNIX. For Xenix, only ^H works. For some System | V's, ^H and # both work. For other System V's and for System III, only # | works. "UNIX" is obviously schizoid about the whole matter... | | With DEC terminals, I use DEL as a backspace under System III/V. On any other | machine, I use BS. On ALL Unixes, with ALL terminals, I use ^C as interrupt. | This is because on the majority of terminals I use, the backspace key is | larger but the DEL key is right beside it, so I usually ended up aborting | a program to which I had mistyped if I was typing fast. | | Then again, # has its place too. I once had to access ncoast off an LA36... | | AND WILL YOU BSD'ERS STOP ACTING AS IF THE WHOLE WORLD RAN 4.xBSD ON A VAX??? | -- | Brandon S. Allbery, moderator of comp.sources.misc | {{harvard,mit-eddie}!necntc,well!hoptoad,sun!mandrill!hal}!ncoast!allbery | ARPA: necntc!ncoast!allbery@harvard.harvard.edu Fido: 157/502 MCI: BALLBERY | <<ncoast Public Access UNIX: +1 216 781 6201 24hrs. 300/1200/2400 baud>> | "Mummy, what's an opinion?" +---------- Hasn't anyone heard of 'stty erase "anychar"'? At least on every unix (SysV, BSD4.?, Xenix, Version 7) this will set your erase character to whatever you want it to be. Unless the program you're running mucks with the tty settings (most screen oriented programs) this should change your erase character for whatever programs are running on your tty. No this doesn't work for emacs, but like I said it works for most non-screen oriented programs. -- ======================================================================= | Everything should be made as simple || Jeff Lawhorn | | as possible, but no simpler. || ...!crash!berick!jeffl | =======================================================================
jaym@nuchat.UUCP (09/30/87)
In article <4755@ncoast.UUCP>, allbery@ncoast.UUCP (Brandon Allbery) writes: > What you say works for BSD UNIX. For Xenix, only ^H works. For some System > V's, ^H and # both work. For other System V's and for System III, only # > works. "UNIX" is obviously schizoid about the whole matter... > > AND WILL YOU BSD'ERS STOP ACTING AS IF THE WHOLE WORLD RAN 4.xBSD ON A VAX??? Please??! Us poor folks who can't afford the necessary licensing to run 4.xBSD, as well as those who can't run it at all on our machines, don't get helped much by BSD-specific comments. If you're going to be BSD-specific, PLEASE label it somehow...I'm (usually) careful to label my SysV-specific comments... -- Jay Maynard, K5ZC (@WB5BBW)...>splut!< | temporarily at uunet!nuchat!jaym Never ascribe to malice that which can | while splut is down (@#*(&$% ST4051!!) adequately be explained by stupidity. | GEnie: JAYMAYNARD CI$: 71036,1603 The opinions herein are shared by neither of my cats, much less anyone else.
aaa@mtuni.UUCP (10/02/87)
Well...I figured not enough has been said about GNU key bindings...so I better post some news. Just to further complicate the issue, look at the thousands of applications that run on MS-DOS machines. They all seem to agree on what DEL should be used for. It is used to delete the character underneath the blinking cursor; in other words, it is equivalent to C-d!! They also all agree that Backspace (sometimes the key is labeled "Backspace" and sometimes "<-") deletes the previous character. When I hit DEL on DOS it deletes the next character; on UNIX/GNU it deletes the previous one. When I hit Backspace on DOS it deletes back one; on UNIX/GNU it brings up Help (and if I hit ? it shows me the alphabet!). Life is complicated. -- Aaron, mtuni!aaa, 201-957-2751
dennis@uw-warp.UUCP (Dennis Gentry) (10/02/87)
>We have a few Convergent Technologies terminals here and the DELete key >is off on the left hand side of the keyboard, sort of where function keys >on certain IBM keyboards are. It's far too difficult to use that key. >The escape key is on the far right of the keyboard on the numeric keypad. >That is one keyboard no EMACS user could live with! > >G. Onufer >University of the Pacific This is just a short plug (and reminder) for keyboard rebinding at the keyboard-translate-table level. I frequently have to use a vt220, which has the backquote key where my fingers say ESC belongs, and has ESC up above the main keyboard in a row of function keys. With the following kind of lisp line in my .emacs, I can use backquote as ESC and ESC as backquote (since I rarely use backquote, except in typing TeX documents, where TeX-mode automatically turns my double-quotes (") into backquotes for me). (setq keyboard-translate-table "\001\002\003...\032'\034...XYZ[\]^_\033abc..." ^bq goes here ^ESC here Of course, this precludes using the arrow keys, but since I have to use many different terminals, some of which don't even have arrow keys, I don't miss them. Happy Emacsing, -- Dennis. ------- arpa: uw-nsr!uw-warp!dennis@beaver.cs.washington.edu usenet: {ihnp4|decvax|...}uw-beaver!uw-nsr!uw-warp!dennis
allbery@ncoast.UUCP (10/03/87)
As quoted from <8@berick.UUCP> by jeffl@berick.UUCP (Jeff Lawhorn): +--------------- | Hasn't anyone heard of 'stty erase "anychar"'? At least on every unix | (SysV, BSD4.?, Xenix, Version 7) this will set your erase character to | whatever you want it to be. +--------------- I have yet to see a getty that lets you issue an stty command. (Go look at the beginning of my previous message on this subject, the one you quoted.) -- Brandon S. Allbery, moderator of comp.sources.misc {{harvard,mit-eddie}!necntc,well!hoptoad,sun!mandrill!hal}!ncoast!allbery ARPA: necntc!ncoast!allbery@harvard.harvard.edu Fido: 157/502 MCI: BALLBERY <<ncoast Public Access UNIX: +1 216 781 6201 24hrs. 300/1200/2400 baud>> "...he calls _that_ a `little adventure'?!" - Cmdr. Ryker
rbj@ICST-CMR.ARPA (Root Boy Jim) (10/09/87)
From: Dennis Gentry This is just a short plug (and reminder) for keyboard rebinding at the keyboard-translate-table level. I frequently have to use a vt220, which has the backquote key where my fingers say ESC belongs, and has ESC up above the main keyboard in a row of function keys. With the following kind of lisp line in my .emacs, I can use backquote as ESC and ESC as backquote (since I rarely use backquote, except in typing TeX documents, where TeX-mode automatically turns my double-quotes (") into backquotes for me). Hmmm. I don't know why I didn't think of this, probably because I solved the problem differently before I found about `keyboard-translate-table'. What I did was: (global-set-key "`" 'ESC-prefix) (global-set-key "\e`" 'self-insert-command) Note that there is no command bound to M-`. Typed twice, it self inserts. Of course, this doesn't do a thing for local keymaps, and "`" will not terminate searches, query replaces, etc. Of course, this precludes using the arrow keys, but since I have to use many different terminals, some of which don't even have arrow keys, I don't miss them. Just because you translated "`" to escape doesn't mean you have to do the reverse. Find an empty key and bind it to 'insert-tick (the writing of which is left as an exercise). I will probably remap tick to escape myself. National Bureau of Standards Flamer's Hotline: (301) 975-5688 Yow! Did something bad happen or am I in a drive-in movie??
mkhaw@teknowledge-vaxc.ARPA (Mike Khaw) (10/09/87)
A good trick on a vt220 keyboard (LK201?) would be to rebind the #$%^&* COMPOSE CHAR key to be the meta key. X-Windows on the Ultrix GPX manages to do this for the mouse (X likes to default to metafied mouse buttons) -- how dey do dat? This would particularly be useful on a microVMS GPX in emacs, because (1) although at the DCL level the F11 key transmits ESC like a good vt220 emulation, (2) inside emacs, F11 transmits ESC-[23~ or some such (because of raw mode?) forcing C-[ as meta -- and (3) neither F11 nor C-[ is particularly easy to type, wheras the COMPOSE CHAR is always getting in the way. Mike Khaw -- internet: mkhaw@teknowledge-vaxc.arpa usenet: {uunet|sun|ucbvax|decwrl|uw-beaver}!mkhaw%teknowledge-vaxc.arpa USnail: Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303
karl@haddock.ISC.COM (Karl Heuer) (10/09/87)
In article <8710082121.AA02323@icst-cmr.arpa.ARPA> rbj@ICST-CMR.ARPA (Root Boy Jim) writes: >What I did [on a terminal with a hard-to-reach ESC key] was: > >(global-set-key "`" 'ESC-prefix) >(global-set-key "\e`" 'self-insert-command) > >Note that there is no command bound to M-`. Typed twice, it self inserts. This also doesn't solve the problem of ESC as a secondary character: C-x ESC and M-ESC still require the real ESC key in your model. I had a similar problem on a certain braindamaged terminal that I probably shouldn't mention by name because it bears our company's logo. The ESC key is hidden below the RETURN key! (Its predecessor, the INtext I, had the same problem.) I hacked something using unread-command-char to make "\eE\r" (sent by the key in the position where ESC belongs) look like ESC, and grudgingly rebound repeat-complex-command to "\C-x\eE\r" and eval-expression to "\e\eE\r", but kept getting bitten by things like the argument to C-h c. I decided that the solution had to be at a lower level, and considered redefining the read-char function. But before I had a chance to try this, I got myself a better terminal. (All this was before I knew about keyboard-translate-table, and that wouldn't have let me remap multi-character keys anyway.) Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint
elg@usl (Eric Lee Green) (10/09/87)
in article <347@nuchat.UUCP>, jaym@nuchat.UUCP (Jay Maynard) says: > In article <4755@ncoast.UUCP>, allbery@ncoast.UUCP (Brandon Allbery) writes: >> What you say works for BSD UNIX. For Xenix, only ^H works. For some System >> V's, ^H and # both work. For other System V's and for System III, only # >> works. "UNIX" is obviously schizoid about the whole matter... >> AND WILL YOU BSD'ERS STOP ACTING AS IF THE WHOLE WORLD RAN 4.xBSD ON A VAX??? I use a Sys V machine regularly. I use the DEL key. It's easy. You just put "stty erase ^?" in your .profile or .login (for those who have a cshell for their Sys V machine). The reason is also easy. I have a DEL key on my keyboard. I don't have a BACKSPACE key on my keyboard. Wow. Now, since it's now painfully obvious that you can make your Unix use whatever key you want for your backspace, can we cease that part of the discussion, and just discuss how to make GNU Emacs more respectful of the BACKSPACE key? I would suggest adding a "emacs-help-character" variable, but I don't know of any spare control codes left (maybe use the sequence M-? instead???). -- Eric Green elg@usl.CSNET from BEYOND nowhere: {ihnp4,cbosgd}!killer!elg, P.O. Box 92191, Lafayette, LA 70509 {ut-sally,killer}!usl!elg "there's someone in my head, but it's not me..."
gaynor@topaz.rutgers.edu (Silver) (10/10/87)
Posting-Front-End: GNU Emacs 18.47.22 of Tue Aug 25 1987 on topaz.rutgers.edu (berkeley-unix) Can a key be arbitrarily redefined to be a true Meta-shift key in GNU Emacs (rather than simply specifying it as a Meta-prefix, like ESCAPE), and/or can ESCAPE be taught how to function as a true Meta-shift? I haven't done any homework, but thought the topic obscure enough to consult the net first before possibly hours of labor. Thanks, Look! Silver. | \|/ V ####################################################################### # LOOKING FOR ENTRY-LEVELISH C/LISP PROGRAMMING, SOFTWARE ENGINEERING # ####################################################################### Andy Gaynor 201-545-0458 81 Hassart St, New Brunswick, NJ 08901 gaynor@topaz.rutgers.edu ...!rutgers!topaz.rutgers.edu!gaynor "There is no Editor but Emacs, and Lisp is its Prophet."
moore@UTKCS2.CS.UTK.EDU (Keith Moore) (10/10/87)
Chances are that the key you use for 'stty erase' is the same key you'd like to use in gnumacs for 'delete-backward-char'. I'd like to see a hook in gnumacs that makes it easy to bind the delete-backward-char function to the 'stty erase' key, whatever it is when you enter gnumacs. Keith Moore UT Computer Science Dept. Internet: moore@utkcs2.cs.utk.edu 107 Ayres Hall, UT Campus CSnet: moore@tennessee Knoxville Tennessee BITNET: moore@utkcs1
jpn@teddy.UUCP (John P. Nelson) (10/12/87)
>Just to further complicate the issue, look at the thousands of >applications that run on MS-DOS machines. They all seem to agree on >what DEL should be used for. It is used to delete the character >underneath the blinking cursor; in other words, it is equivalent to >C-d!! They also all agree that Backspace (sometimes the key is >labeled "Backspace" and sometimes "<-") deletes the previous character. Well, this is not really true. The "DELETE" key on a PC is NOT the same as the "DEL" key on most terminals. It does not generate the same key value when struck (It generates an "extended keyboard code", not the DEL value of 0x7F), and was obviously intended to be paired with the INSERT key (just as the Page Up and Page Dn keys are paired also). Actually, DEL IS available on the PC keyboard: It is mapped as SHIFT "<-" (SHIFT "Backspace").
aaa@mtuni.ATT.COM (Aaron Akman) (10/20/87)
Posting-Front-End: GNU Emacs 18.37.4 of Wed Mar 4 1987 on mtuni (usg-unix-v) *Well, this is not really true. The "DELETE" key on a PC is NOT the *same as the "DEL" key on most terminals. It does not generate the same *key value when struck (It generates an "extended keyboard code", not *the DEL value of 0x7F), and was obviously intended to be paired with *the INSERT key (just as the Page Up and Page Dn keys are paired *also). The PC's "Delete" key is the same in the sense that it is (according to those English experts who explained the difference between Backspace and Delete) the *supposed* proper mnemonic for delete-backward-char. My point is that if you look at the 100 best selling software packages in America (I'm afraid they're not mostly for UNIX) they almost all use the mnemonic "Delete" to mean "delete the character under the cursor" which is analogous to C-d in GNU. I'm sure that the keyboard codes are exactly as you have explained. Nevertheless, I still jump from GNU to DOS daily, and, heck, am I confused. -- Aaron, mtuni!aaa, 201-957-2751
bzs@bu-cs.BU.EDU (Barry Shein) (10/23/87)
Posting-Front-End: GNU Emacs 18.41.4 of Mon Mar 23 1987 on bu-cs (berkeley-unix) >they almost all use the mnemonic "Delete" to mean "delete >the character under the cursor" which is analogous to C-d in GNU. Oh no, like the 3278...prescient delete, it only deletes what you were *about* to type. I guess it just goes to prove that no one ever went broke underestimating the taste of the American public... -Barry Shein, Boston University