static int get_keycode(const char *key)

{

    const KeyDef *p;

    char *endp;

    int ret;



    for(p = key_defs; p->name != NULL; p++) {

        if (!strcmp(key, p->name))

            return p->keycode;

    }

    if (strstart(key, "0x", NULL)) {

        ret = strtoul(key, &endp, 0);

        if (*endp == '\0' && ret >= 0x01 && ret <= 0xff)

            return ret;

    }

    return -1;

}

static int get_keycode(const char *key)

{

    const KeyDef *p;

    char *endp;

    int ret;



    for(p = key_defs; p->name != NULL; p++) {

        if (!strcmp(key, p->name))

            return p->keycode;

    }

    if (strstart(key, "0x", NULL)) {

        ret = strtoul(key, &endp, 0);

        if (*endp == '\0' && ret >= 0x01 && ret <= 0xff)

            return ret;

    }

    return -1;

}

static int FUNC_0(const char *VAR_0)

{

    const KeyDef *VAR_1;

    char *VAR_2;

    int VAR_3;



    for(VAR_1 = key_defs; VAR_1->name != NULL; VAR_1++) {

        if (!strcmp(VAR_0, VAR_1->name))

            return VAR_1->keycode;

    }

    if (strstart(VAR_0, "0x", NULL)) {

        VAR_3 = strtoul(VAR_0, &VAR_2, 0);

        if (*VAR_2 == '\0' && VAR_3 >= 0x01 && VAR_3 <= 0xff)

            return VAR_3;

    }

    return -1;

}

static int FUNC_0(const char *VAR_0)
{ const KeyDef *VAR_1; char *VAR_2; int VAR_3; for(VAR_1 = key_defs; VAR_1->name != NULL; VAR_1++) { if (!strcmp(VAR_0, VAR_1->name))
return VAR_1->keycode; } if (strstart(VAR_0, "0x", NULL)) { VAR_3 = strtoul(VAR_0, &VAR_2, 0); if (*VAR_2 == '\0' && VAR_3 >= 0x01 && VAR_3 <= 0xff)
return VAR_3; } return -1; }