7#ifndef GHOSTTY_VT_KEY_ENCODER_H
8#define GHOSTTY_VT_KEY_ENCODER_H
38#define GHOSTTY_KITTY_KEY_DISABLED 0
41#define GHOSTTY_KITTY_KEY_DISAMBIGUATE (1 << 0)
44#define GHOSTTY_KITTY_KEY_REPORT_EVENTS (1 << 1)
47#define GHOSTTY_KITTY_KEY_REPORT_ALTERNATES (1 << 2)
50#define GHOSTTY_KITTY_KEY_REPORT_ALL (1 << 3)
53#define GHOSTTY_KITTY_KEY_REPORT_ASSOCIATED (1 << 4)
56#define GHOSTTY_KITTY_KEY_ALL (GHOSTTY_KITTY_KEY_DISAMBIGUATE | GHOSTTY_KITTY_KEY_REPORT_EVENTS | GHOSTTY_KITTY_KEY_REPORT_ALTERNATES | GHOSTTY_KITTY_KEY_REPORT_ALL | GHOSTTY_KITTY_KEY_REPORT_ASSOCIATED)
uint8_t GhosttyKittyKeyFlags
struct GhosttyKeyEncoder * GhosttyKeyEncoder
GhosttyResult ghostty_key_encoder_new(const GhosttyAllocator *allocator, GhosttyKeyEncoder *encoder)
void ghostty_key_encoder_setopt(GhosttyKeyEncoder encoder, GhosttyKeyEncoderOption option, const void *value)
struct GhosttyKeyEvent * GhosttyKeyEvent
GhosttyResult ghostty_key_encoder_encode(GhosttyKeyEncoder encoder, GhosttyKeyEvent event, char *out_buf, size_t out_buf_size, size_t *out_len)
void ghostty_key_encoder_free(GhosttyKeyEncoder encoder)
@ GHOSTTY_KEY_ENCODER_OPT_IGNORE_KEYPAD_WITH_NUMLOCK
@ GHOSTTY_KEY_ENCODER_OPT_KITTY_FLAGS
@ GHOSTTY_KEY_ENCODER_OPT_CURSOR_KEY_APPLICATION
@ GHOSTTY_KEY_ENCODER_OPT_ALT_ESC_PREFIX
@ GHOSTTY_KEY_ENCODER_OPT_KEYPAD_KEY_APPLICATION
@ GHOSTTY_KEY_ENCODER_OPT_MODIFY_OTHER_KEYS_STATE_2
@ GHOSTTY_KEY_ENCODER_OPT_MACOS_OPTION_AS_ALT
@ GHOSTTY_OPTION_AS_ALT_FALSE
@ GHOSTTY_OPTION_AS_ALT_TRUE
@ GHOSTTY_OPTION_AS_ALT_LEFT
@ GHOSTTY_OPTION_AS_ALT_RIGHT