ncurses ライブラリ ファイルを使用してテキスト エディタ プログラムを作成していますが、enter
キーを押した後にカーソルを新しい行に移動することができません。switch case
どのキーが押されたかを判断するために使用し、変数を変更して現在の位置を判断しています。すべて正常に動作しますが、カーソルを押した後にEnter
移動しません。関数を使用していmove(y,x)
ます。
while((ch = getch())!= KEY_F(1))
{
switch(ch)
{
case KEY_LEFT:
if(posx>0)
posx--;
//traverse left in my link list
break;
case KEY_RIGHT:
if(posx<=cols && posx<cur_maxx)
posx++;
//traverse right in my link list
break;
case 263:
if(posx>0)
posx--;
//delete one node in link list
break;
case KEY_ENTER:
posx=0;
posy=10; //for testing
//add new line at end of link list
break;
default:
c=ch;
getyx(stdscr,y,x);
//add the character to the linked list based on its
//position(insert at prev or append)
break;
}
clear();
traverse(mn);//it is for printing the characters
move(y+posy,x+posx);
refresh();
}
すべてが左キーと右キーで正常に機能しますが、Enter キーを押した後、カーソルが前の位置でハングアップし、出力が新しい行になりました。Enter キーを押した後にカーソルを正常に移動するにはどうすればよいですか? (ncurses を使用して) カーソルを移動する他の方法はありますか?