Символ, выбранный с помощью getch (), записывается в консоль, даже после использования noecho () - PullRequest
0 голосов
/ 19 октября 2018

Я сейчас работаю над текстовым редактором.Строка if userInput == 68 проверяет, нажимает ли пользователь клавишу со стрелкой влево, я думаю, что код выполняется, но ^[[ все еще печатает, даже если я использую noecho().Вот код

#!/usr/bin/env python3

from unicurses import * 
from sys import *

stdscr = initscr()
start_color()
use_default_colors()
noecho()

fileLines = []
fileName = "test.txt"
currentY = 0
currentX = 0 
userInput = ""

for i in range(0, 256):
    curses.init_pair(i + 1, i, -1)

while True:

userInput = getch()

if userInput == 68:
    currentX = currentX-1
    move(currentY, currentX)
elif userInput == 127:
    if currentX != 0:
        currentX = currentX-1
        move(currentY, currentX)
        addstr(" ")
        move(currentY, currentX)
    else:
        continue
else:
    addstr(chr(userInput))
    currentX = currentX+1

endwin()
...