/* * dselect - Debian package maintenance user interface * pkgkeys.cc - package list keybindings * * Copyright © 1995 Ian Jackson * * 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 . */ #include #include #include #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 } };