version 1.46, 2015/11/12 11:05:34 |
version 1.47, 2015/11/12 22:04:37 |
|
|
size_t dlen; |
size_t dlen; |
char *out; |
char *out; |
key_code justkey; |
key_code justkey; |
struct utf8_data utf8data; |
struct utf8_data ud; |
|
|
log_debug("writing key 0x%llx (%s) to %%%u", key, |
log_debug("writing key 0x%llx (%s) to %%%u", key, |
key_string_lookup_key(key), wp->id); |
key_string_lookup_key(key), wp->id); |
|
|
if (key != KEYC_NONE && justkey < 0x7f) { |
if (key != KEYC_NONE && justkey < 0x7f) { |
if (key & KEYC_ESCAPE) |
if (key & KEYC_ESCAPE) |
bufferevent_write(wp->event, "\033", 1); |
bufferevent_write(wp->event, "\033", 1); |
utf8data.data[0] = justkey; |
ud.data[0] = justkey; |
bufferevent_write(wp->event, &utf8data.data[0], 1); |
bufferevent_write(wp->event, &ud.data[0], 1); |
return; |
return; |
} |
} |
if (key != KEYC_NONE && justkey > 0x7f && justkey < KEYC_BASE) { |
if (key != KEYC_NONE && justkey > 0x7f && justkey < KEYC_BASE) { |
if (utf8_split(justkey, &utf8data) != 0) |
if (utf8_split(justkey, &ud) != 0) |
return; |
return; |
if (key & KEYC_ESCAPE) |
if (key & KEYC_ESCAPE) |
bufferevent_write(wp->event, "\033", 1); |
bufferevent_write(wp->event, "\033", 1); |
bufferevent_write(wp->event, utf8data.data, utf8data.size); |
bufferevent_write(wp->event, ud.data, ud.size); |
return; |
return; |
} |
} |
|
|