34#define GETCH_NO_FLAGS 0
35#define GETCH_IGNORE_MACRO (1 << 0)
38#define KEY_GATHER_NO_MATCH 0
39#define KEY_GATHER_MATCH (1 << 0)
40#define KEY_GATHER_LONGER (1 << 1)
44#define MFF_DEPRECATED (1 << 1)
72void array_add (
struct KeyEventArray *a,
int ch,
int op);
#define ARRAY_HEAD(name, T)
Define a named struct for arrays of elements of a certain type.
struct KeyEventArray MacroEvents
These are used for macros and exec/push commands.
struct KeyEvent km_dokey(enum MenuType mtype, GetChFlags flags)
Determine what a keypress should do.
struct KeyEventArray UngetKeyEvents
These are used in all other "normal" situations, and are not ignored when passing GETCH_IGNORE_MACRO.
struct KeyEvent mutt_getch(GetChFlags flags)
Read a character from the input buffer.
uint8_t GetChFlags
Flags for mutt_getch(), e.g. GETCH_NO_FLAGS.
KeyGatherFlags gather_functions(const struct MenuDefinition *md, const keycode_t *keys, int key_len, struct KeymapMatchArray *kma)
Find functions whose keybindings match.
void generic_tokenize_push_string(char *s)
Parse and queue a 'push' command.
void mutt_flushinp(void)
Empty all the keyboard buffers.
void array_add(struct KeyEventArray *a, int ch, int op)
Add an event to the end of the array.
void array_to_endcond(struct KeyEventArray *a)
Clear the array until an OP_END_COND.
void mutt_push_macro_event(int ch, int op)
Add the character/operation to the macro buffer.
void mutt_unget_op(int op)
Return an operation to the input buffer.
int mutt_monitor_getch(void)
Get a character and poll the filesystem monitor.
uint8_t KeyGatherFlags
Flags for gather_functions(), e.g. KEY_GATHER_NO_MATCH.
void mutt_flush_macro_to_endcond(void)
Drop a macro from the input buffer.
uint8_t MenuFuncFlags
Flags, e.g. MFF_DEPRECATED.
struct KeyEvent * array_pop(struct KeyEventArray *a)
Remove an event from the array.
void mutt_unget_ch(int ch)
Return a keystroke to the input buffer.
void km_error_key(enum MenuType mtype)
Handle an unbound key sequence.
short keycode_t
Type for key storage, the rest of neomutt works fine with int type.
Convenience wrapper for the library headers.
An event such as a keypress.
int op
Function opcode, e.g. OP_HELP.
Result of Matching Keybinding.
KeyGatherFlags flags
Flags, e.g. KEY_GATHER_MATCH.
struct Keymap * keymap
Keymap defining bind or `macro.
enum MenuType mtype
Menu Type, e.g. MENU_INDEX.
short op
Operation to perform.
MenuType
Types of GUI selections.