Exemple #1
0
static void curses_keyboard_setup(void)
{
#if defined(__APPLE__)
    /* always use generic keymaps */
    if (!keyboard_layout)
        keyboard_layout = "en-us";
#endif
    if(keyboard_layout) {
        kbd_layout = init_keyboard_layout(name2keysym, keyboard_layout);
        if (!kbd_layout)
            exit(1);
    }
}
static void curses_keyboard_setup(void)
{
    int i, keycode, keysym;

#if defined(__APPLE__)
    /* always use generic keymaps */
    if (!keyboard_layout)
        keyboard_layout = "en-us";
#endif
    if(keyboard_layout) {
        kbd_layout = init_keyboard_layout(name2keysym, keyboard_layout);
        if (!kbd_layout)
            exit(1);
    }

    for (i = 0; i < CURSES_KEYS; i ++)
        keycode2keysym[i] = -1;

    for (i = 0; i < CURSES_KEYS; i ++) {
        if (curses2keycode[i] == -1)
            continue;

        keycode = curses2keycode[i] & KEY_MASK;
        if (keycode2keysym[keycode] >= 0)
            continue;

        for (keysym = 0; keysym < CURSES_KEYS; keysym ++)
            if (curses2keycode[keysym] == keycode) {
                keycode2keysym[keycode] = keysym;
                break;
            }

        if (keysym >= CURSES_KEYS)
            keycode2keysym[keycode] = i;
    }
}