st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit e8f3513bf4d953176ae932c5d7eb5c374b05a2a0
parent f210ea26c444607980d5de17ed7d4e62bb813631
Author: Wolfgang Corcoran-Mathe <first.lord.of.teal@gmail.com>
Date:   Fri, 25 Jul 2014 13:32:29 -0400

Add info about Backspace and Delete to the FAQ

Here is a modest attempt at cleaning it up a little bit. I changed a
few phrases that seemed awkward, but I think the content is the same.

--
Wolfgang Corcoran-Mathe

Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>

Diffstat:
MFAQ | 87+++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 43 insertions(+), 44 deletions(-)
diff --git a/FAQ b/FAQ
@@ -104,54 +104,53 @@ This is an issue that was discussed in suckless mailing list
 <http://lists.suckless.org/dev/1404/20697.html>:
 
     Well, I am going to comment why I want to change the behaviour
-    of this key. When ascii was defined in 1968 communication
-    with computers were done using punched cards, or hardcopy
-    terminals (basically a typewritter machine connected with
-    the computer using a serial port). Due to this, ascii defines
-    DELETE as 7F, because in the puched cards, it means all the
-    holes of the card punched, so it is a kind of 'phisical
-    delete'. In the same way, BACKSPACE key was a non destructive
-    back space, as in typewriter machines.  So, if you wanted
-    to delete a character, you had to BACKSPACE and then DELETE.
-    Other use of BACKSPACE was accented characters, for example
-    'a BACKSPACE `'. The VT100 had no BACKSPACE key, it was
-    generated using the CONTROL key as another control character
-    (CONTROL key sets to 0 b7 b6 b5, so it converts H (code
-    0x48) into BACKSPACE (code 0x08)), but it had a DELETE key
-    in a similar position where BACKSPACE key is located today
-    in common PC keyboards. All the terminal emulators emulated
-    correctly the difference between these keys, and backspace
-    key generated a BACKSPACE (^H) and delete key generated a
-    DELETE (^?).
-
-    But the problem arised when Linus Torvald wrote Linux, and
-    he did that the virtual terminal (the terminal emulator
-    integrated in the kernel) returns a DELETE when backspace
-    was pressed, due to the fact of the key in that position
-    in VT100 was a delete key. This created a lot of problems
-    (you can see it in [1] and [2]), and how Linux became the
-    king, a lot of terminal emulators today generate a DELETE
-    when backspace key is pressed in order to avoid problems
-    with linux. It causes that the only way of generating a
-    BACKSPACE in these systems is using CONTROL + H. I also
-    think that emacs had an important point here because CONTROL
-    + H prefix is used in emacs in some commands (help commands).
+    of this key. When ASCII was defined in 1968, communication
+    with computers was done using punched cards, or hardcopy
+    terminals (basically a typewriter machine connected with the
+    computer using a serial port).  ASCII defines DELETE as 7F,
+    because, in punched-card terms, it means all the holes of the
+    card punched; it is thus a kind of 'physical delete'. In the
+    same way, the BACKSPACE key was a non-destructive backspace,
+    as on a typewriter.  So, if you wanted to delete a character,
+    you had to BACKSPACE and then DELETE.  Another use of BACKSPACE
+    was to type accented characters, for example 'a BACKSPACE `'.
+    The VT100 had no BACKSPACE key; it was generated using the
+    CONTROL key as another control character (CONTROL key sets to
+    0 b7 b6 b5, so it converts H (code 0x48) into BACKSPACE (code
+    0x08)), but it had a DELETE key in a similar position where
+    the BACKSPACE key is located today on common PC keyboards.
+    All the terminal emulators emulated the difference between
+    these keys correctly: the backspace key generated a BACKSPACE
+    (^H) and delete key generated a DELETE (^?).
+
+    But a problem arose when Linus Torvalds wrote Linux. Unlike
+    earlier terminals, the Linux virtual terminal (the terminal
+    emulator integrated in the kernel) returned a DELETE when
+    backspace was pressed, due to the VT100 having a DELETE key in
+    the same position.  This created a lot of problems (see [1]
+    and [2]). Since Linux has become the king, a lot of terminal
+    emulators today generate a DELETE when the backspace key is
+    pressed in order to avoid problems with Linux. The result is
+    that the only way of generating a BACKSPACE on these systems
+    is by using CONTROL + H. (I also think that emacs had an
+    important point here because the CONTROL + H prefix is used
+    in emacs in some commands (help commands).)
 
     From point of view of the kernel, you can change the key
     for deleting a previous character with stty erase. When you
-    connect a real terminal into a machine you describe the
-    type of terminal, so getty configure the correct value of
-    stty erase for this terminal, but in the case of terminal
-    emulators you don't have any getty that can set the correct
+    connect a real terminal into a machine you describe the type
+    of terminal, so getty configures the correct value of stty
+    erase for this terminal. In the case of terminal emulators,
+    however, you don't have any getty that can set the correct
     value of stty erase, so you always get the default value.
-    So it means that in case of changing the value of the
-    backspace keyboard, you have to add a 'stty erase ^H' into
-    your profile. Of course, other solution can be that st
-    itself modify the value of stty erase.  I have usually the
-    inverse problem, when I connect with non Unix machines, and
-    I have to press control + h to get a BACKSPACE, or the
-    inverse, when a user connects to my unix machines from a
-    different system with a correct backspace key.
+    For this reason, it is necessary to add 'stty erase ^H' to your
+    profile if you have changed the value of the backspace key.
+    Of course, another solution is for st itself to modify the
+    value of stty erase.  I usually have the inverse problem:
+    when I connect to non-Unix machines, I have to press CONTROL +
+    h to get a BACKSPACE. The inverse problem occurs when a user
+    connects to my Unix machines from a different system with a
+    correct backspace key.
 
     [1] http://www.ibb.net/~anne/keyboard.html
     [2] http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-5.html