# mode_tree_key

- **Language:** C
- **Kind:** function
- **Source:** https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L977
- **Page:** https://libtmux.org/en/tmux/3.2a/reference/c-function-mode_tree_key/

```c
int mode_tree_key(struct mode_tree_data *mtd, struct client *c, key_code *key, struct mouse_event *m, u_int *xp, u_int *yp)
```

## Parameters

- `mtd` (`struct mode_tree_data *`)
- `c` (`struct client *`)
- `key` (`key_code *`)
- `m` (`struct mouse_event *`)
- `xp` (`u_int *`)
- `yp` (`u_int *`)

## Called by

- [`window_buffer_key`](/en/tmux/3.2a/reference/c-function-window-buffer-c-window_buffer_key/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/window-buffer.c#L511)
- [`window_client_key`](/en/tmux/3.2a/reference/c-function-window-client-c-window_client_key/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/window-client.c#L391)
- [`window_customize_key`](/en/tmux/3.2a/reference/c-function-window-customize-c-window_customize_key/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/window-customize.c#L1420)
- [`window_tree_key`](/en/tmux/3.2a/reference/c-function-window-tree-c-window_tree_key/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/window-tree.c#L1244)

## Calls

- [`cmd_mouse_at`](/en/tmux/3.2a/reference/c-function-cmd_mouse_at/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L986)
- [`mode_tree_build`](/en/tmux/3.2a/reference/c-function-mode_tree_build/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1126)
- [`mode_tree_check_selected`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_check_selected/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1186)
- [`mode_tree_clear_tagged`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_clear_tagged/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1100)
- [`mode_tree_display_menu`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_display_menu/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L996)
- [`mode_tree_down`](/en/tmux/3.2a/reference/c-function-mode_tree_down/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1056)
- [`mode_tree_search_set`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_search_set/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1174)
- [`mode_tree_up`](/en/tmux/3.2a/reference/c-function-mode_tree_up/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1050)
- [`status_prompt_set`](/en/tmux/3.2a/reference/c-function-status_prompt_set/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/mode-tree.c#L1169)

## Other function references

- [`mode_tree_filter_callback`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_filter_callback/) (function)
- [`mode_tree_filter_free`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_filter_free/) (function)
- [`mode_tree_search_callback`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_search_callback/) (function)
- [`mode_tree_search_free`](/en/tmux/3.2a/reference/c-function-mode-tree-c-mode_tree_search_free/) (function)

## Referenced declarations

- [`mode_tree_data.children`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-children/) (attribute)
- [`mode_tree_item.children`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-children/) (attribute)
- [`client`](/en/tmux/3.2a/reference/c-struct-client/) (struct)
- [`mode_tree_data.current`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-current/) (attribute)
- [`mode_tree_item.entry`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-entry/) (attribute)
- [`mode_tree_item.expanded`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-expanded/) (attribute)
- [`mode_tree_sort_criteria.field`](/en/tmux/3.2a/reference/c-struct-mode_tree_sort_criteria-field/) (attribute)
- [`mode_tree_data.filter`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-filter/) (attribute)
- [`mode_tree_data.height`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-height/) (attribute)
- [`mode_tree_line.item`](/en/tmux/3.2a/reference/c-struct-mode_tree_line-item/) (attribute)
- [`mode_tree_item.key`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-key/) (attribute)
- [`key_code`](/en/tmux/3.2a/reference/c-typedef-key_code/) (typealias)
- [`KEYC_DOUBLECLICK1_PANE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_doubleclick1_pane/) (constant)
- [`KEYC_DOWN`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_down/) (constant)
- [`KEYC_END`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_end/) (constant)
- [`KEYC_HOME`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_home/) (constant)
- [`KEYC_IS_MOUSE`](/en/tmux/3.2a/reference/c-define-tmux-h-keyc_is_mouse/) (constant)
- [`KEYC_LEFT`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_left/) (constant)
- [`KEYC_META`](/en/tmux/3.2a/reference/c-define-tmux-h-keyc_meta/) (constant)
- [`KEYC_MOUSEDOWN1_PANE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_mousedown1_pane/) (constant)
- [`KEYC_MOUSEDOWN3_PANE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_mousedown3_pane/) (constant)
- [`KEYC_NONE`](/en/tmux/3.2a/reference/c-define-tmux-h-keyc_none/) (constant)
- [`KEYC_NPAGE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_npage/) (constant)
- [`KEYC_PPAGE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_ppage/) (constant)
- [`KEYC_RIGHT`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_right/) (constant)
- [`KEYC_UP`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_up/) (constant)
- [`KEYC_WHEELDOWN_PANE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_wheeldown_pane/) (constant)
- [`KEYC_WHEELUP_PANE`](/en/tmux/3.2a/reference/c-enum-tmux-h-241271275060253221275056143052225065321046366375-keyc_wheelup_pane/) (constant)
- [`mode_tree_item.line`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-line/) (attribute)
- [`mode_tree_data.line_list`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-line_list/) (attribute)
- [`mode_tree_data.line_size`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-line_size/) (attribute)
- [`mode_tree_data`](/en/tmux/3.2a/reference/c-struct-mode_tree_data/) (struct)
- [`mouse_event`](/en/tmux/3.2a/reference/c-struct-mouse_event/) (struct)
- [`mode_tree_item.no_tag`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-no_tag/) (attribute)
- [`mode_tree_data.offset`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-offset/) (attribute)
- [`mode_tree_item.parent`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-parent/) (attribute)
- [`mode_tree_data.preview`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-preview/) (attribute)
- [`PROMPT_NOFORMAT`](/en/tmux/3.2a/reference/c-define-tmux-h-prompt_noformat/) (constant)
- [`mode_tree_data.references`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-references/) (attribute)
- [`mode_tree_sort_criteria.reversed`](/en/tmux/3.2a/reference/c-struct-mode_tree_sort_criteria-reversed/) (attribute)
- [`mode_tree_data.sort_crit`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-sort_crit/) (attribute)
- [`mode_tree_data.sort_size`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-sort_size/) (attribute)
- [`mode_tree_item.tagged`](/en/tmux/3.2a/reference/c-struct-mode_tree_item-tagged/) (attribute)
- [`mode_tree_data.width`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-width/) (attribute)
- [`mode_tree_data.wp`](/en/tmux/3.2a/reference/c-struct-mode_tree_data-wp/) (attribute)
