Adjust keybindings similar to vimb ones - pkgsrc-localpatches - leot's pkgsrc LOCALPATCHES
 (HTM) hg clone https://bitbucket.org/iamleot/pkgsrc-localpatches
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) changeset a04c302e02c7d7f5dc7d85b817646bd583abe2ec
 (DIR) parent c7db9a1f37804c9343d7fb9484c0d2fa547303c6
 (HTM) Author: Leonardo Taccari <iamleot@gmail.com>
       Date:   Mon, 21 Jan 2019 00:38:13 
       
       Adjust keybindings similar to vimb ones
       
       Diffstat:
        www/links-gui/patch-view.c     |  44 ++++++++++++++++++++++++++++++++++++++++++
        www/links-gui/patch-view__gr.c |  43 +++++++++++++++++++++++++++++++++++++++++
        2 files changed, 87 insertions(+), 0 deletions(-)
       ---
       diff -r c7db9a1f3780 -r a04c302e02c7 www/links-gui/patch-view.c
       --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
       +++ b/www/links-gui/patch-view.c        Mon Jan 21 00:38:13 2019 +0100
       @@ -0,0 +1,44 @@
       +$NetBSD$
       +
       +Adjust keybindings.
       +
       +--- view.c.orig        2018-11-25 17:39:39.000000000 +0000
       ++++ view.c
       +@@ -3642,15 +3642,11 @@ void send_event(struct session *ses, str
       +                       next_frame(ses, ev->y ? -1 : 1);
       +                       draw_formatted(ses);
       +               }
       +-              if (ev->x == KBD_LEFT && !ses->term->spec->braille) {
       ++              if ((ev->x == 'b' && !(ev->y & (KBD_CTRL | KBD_ALT))) || ev->x == KBD_BS || ev->x == KBD_BACK) {
       +                       go_back(ses, 1);
       +                       goto x;
       +               }
       +-              if ((upcase(ev->x) == 'Z' && !(ev->y & (KBD_CTRL | KBD_ALT))) || ev->x == KBD_BS || ev->x == KBD_BACK) {
       +-                      go_back(ses, 1);
       +-                      goto x;
       +-              }
       +-              if ((upcase(ev->x) == 'X' && !(ev->y & (KBD_CTRL | KBD_ALT))) || ev->x == '\'' || ev->x == KBD_FORWARD) {
       ++              if ((ev->x == 'B' && !(ev->y & (KBD_CTRL | KBD_ALT))) || ev->x == '\'' || ev->x == KBD_FORWARD) {
       +                       go_back(ses, -1);
       +                       goto x;
       +               }
       +@@ -3664,16 +3660,16 @@ void send_event(struct session *ses, str
       +                       print_screen_status(ses);
       +                       goto x;
       +               }
       +-              if ((upcase(ev->x) == 'R' && ev->y & KBD_CTRL) || ev->x == KBD_RELOAD) {
       ++              if (ev->x == 'r' || ev->x == KBD_RELOAD) {
       +                       reload(ses, -1);
       +                       goto x;
       +               }
       +-              if ((ev->x == 'g' && !(ev->y & (KBD_CTRL | KBD_ALT))) || (ev->x == KBD_OPEN && !(ev->y & (KBD_SHIFT | KBD_CTRL)))) {
       ++              if ((ev->x == 'o' && !(ev->y & (KBD_CTRL | KBD_ALT))) || (ev->x == KBD_OPEN && !(ev->y & (KBD_SHIFT | KBD_CTRL)))) {
       +                       quak:
       +                       dialog_goto_url(ses, cast_uchar "");
       +                       goto x;
       +               }
       +-              if ((ev->x == 'G' && !(ev->y & (KBD_CTRL | KBD_ALT))) || (ev->x == KBD_OPEN && ev->y & KBD_SHIFT)) {
       ++              if ((ev->x == 'O' && !(ev->y & (KBD_CTRL | KBD_ALT))) || (ev->x == KBD_OPEN && ev->y & KBD_SHIFT)) {
       +                       unsigned char *s;
       +                       if (list_empty(ses->history) || !ses->screen->rq->url) goto quak;
       +                       s = display_url(ses->term, ses->screen->rq->url, 0);
       diff -r c7db9a1f3780 -r a04c302e02c7 www/links-gui/patch-view__gr.c
       --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
       +++ b/www/links-gui/patch-view__gr.c    Mon Jan 21 00:38:13 2019 +0100
       @@ -0,0 +1,43 @@
       +$NetBSD$
       +
       +Adjust keybindings.
       +
       +--- view_gr.c.orig     2018-11-25 17:39:39.000000000 +0000
       ++++ view_gr.c
       +@@ -1233,10 +1233,10 @@ int g_frame_ev(struct session *ses, stru
       +                               unset_link(fd);
       +                               return scroll_v(fd, -vertical_page_jump(fd));
       +                       }
       +-                      if (ev->x == KBD_DEL || (upcase(ev->x) == 'N' && ev->y & KBD_CTRL) || (ev->x == 'l' && !(ev->y & (KBD_CTRL | KBD_ALT)))) {
       ++                      if (ev->x == 'j' || ev->x == KBD_DEL || (upcase(ev->x) == 'N' && ev->y & KBD_CTRL) || (ev->x == 'l' && !(ev->y & (KBD_CTRL | KBD_ALT)))) {
       +                               return scroll_v(fd, 32);
       +                       }
       +-                      if (ev->x == KBD_INS || (upcase(ev->x) == 'P' && ev->y & KBD_CTRL) || (ev->x == 'p' && !(ev->y & (KBD_CTRL | KBD_ALT)))) {
       ++                      if (ev->x == 'k' || ev->x == KBD_INS || (upcase(ev->x) == 'P' && ev->y & KBD_CTRL) || (ev->x == 'p' && !(ev->y & (KBD_CTRL | KBD_ALT)))) {
       +                               return scroll_v(fd, -32);
       +                       }
       +                       if (ev->x == KBD_DOWN) {
       +@@ -1253,19 +1253,19 @@ int g_frame_ev(struct session *ses, stru
       +                               unset_link(fd);
       +                               return g_next_link(fd, -1, 0);
       +                       }
       +-                      if (ev->x == '[') {
       ++                      if (ev->x == 'h' || ev->x == '[') {
       +                               return scroll_h(fd, -64);
       +                       }
       +-                      if (ev->x == ']') {
       ++                      if (ev->x == 'l' || ev->x == ']') {
       +                               return scroll_h(fd, 64);
       +                       }
       +-                      if (ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) {
       ++                      if (ev->x == 'g' || ev->x == KBD_HOME || (upcase(ev->x) == 'A' && ev->y & KBD_CTRL)) {
       +                               fd->vs->view_pos = 0;
       +                               fd->vs->orig_view_pos = fd->vs->view_pos;
       +                               unset_link(fd);
       +                               return 3;
       +                       }
       +-                      if (ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) {
       ++                      if (ev->x == 'G' || ev->x == KBD_END || (upcase(ev->x) == 'E' && ev->y & KBD_CTRL)) {
       +                               fd->vs->view_pos = fd->f_data->y;
       +                               fd->vs->orig_view_pos = fd->vs->view_pos;
       +                               unset_link(fd);