Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #15681 > unrolled thread
| Started by | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| First post | 2019-11-30 12:24 -0500 |
| Last post | 2019-11-30 12:24 -0500 |
| Articles | 1 — 1 participant |
Back to article view | Back to gnu.bash.bug
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: No way to 'bind -x' symbolic character names Chet Ramey <chet.ramey@case.edu> - 2019-11-30 12:24 -0500
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Date | 2019-11-30 12:24 -0500 |
| Subject | Re: No way to 'bind -x' symbolic character names |
| Message-ID | <mailman.3.1575138610.1979.bug-bash@gnu.org> |
On 11/30/19 9:57 AM, Dennis Williamson wrote: > On Fri, Nov 29, 2019, 10:40 AM Nikolaos Kakouros <nkak@kth.se> wrote: > >> Using bash version: >> >> GNU bash, version 5.0.11(1)-release (x86_64-pc-linux-gnu) >> >> >> Trying to map Backspace to execute a function, I try to do: >> >> bind -x '"Rubout": my_func' >> >> This, as expected, binds the string 'Rubout' to the function. Omitting the >> double quotes makes bind fail. Escaping, like `\Rubout`, works neither. The answer below, using the standard "\C-?" notation to denote DEL, is the right one. The symbolic character names were deprecated a number of years ago. They only work with old APIs. >> This is important in the case of Backspace, as there is no (to my >> knowledge) other way to bind the backspace than using Rubout. Using Konsole >> as my terminal emulator, `C-v Backspace` prints `^?` which I haven't >> managed to use with bind. >> > > Backspace is a terminal setting which has precedence. You have to first > undefine it. > > stty erase undef > bind -x '"\C-?":my_func' The `stty erase under' might be overkill, since it affects all programs using that terminal. Readline binds the terminal special characters if the variable `bind-tty-special-chars' is set, and it's set by default. You could unset that instead of disabling the stty erase character binding. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
Back to top | Article view | gnu.bash.bug
csiph-web