ncurses:当按下箭头键时程序退出



我的问题正是题目所说的。我的程序退出后,我按箭头向上。

这是我的程序:

pub fn main() !void {
_ = c.initscr();
defer _ = c.endwin();
var i: u32 = 0;
main_loop: while (true) : (i += 1) {
var key: c_int = undefined;
if (i != 0) {
key = c.getch();
switch (key) {
std.ascii.control_code.esc => break :main_loop,
c.KEY_UP => {
const dir = try std.fs.cwd().openIterableDir(cwd_path, .{});
_ = dir;
try putText(CWD_Y + 2, CWD_X + 2, "hahaha");
},
else => try putText(ERROR_Y, ERROR_X, "ERROR: pressed unhandled key"),
}
}
try updateCwd();
try putText(CWD_Y, CWD_X, cwd_path);
}
}

感谢

在大多数终端上,KEY_UP对应一个转义序列。如果你想让你的程序把转义序列转换成一个键码,使用keypad函数,例如,在initscr之后调用这个函数:

c.keypad(1);

最新更新