ncurses和输入多键字符

时间:2018-06-22 10:10:53

标签: terminal internationalization ncurses

我正在尝试在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;
}

有什么想法吗?

0 个答案:

没有答案