私は独学で ncurses を学ぼうとしてきましたが、今のところ気に入っています。しかし、私は pico や nano のような小さな小さなテキスト エディターを作成しようとしています。これまでのところ、かなりうまく設定できています。キーをマップする関数を作成しました。私が何をしても、 からの応答が得られませんKEY_ENTER
。押すたびに、現在の行の先頭に移動します。raw(); を使用してみました。KEY_ENTER
運がない代わりに13を使用します。他のすべてのキーは期待どおりに反応します。アドバイスをいただければ幸いです。私はそれを永遠に機能させようとしてこれを見つめてきました。ありがとう!
#include <stdlib.h>
#include <ncurses.h>
// gcc keymaps.c -lncurses -o keymaps
int main(){
int ch;
initscr();
cbreak();
noecho();
keypad(stdscr,TRUE);
while (ch = getch()) {
switch(ch){
case KEY_UP:
addstr("Up\n");
break;
case KEY_LEFT:
addstr("Left\n");
break;
case KEY_RIGHT:
addstr("Right\n");
break;
case KEY_BACKSPACE:
addstr("Backspace\n");
break;
case KEY_ENTER:
addstr("You pressed Enter\n");
default:
printw ("%u\n", ch);
break;
}
}
}