diff --git a/src/selectiondialog.cc b/src/selectiondialog.cc index c977ee2..3735072 100644 --- a/src/selectiondialog.cc +++ b/src/selectiondialog.cc @@ -247,7 +247,7 @@ bool SelectionDialog::on_key_press(GdkEventKey* key) { } return true; } - else if(key->keyval==GDK_KEY_Return || key->keyval==GDK_KEY_ISO_Left_Tab || key->keyval==GDK_KEY_Tab) { + else if(key->keyval==GDK_KEY_Return || key-> keyval==GDK_KEY_KP_Enter || key->keyval==GDK_KEY_ISO_Left_Tab || key->keyval==GDK_KEY_Tab) { auto it=list_view_text.get_selection()->get_selected(); auto column=list_view_text.get_column(0); list_view_text.row_activated(list_view_text.get_model()->get_path(it), *column); @@ -413,7 +413,7 @@ bool CompletionDialog::on_key_press(GdkEventKey* key) { select(false); return true; } - if(key->keyval==GDK_KEY_Return || key->keyval==GDK_KEY_ISO_Left_Tab || key->keyval==GDK_KEY_Tab) { + if(key->keyval==GDK_KEY_Return || key->keyval==GDK_KEY_KP_Enter || key->keyval==GDK_KEY_ISO_Left_Tab || key->keyval==GDK_KEY_Tab) { select(); return true; } diff --git a/src/source_spellcheck.cc b/src/source_spellcheck.cc index 639b366..af4be88 100644 --- a/src/source_spellcheck.cc +++ b/src/source_spellcheck.cc @@ -56,10 +56,10 @@ Source::SpellCheckView::SpellCheckView() : Gsv::View() { if(backward_success) { if(last_keyval==GDK_KEY_BackSpace && !is_word_iter(iter) && iter.forward_char()) {} //backspace fix if((spellcheck_all && !get_source_buffer()->iter_has_context_class(context_iter, "no-spell-check")) || get_source_buffer()->iter_has_context_class(context_iter, "comment") || get_source_buffer()->iter_has_context_class(context_iter, "string")) { - if(!is_word_iter(iter) || last_keyval==GDK_KEY_Return) { //Might have used space or - to split two words + if(!is_word_iter(iter) || (last_keyval==GDK_KEY_Return || last_keyval==GDK_KEY_KP_Enter)) { //Might have used space or - to split two words auto first=iter; auto second=iter; - if(last_keyval==GDK_KEY_Return) { + if(last_keyval==GDK_KEY_Return || last_keyval==GDK_KEY_KP_Enter) { while(first && !first.ends_line() && first.backward_char()) {} if(first.backward_char() && second.forward_char()) { get_buffer()->remove_tag_by_name("spellcheck_error", first, second); diff --git a/src/terminal.cc b/src/terminal.cc index 7b7b977..831f7e8 100644 --- a/src/terminal.cc +++ b/src/terminal.cc @@ -407,7 +407,7 @@ bool Terminal::on_key_press_event(GdkEventKey *event) { get_buffer()->erase(iter, get_buffer()->end()); } } - else if(event->keyval==GDK_KEY_Return) { + else if(event->keyval==GDK_KEY_Return || event->keyval==GDK_KEY_KP_Enter) { stdin_buffer+='\n'; if(debug_is_running) { #ifdef JUCI_ENABLE_DEBUG diff --git a/src/window.cc b/src/window.cc index c34f7ea..dc20a36 100644 --- a/src/window.cc +++ b/src/window.cc @@ -1169,7 +1169,7 @@ void Window::search_and_replace_entry() { view->search_highlight(search_entry_it->get_text(), case_sensitive_search, regex_search); } search_entry_it->signal_key_press_event().connect([this](GdkEventKey* event){ - if(event->keyval==GDK_KEY_Return && (event->state&GDK_SHIFT_MASK)>0) { + if((event->keyval==GDK_KEY_Return || event->keyval==GDK_KEY_KP_Enter) && (event->state&GDK_SHIFT_MASK)>0) { if(auto view=Notebook::get().get_current_view()) view->search_backward(); } @@ -1189,7 +1189,7 @@ void Window::search_and_replace_entry() { replace_entry_it++; replace_entry_it->set_placeholder_text("Replace"); replace_entry_it->signal_key_press_event().connect([this, replace_entry_it](GdkEventKey* event){ - if(event->keyval==GDK_KEY_Return && (event->state&GDK_SHIFT_MASK)>0) { + if((event->keyval==GDK_KEY_Return || event->keyval==GDK_KEY_KP_Enter) && (event->state&GDK_SHIFT_MASK)>0) { if(auto view=Notebook::get().get_current_view()) view->replace_backward(replace_entry_it->get_text()); }