mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-08 08:20:59 -04:00
search: add support for user configurable key bindings
No default bindings defined yet, though.
This commit is contained in:
parent
fcf4832775
commit
0d188895c3
5 changed files with 31 additions and 9 deletions
14
search.c
14
search.c
|
|
@ -11,6 +11,7 @@
|
|||
#define LOG_ENABLE_DBG 0
|
||||
#include "log.h"
|
||||
#include "grid.h"
|
||||
#include "input.h"
|
||||
#include "misc.h"
|
||||
#include "render.h"
|
||||
#include "selection.h"
|
||||
|
|
@ -412,7 +413,8 @@ distance_prev_word(const struct terminal *term)
|
|||
}
|
||||
|
||||
void
|
||||
search_input(struct terminal *term, uint32_t key, xkb_keysym_t sym, xkb_mod_mask_t mods)
|
||||
search_input(struct terminal *term, uint32_t key, xkb_keysym_t sym,
|
||||
xkb_mod_mask_t mods, uint32_t serial)
|
||||
{
|
||||
LOG_DBG("search: input: sym=%d/0x%x, mods=0x%08x", sym, sym, mods);
|
||||
|
||||
|
|
@ -424,6 +426,16 @@ search_input(struct terminal *term, uint32_t key, xkb_keysym_t sym, xkb_mod_mask
|
|||
enum xkb_compose_status compose_status = xkb_compose_state_get_status(
|
||||
term->wl->kbd.xkb_compose_state);
|
||||
|
||||
/*
|
||||
* User configurable bindings
|
||||
*/
|
||||
tll_foreach(term->wl->kbd.bindings.search, it) {
|
||||
if (it->item.mods == mods && it->item.sym == sym) {
|
||||
input_execute_binding(term, it->item.action, serial);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Cancel search */
|
||||
if ((mods == 0 && sym == XKB_KEY_Escape) ||
|
||||
(mods == ctrl && sym == XKB_KEY_g))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue