summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/mg/keymap.c33
1 files changed, 26 insertions, 7 deletions
diff --git a/usr.bin/mg/keymap.c b/usr.bin/mg/keymap.c
index 10ebb85ca00..4918a14007c 100644
--- a/usr.bin/mg/keymap.c
+++ b/usr.bin/mg/keymap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: keymap.c,v 1.42 2008/06/14 08:46:30 kjell Exp $ */
+/* $OpenBSD: keymap.c,v 1.43 2008/08/27 04:11:52 kjell Exp $ */
/* This file is in the public domain. */
@@ -41,6 +41,18 @@ struct KEYMAPE (2 + IMAPEXT) helpmap = {
};
#endif /* !NO_HELP */
+struct KEYMAPE (1 + IMAPEXT) ccmap = {
+ 1,
+ 1 + IMAPEXT,
+ rescan,
+ {
+ {
+ CCHR('@'), CCHR('@'), (PF[]){ rescan }, NULL
+ }
+ }
+};
+
+
static PF cX4cF[] = {
poptofile, /* ^f */
ctrlg /* ^g */
@@ -304,11 +316,14 @@ static PF fund_at[] = {
setmark, /* ^@ */
gotobol, /* ^A */
backchar, /* ^B */
- rescan, /* ^C */
+ NULL, /* ^C */
forwdel, /* ^D */
gotoeol, /* ^E */
forwchar, /* ^F */
ctrlg, /* ^G */
+};
+
+static PF fund_h[] = {
#ifndef NO_HELP
NULL, /* ^H */
#else /* !NO_HELP */
@@ -316,6 +331,7 @@ static PF fund_at[] = {
#endif /* !NO_HELP */
};
+
/* ^I is selfinsert */
static PF fund_CJ[] = {
lfindent, /* ^J */
@@ -357,18 +373,21 @@ static PF fund_cb[] = {
#define NFUND_XMAPS 0 /* extra map sections after normal ones */
#endif
-static struct KEYMAPE (5 + NFUND_XMAPS + IMAPEXT) fundmap = {
- 5 + NFUND_XMAPS,
- 5 + NFUND_XMAPS + IMAPEXT,
+static struct KEYMAPE (6 + NFUND_XMAPS + IMAPEXT) fundmap = {
+ 6 + NFUND_XMAPS,
+ 6 + NFUND_XMAPS + IMAPEXT,
selfinsert,
{
+ {
+ CCHR('@'), CCHR('G'), fund_at, (KEYMAP *) & ccmap
+ },
#ifndef NO_HELP
{
- CCHR('@'), CCHR('H'), fund_at, (KEYMAP *) & helpmap
+ CCHR('H'), CCHR('H'), fund_h, (KEYMAP *) & helpmap
},
#else /* !NO_HELP */
{
- CCHR('@'), CCHR('H'), fund_at, NULL
+ CCHR('@'), CCHR('H'), fund_h, NULL
},
#endif /* !NO_HELP */
{