From 850916c62217d2bdcdc943e7238175954e3d1d5e Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Thu, 27 Nov 2025 11:06:16 +0100 Subject: Add bindings for numpad enter --- src/dged/keyboard.h | 2 ++ src/main/bindings.c | 2 ++ src/main/cmds.c | 1 + src/main/completion.c | 1 + src/main/lsp/choice-buffer.c | 1 + src/main/lsp/diagnostics.c | 1 + src/main/lsp/references.c | 1 + 7 files changed, 9 insertions(+) diff --git a/src/dged/keyboard.h b/src/dged/keyboard.h index 1a8a149..bc4a8d0 100644 --- a/src/dged/keyboard.h +++ b/src/dged/keyboard.h @@ -27,6 +27,8 @@ enum modifiers { #define TAB Ctrl, 'I' /** Enter key */ #define ENTER Ctrl, 'M' +/** Numpad Enter key */ +#define NUMPAD_ENTER Ctrl, 'J' /** Delete key */ #define DELETE Spec, '3' diff --git a/src/main/bindings.c b/src/main/bindings.c index db6c924..9712f0f 100644 --- a/src/main/bindings.c +++ b/src/main/bindings.c @@ -55,6 +55,7 @@ void set_default_buffer_bindings(struct keymap *keymap) { BINDING(Spec, '5', "scroll-up"), BINDING(ENTER, "newline"), + BINDING(NUMPAD_ENTER, "newline"), BINDING(TAB, "indent"), BINDING(Spec, 'Z', "indent-alt"), @@ -158,6 +159,7 @@ void init_bindings(void) { */ struct binding minibuffer_binds[] = { ANONYMOUS_BINDING(ENTER, &execute_minibuffer_command), + ANONYMOUS_BINDING(NUMPAD_ENTER, &execute_minibuffer_command), }; struct keymap minibuffer_map = keymap_create("minibuffer", 8); keymap_bind_keys(&minibuffer_map, minibuffer_binds, diff --git a/src/main/cmds.c b/src/main/cmds.c index a7b509d..f9444e0 100644 --- a/src/main/cmds.c +++ b/src/main/cmds.c @@ -460,6 +460,7 @@ int32_t buffer_list(struct command_ctx ctx, int argc, const char *argv[]) { struct binding bindings[] = { ANONYMOUS_BINDING(ENTER, &buflist_visit), + ANONYMOUS_BINDING(NUMPAD_ENTER, &buflist_visit), ANONYMOUS_BINDING(None, 'k', &buflist_kill), ANONYMOUS_BINDING(None, 'q', &buflist_close), ANONYMOUS_BINDING(None, 's', &buflist_save), diff --git a/src/main/completion.c b/src/main/completion.c index 7a20bce..a162652 100644 --- a/src/main/completion.c +++ b/src/main/completion.c @@ -279,6 +279,7 @@ static void open_completion(struct completion_state *state) { ANONYMOUS_BINDING(DOWN, &next_completion_command), ANONYMOUS_BINDING(UP, &prev_completion_command), ANONYMOUS_BINDING(ENTER, &insert_completion_command), + ANONYMOUS_BINDING(NUMPAD_ENTER, &insert_completion_command), ANONYMOUS_BINDING(Ctrl, 'V', &scroll_down_completions_command), ANONYMOUS_BINDING(Meta, 'v', &scroll_up_completions_command), diff --git a/src/main/lsp/choice-buffer.c b/src/main/lsp/choice-buffer.c index 44186bd..b31464d 100644 --- a/src/main/lsp/choice-buffer.c +++ b/src/main/lsp/choice-buffer.c @@ -120,6 +120,7 @@ choice_buffer_create(struct s8 title, struct buffers *buffers, struct binding bindings[] = { ANONYMOUS_BINDING(ENTER, &b->enter_pressed), + ANONYMOUS_BINDING(NUMPAD_ENTER, &b->enter_pressed), ANONYMOUS_BINDING(None, 'q', &b->q_pressed), }; diff --git a/src/main/lsp/diagnostics.c b/src/main/lsp/diagnostics.c index db71fa3..ac286c1 100644 --- a/src/main/lsp/diagnostics.c +++ b/src/main/lsp/diagnostics.c @@ -167,6 +167,7 @@ static struct buffer *update_diagnostics_buffer(struct lsp_server *server, struct binding bindings[] = { ANONYMOUS_BINDING(ENTER, &diagnostics_goto), + ANONYMOUS_BINDING(NUMPAD_ENTER, &diagnostics_goto), ANONYMOUS_BINDING(None, 'q', &diagnostics_close), }; struct keymap km = keymap_create("diagnostics", 8); diff --git a/src/main/lsp/references.c b/src/main/lsp/references.c index c2438fa..4b3866a 100644 --- a/src/main/lsp/references.c +++ b/src/main/lsp/references.c @@ -118,6 +118,7 @@ static void handle_references_response(struct lsp_server *server, struct binding bindings[] = { ANONYMOUS_BINDING(None, 'q', &ref_close), ANONYMOUS_BINDING(ENTER, &ref_visit_cmd), + ANONYMOUS_BINDING(NUMPAD_ENTER, &ref_visit_cmd), }; struct keymap km = keymap_create("references", 2); keymap_bind_keys(&km, bindings, sizeof(bindings) / sizeof(bindings[0])); -- cgit v1.2.3