例如,假设我有字符串“Hinge” - 我希望能够将光标移到开头,按del键删除“H”,并插入一个“B”,将光标前面的所有内容向前推送,创建单词“Binge”,而不是覆盖默认行为下的“i”。我可以使用标准的addch()函数来实现这一点吗?
此外,即使我能够正确地在屏幕上打印,似乎这个过程过于复杂,以至于难以对应到缓冲区。这似乎是一个常见的任务,但我想不出一个非hacky的方法来解决它。
以下是我目前处理基本输入的示例。
此外,即使我能够正确地在屏幕上打印,似乎这个过程过于复杂,以至于难以对应到缓冲区。这似乎是一个常见的任务,但我想不出一个非hacky的方法来解决它。
以下是我目前处理基本输入的示例。
if (isprint(key)) {
if (ctx->pos != sizeof(ctx->line)-1) {
mvwaddch(self->window, y, x, key);
ctx->line[ctx->pos++] = key;
ctx->line[ctx->pos] = '\0';
}
}