I’m trying to get the backspace key to work in a python script that I have. Basically, the code in the script looks something like:
print("Please type the character 'h':")
choice = raw_input()
if choice == 'h':
print("Thanks.")
else:
print("You input the wrong character.")
Now, obviously, this is a toy script, but I’m having difficulty getting raw_input() to do what I want. For example, if I run the script, type a, then realize that I’ve typed the wrong character, and so hit backspace, I get:
Please type the character 'h':
a^H
But, if I type ^? instead, it translates to the correct command:
Please type the character 'h':
<<< CURSOR HERE
So, my question is this: I think this has to do with my linux environment – i.e. I think I need to load a keymap that tells linux that I want it to output ^? when the backspace key is hit, but I don’t know why it seems to work in all other programs (even the python interpreter, surprisingly – if I manually put that code into the python interpreter, it works as expected!)
What terminal program are you using? It may have a setting with which you can control how your backspace key is interpreted.
In gnome-terminal, if you click on

Edit>Profile Preferences>Compatibility,you can tell gnome-terminal to send
ASCII DELinstead of Ctrl-h when the backspace key is pressed.Otherwise, I think you can fix your keymap with something like
My memory is rusty, however. Please consult the HOWTO and/or this guide for details.