im creating an application using curses and im using the getch() function to get keyboard input, the problem is, that it is painfully slow, it takes several seconds to detect the pressed key and normally i have to press the key several times so the program actually detects it, there is a way to make getch() respond instantly (or at least at a usable speed)?

  • Shimitar@feddit.it
    link
    fedilink
    arrow-up
    6
    ·
    10 months ago

    I believe you are using it wrong. I assume Linux ofc.

    You need to poll/wait on it, and it is immediate and never loses one press if you use it properly.

    Otherwise look into raw mode, you will need to change the input mode and will be able to read keypresses “as in videogames”.

    If you need I can point you to some code, bit since you didn’t post any I assume you want to do it by yourself

    • prettydarknwild@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      the problem was that that i was evaluating the output of getch() in every if statement inside my main loop instead of defining it as a variable inside the loop and checking that variable