`getpass`'s `echo_char` should not affect keyboard shortcuts
Bug report
Bug description:
Hitting Ctrl+U should clear the line but this is badly handled when echo_char is given:
>>> getpass.getpass() Password: 'bar' >>> getpass.getpass(echo_char="*") Password: ******* 'foo\x15bar'
See #138514 (comment).
This issue stems from the fact that we switch to non-canonical mode (https://www.man7.org/linux/man-pages/man3/termios.3.html). The rationale is that in canonical mode, we only have a line-by-line feedback (so we would see the characters only when we hit ENTER, which is not really useful...)
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux