[backspace troubles] You speak of "delete" as expecting it to delete right, and there's a critical distinction between DEL and Delete. As I'm sure you know, one is ASCII and the other is an ANSI sequence dating from I think the vt100. emacs has code to figure out whether the Backspace keysym is something that should be mapped to DEL or to BS. I had never really noticed, but in X keysym <backspace> is mapped to DEL, and all works as one used to DEC terminals would expect. <delete> (the "Delete" key) is translated to C-d. http://www.gnu.org/software/emacs/manual/html_node/emacs/DEL-Does-Not-Delete.html The following may be helpful. I set up X so that the key labeled backspace sends DEL. Then I have my erase character set to DEL. emacs works fine, and I can type ^H for help. Without this, ^H deletes and there's no easy way to invoke help. /* * The following comments are for those that believe the key that is * where the delete (DEL) key belongs (from a VT52 or VT100) should * send DEL (0177) and that the terminal erase character should also * be DEL (0177). * * On a PC keyboard, the BackSpace key generates * keycode 22 (keysym 0xff08, BackSpace). * The "Delete" key is a function key near Insert, not a DEL key, and it * generates keycode 107 (keysym 0xffff, Delete). * XXX Figure out what happens under X with a keyboard with a real DEL key. */ /* * Don't mess with the pty's notion of erase (which defaults to DEL in * NetBSD). This should be set on all computers, regardless of the * type of keyboard. */ *ptyInitialErase: true /* * Make the backarrow key send DEL (without control), rather than BS. * This should be set for any display whose keyboard has a key labeled * BackSpace where the delete (DEL) key should be. */ *backarrowKey: false /* * Alternatively, one could set backarrowKeyIsErase to true, which the * man page says would set the backarrowKey state according to whether * stty erase character is DEL or BS. */ /* * It appears that ssh propagates the local stty erase character * setting to the remote machine, at least when both ends are NetBSD * 1.6.2ish. Thus, fixing the key that should be delete locally * (above) is sufficient to cause the correct behavior on remote * systems (i.e., ssh sends 0177 when the key-where-DEL-should-be is * pressed, the remote stty erase setting is 0177, in emacs both * DEL and M-DEL work correctly, and one can invoke help by sending 010 * (by typing C-DEL or C-H). (With the standard behavior of DEL * sending BS and stty erase set to BS, one cannot easily invoke help * in emacs.) */
Attachment:
pgpfhuYy4macF.pgp
Description: PGP signature