#include "termkey.h"
#include "termkey-internal.h"
#include <ctype.h>
#include <errno.h>
#ifndef _WIN32
# include <poll.h>
# include <unistd.h>
# include <strings.h>
#else
# include <io.h>
#endif
#include <string.h>
#include <stdio.h>
#ifdef _MSC_VER
# define strcaseeq(a,b) (_stricmp(a,b) == 0)
#else
# define strcaseeq(a,b) (strcasecmp(a,b) == 0)
#endif
void termkey_check_version(int major, int minor)
{
if(major != TERMKEY_VERSION_MAJOR) {
fprintf(stderr, "libtermkey major version mismatch; %d (wants) != %d (library)\n",
major, TERMKEY_VERSION_MAJOR);
exit(1);
}
if(minor > TERMKEY_VERSION_MINOR) {
fprintf(stderr, "libtermkey minor version mismatch; %d (wants) > %d (library)\n",
minor, TERMKEY_VERSION_MINOR);
exit(1);
}
// Happy
}
static struct TermKeyDriver *drivers[] = {
&termkey_driver_ti,
&termkey_driver_csi,
NULL,
};
// Forwards for the "protected" methods
// static void eat_bytes(TermKey *tk, size_t count);
static void emit_codepoint(TermKey *tk, long codepoint, TermKeyKey *key);
static TermKeyResult peekkey_simple(TermKey *tk, TermKeyKey *key, int force, size_t *nbytes);
static TermKeyResult peekkey_mouse(TermKey *tk, TermKeyKey *key, size_t *nbytes);
static TermKeySym register_c0(TermKey *tk, TermKeySym sym, unsigned char ctrl, const char *name);
static
|