Debuger interfering with stdin?

With Komodo IDE 11 on Linux i am trying to debug my Python 3.4 program. I have difficulties to do this, I think because the program uses stdin, fileno and similar things, so it interferes with the debuger.

I need these mainly to getch my keystrokes in the program.

When I start debugging I hoped to overcome the difficulties by setting the checkbox that allows debuging with the separate OS console. This checkbox is presented at the start of debuging.
In this console I see my program running and I can enter my keystrokes /input which does not function in the standard debug Panel.
In the usual debug paneI it was not possible to debug as soon as stdin or fileno are involved, I think these are modified by the debuger. I also cannot read the size of the usual debug panel, could be I should set TERM ? To what value??
But when I use the separate OS-console it looks just like a normal run of the program, So I hoped this could be a way to debug without input-issues. But there I cannot see any debugging actions: I cannot step in, enter no commands, not watch the variables.
What do I wrong?
I do not have much experience with debugers. With the simple pdb of Python i did not have such problems (as long as not using IDLE), but I would prefer the more comfortsble Komodo IDE.
I also do not have much knowledge how to debug programs that interfere with stdin etc.

Hi, you will likely need to use sys.stdin.read() or an equivalent. Since sys.stdin is buffered, you will either have to turn it off to capture single keystrokes or be okay with pressing the Enter key to send a typed character for processing. I don’t recall how to turn of stdin buffering, but the Python documentation may be of help.

You are correct that Komodo’s debugger does hook into stdin, and since it’s not a terminal, any getch(), terminal-type functions will not work.

Thanks for your reply.

For the solution with sys.stdin.read I found no way. To store old_settings of stdin with termios.tcgetattr(fd) its needed to know fd=sys.stdin.fileno() but this is not possible, the program stops. I suppose this is because the debugger is hooked and there is no fileno.
One way to stop buffering of stdin would be, so its written on the internet, to start python3 with option -u. I do not like this idea, as I do not know what other consequences this would have.
As I do not fully understand all these details I cannot solve the problem, even with searching on the internet.

It would also be no good, when each Keystroke must be followed by return. I need something like getch().

But I wonder: why is it possible to use the simple pdb-debugger (not under IDLE) that comes together with python3? Is it just because it works in a old fashioned console??

This gave me the idea to click the checkbox “Debug in a separate console”, which is presented at the start of Komodo11 debugger. When I do this, my program starts in a console as soon as I click on GO. I can do input with pager.getch(). BUT: it looks just like a normal run of my program. I do not find any debugging information on the screen.
How can I debug in this separate console?