summaryrefslogtreecommitdiffstats
path: root/dselect/pkgkeys.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dselect/pkgkeys.cc')
-rw-r--r--dselect/pkgkeys.cc144
1 files changed, 144 insertions, 0 deletions
diff --git a/dselect/pkgkeys.cc b/dselect/pkgkeys.cc
new file mode 100644
index 0000000..ddf4987
--- /dev/null
+++ b/dselect/pkgkeys.cc
@@ -0,0 +1,144 @@
+/*
+ * dselect - Debian package maintenance user interface
+ * pkgkeys.cc - package list keybindings
+ *
+ * Copyright © 1995 Ian Jackson <ijackson@chiark.greenend.org.uk>
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <compat.h>
+
+#include <dpkg/dpkg-db.h>
+
+#include "dselect.h"
+#include "bindings.h"
+
+const keybindings::interpretation packagelist_kinterps[] = {
+ { "up", nullptr, &packagelist::kd_up, qa_noquit },
+ { "down", nullptr, &packagelist::kd_down, qa_noquit },
+ { "top", nullptr, &packagelist::kd_top, qa_noquit },
+ { "bottom", nullptr, &packagelist::kd_bottom, qa_noquit },
+ { "scrollon", nullptr, &packagelist::kd_scrollon, qa_noquit },
+ { "scrollback", nullptr, &packagelist::kd_scrollback, qa_noquit },
+ { "iscrollon", nullptr, &packagelist::kd_iscrollon, qa_noquit },
+ { "iscrollback", nullptr, &packagelist::kd_iscrollback, qa_noquit },
+ { "scrollon1", nullptr, &packagelist::kd_scrollon1, qa_noquit },
+ { "scrollback1", nullptr, &packagelist::kd_scrollback1, qa_noquit },
+ { "iscrollon1", nullptr, &packagelist::kd_iscrollon1, qa_noquit },
+ { "iscrollback1", nullptr, &packagelist::kd_iscrollback1, qa_noquit },
+ { "panon", nullptr, &packagelist::kd_panon, qa_noquit },
+ { "panback", nullptr, &packagelist::kd_panback, qa_noquit },
+ { "panon1", nullptr, &packagelist::kd_panon1, qa_noquit },
+ { "panback1", nullptr, &packagelist::kd_panback1, qa_noquit },
+ { "install", nullptr, &packagelist::kd_select, qa_noquit },
+ { "remove", nullptr, &packagelist::kd_deselect, qa_noquit },
+ { "purge", nullptr, &packagelist::kd_purge, qa_noquit },
+ { "hold", nullptr, &packagelist::kd_hold, qa_noquit },
+ { "unhold", nullptr, &packagelist::kd_unhold, qa_noquit },
+ { "info", nullptr, &packagelist::kd_info, qa_noquit },
+ { "toggleinfo", nullptr, &packagelist::kd_toggleinfo, qa_noquit },
+ { "verbose", nullptr, &packagelist::kd_verbose, qa_noquit },
+ { "archdisplay", nullptr, &packagelist::kd_archdisplay, qa_noquit },
+ { "versiondisplay", nullptr, &packagelist::kd_versiondisplay, qa_noquit },
+ { "help", nullptr, &packagelist::kd_help, qa_noquit },
+ { "search", nullptr, &packagelist::kd_search, qa_noquit },
+ { "searchagain", nullptr, &packagelist::kd_searchagain, qa_noquit },
+ { "swaporder", nullptr, &packagelist::kd_swaporder, qa_noquit },
+ { "swapstatorder", nullptr, &packagelist::kd_swapstatorder, qa_noquit },
+ { "redraw", nullptr, &packagelist::kd_redraw, qa_noquit },
+ { "quitcheck", nullptr, &packagelist::kd_quit_noop, qa_quitchecksave },
+ { "quitrejectsug", nullptr, &packagelist::kd_revertdirect, qa_quitnochecksave },
+ { "quitnocheck", nullptr, &packagelist::kd_quit_noop, qa_quitnochecksave },
+ { "abortnocheck", nullptr, &packagelist::kd_revert_abort, qa_quitnochecksave },
+ { "revert", nullptr, &packagelist::kd_revert_abort, qa_noquit },
+ { "revertsuggest", nullptr, &packagelist::kd_revertsuggest, qa_noquit },
+ { "revertdirect", nullptr, &packagelist::kd_revertdirect, qa_noquit },
+ { "revertinstalled", nullptr, &packagelist::kd_revertinstalled, qa_noquit },
+ { nullptr, nullptr, nullptr, qa_noquit }
+};
+
+const keybindings::orgbinding packagelist_korgbindings[]= {
+ { 'j', "down" }, // vi style
+ { KEY_DOWN, "down" },
+ { 'k', "up" }, // vi style
+ { 'p', "up" },
+ { KEY_UP, "up" },
+
+ { 'N', "scrollon" },
+ { KEY_NPAGE, "scrollon" },
+ { ' ', "scrollon" },
+ { 'P', "scrollback" },
+ { KEY_PPAGE, "scrollback" },
+ { KEY_BACKSPACE, "scrollback" },
+ { 0177, "scrollback" }, // ASCII DEL
+ { CTRL('h'), "scrollback" },
+ { CTRL('n'), "scrollon1" },
+ { CTRL('p'), "scrollback1" },
+
+ { 't', "top" },
+ { KEY_HOME, "top" },
+ { 'e', "bottom" },
+ { KEY_LL, "bottom" },
+ { KEY_END, "bottom" },
+
+ { 'u', "iscrollback" },
+ { 'd', "iscrollon" },
+ { CTRL('u'), "iscrollback1" },
+ { CTRL('d'), "iscrollon1" },
+
+ { 'B', "panback" },
+ { KEY_LEFT, "panback" },
+ { 'F', "panon" },
+ { KEY_RIGHT, "panon" },
+ { CTRL('b'), "panback1" },
+ { CTRL('f'), "panon1" },
+
+ { '+', "install" },
+ { KEY_IC, "install" },
+ { '-', "remove" },
+ { KEY_DC, "remove" },
+ { '_', "purge" },
+ { 'H', "hold" },
+ { '=', "hold" },
+ { 'G', "unhold" },
+
+ { '?', "help" },
+ { KEY_HELP, "help" },
+ { KEY_F(1), "help" },
+ { 'i', "info" },
+ { 'I', "toggleinfo" },
+ { 'o', "swaporder" },
+ { 'O', "swapstatorder" },
+ { 'v', "verbose" },
+ { 'A', "archdisplay" },
+ { 'V', "versiondisplay" },
+ { CTRL('l'), "redraw" },
+ { '/', "search" },
+ { 'n', "searchagain" },
+ { '\\', "searchagain" },
+
+ { KEY_ENTER, "quitcheck" },
+ { '\r', "quitcheck" },
+ { 'Q', "quitnocheck" },
+ { 'x', "abortnocheck" },
+ { 'X', "abortnocheck" },
+ { 'R', "revert" },
+ { 'U', "revertsuggest" },
+ { 'D', "revertdirect" },
+ { 'C', "revertinstalled" },
+
+ { -1, nullptr }
+};