我正在尝试在ncurses应用程序中输入多个字符(例如重音符号,特殊字符):
我先在终端输入: xmodmap -e“键码66 = Multi_key” 接着: capslock e = (这3个键)给出一个欧元符号:€<-您应该会看到一个欧元 签名,请参见https://en.wikipedia.org/wiki/Euro_sign
在ncurses应用程序中,我遇到了垃圾,或者终端似乎挂起了-然后我需要按几个键才能将其解开,这通常是行不通的。
#include <ncursesw/curses.h>
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");
initscr();
start_color();
use_default_colors();
keypad(stdscr, TRUE);
cbreak();
intrflush(stdscr, FALSE);
noecho();
refresh();
nodelay(stdscr, FALSE);
meta(stdscr, TRUE); /* enable 8-bit input */
raw(); /* to be able to catch ctrl+c */
leaveok(stdscr, TRUE);
for(;;) {
wint_t ch;
if (get_wch(&ch) != ERR) {
wchar_t temp[] = { ch, 0x00 };
addwstr(temp);
}
else {
addwstr(L" {ERR} ");
}
refresh();
}
return 0;
}
有什么想法吗?