我正在学习 Curses 课程,但无法控制 ENTER 键。到目前为止,这是我的代码:
require 'curses'
win = Curses::Window.new(0, 0, 0, 0)
Curses.init_screen
Curses.cbreak
Curses.nonl
Curses.stdscr.keypad(true)
loop do
case Curses.getch
when 13 # Enter
Curses.addstr "abc"
when 8 # Backspace
Curses.delch
end
end
win.close
问题是,当我按 ENTER 键时,“abc”被写入屏幕(如预期的那样);但是,当我第二次按 ENTER 时,“abc”只是重新写入屏幕上的相同位置。似乎按 ENTER 键首先将光标位置设置为 (0,0),然后添加字符串。如何停止将光标位置设置为(0,0)?
此外,由于某种原因,常量与我的键不匹配,因此 ENTER 键是键 13,但 ENTER 键的 Ruby 常量是 400ish。我没有使用花哨的键盘或任何东西;标准的美式。