[vox-tech] backspace keycode in C: xterm vs console

Peter Jay Salzman vox-tech@lists.lugod.org
Tue, 25 Dec 2001 02:43:12 -0800


/* #define BACKSPACE   127 */
#define BACKSPACE   8

while((c=wgetch(w3)) != NEWLINE) {
	wmove(w3, W3LEN-1, input->len + 1);
	if (c == BACKSPACE && input->len > 2) {
		g_string_truncate(input, input->len - 1);
		wmove(w3, W3LEN-1, input->len + 1);
	} else if (c == CONTROL_U) {
		g_string_assign(input, "> ");
		wmove(w3, W3LEN-1, input->len );
	}


for X11/xterms, the backspace key is keycode 8.  for console it's 127.
i'd like for this program to work in console as well as xterm without
changing the #define and recompiling the program.

is there any way to deal with this other than making the backspace
keycode into a global variable (or worse, passing its value to every
function that needs it)?

pete

-- 
PGP Fingerprint: B9F1 6CF3 47C4 7CD8 D33E  70A9 A3B9 1945 67EA 951D
PGP Public Key:  finger p@dirac.org