aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scripts/w3mhelp.cgi.in64
1 files changed, 46 insertions, 18 deletions
diff --git a/scripts/w3mhelp.cgi.in b/scripts/w3mhelp.cgi.in
index ca6aa5e..c1a838b 100644
--- a/scripts/w3mhelp.cgi.in
+++ b/scripts/w3mhelp.cgi.in
@@ -1,5 +1,5 @@
#!@PERL@
-# $Id: w3mhelp.cgi.in,v 1.8 2001/12/25 09:16:23 ukai Exp $
+# $Id: w3mhelp.cgi.in,v 1.9 2001/12/25 17:29:31 ukai Exp $
if ( $^O =~ /^(ms)?(dos|win(32|nt)?)/i ) {
$CYGPATH = 1;
@@ -51,6 +51,13 @@ if (defined($ENV{'QUERY_STRING'})) {
}
}
+%f = %keyfunc;
+%keyfunc = ();
+while (($key, $fname) = each %f) {
+ $key = &norm_key($key);
+ $keyfunc{$key} = $fname;
+}
+
if (-f $keymap) {
open(KEYMAP, "< $keymap") || die "cannot open keymap: $keymap, $!";
&load_keymap(*KEYMAP, $func);
@@ -109,42 +116,42 @@ for $otherlang (@docdirs) {
}
&show_keymap("Page/Cursor motion",
- split(" ", "pgFore pgBack movR movL movD movU lup1 ldown1
- goLineF goLineL movRW movLW shiftl shiftr
- col1R col1L goLine ctrCsrH ctrCsrV
+ split(" ", "pgFore pgBack movR movL movD movU ldown1 lup1
+ shiftl shiftr col1L col1R linbeg linend ctrCsrH ctrCsrV
+ goLine goLineF goLineL movRW movLW
topA lastA nextA prevA
- nextL nextLU nextR nextRD nextD nextU"));
+ nextR nextRD nextL nextRD nextLU nextD nextU"));
&show_keymap("Hyperlink operation",
- split(" ", "followA svA peekURL peekIMG followI svI
- chkURL chkNMID curURL pginfo curlno ldHist
+ split(" ", "followA svA followI svI submitForm
+ curURL peekURL peekIMG pginfo curlno chkURL chkNMID
rFrame extbrz linkbrz"));
&show_keymap("File/Stream operation",
split(" ", "goURL ldfile readsh pipesh"));
&show_keymap("Buffer operation",
- split(" ", "backBf vwSrc selMn editBf rdrwSc reload
- svBuf svSrc editScr"));
-
-&show_keymap("Buffer selection mode",
- split(" ", "buffer_prev buffer_next buffer_delete buffer_go"));
+ split(" ", "backBf selMn selBuf vwSrc svSrc svBuf
+ editBf editScr reload rdrwSc"));
&show_keymap("Bookmark operation",
split(" ", "ldBmark adBmark"));
&show_keymap("Search",
- split(" ", "srchfor srchbak srchnxt srchprv"));
+ split(" ", "srchfor srchbak srchnxt srchprv isrchfor isrchbak"));
&show_keymap("Dictionary look-up",
split(" ", "dictword dictwordat"));
&show_keymap("Mark operation",
- split(" ", "_mark prevMk nextMk reMark"));
+ split(" ", "_mark nextMk prevMk reMark"));
&show_keymap("Miscellany",
- split(" ",
- "setAlarm execsh ldhelp ldOpt cooLst susp qquitfm quitfm"));
+ split(" ", "mainMn ldhelp ldOpt cooLst ldHist msgs msToggle
+ wrapToggle setAlarm setOpt setEnv execsh susp qquitfm quitfm"));
+
+&show_keymap("Buffer selection mode",
+ split(" ", "buffer_next buffer_prev buffer_delete buffer_go"));
&show_keymap("Line-edit mode",
split(" ", "lineedit_forward lineedit_back lineedit_backspace
@@ -167,15 +174,36 @@ sub load_keymap {
while (<FH>) {
next if /^#/;
next if /^\s*$/;
- ($keymap, $key, $fname) = split;
+ ($keymap, $key, $fname, $data) = split;
+ next if $data;
next unless $keymap =~ /keymap/;
$fname =~ tr/a-z/A-Z/;
next unless (defined($funcdesc{$fname}));
- $key =~ s/^\\//;
+ $key = &norm_key($key);
$keyfunc{$key} = $fname;
}
}
+sub norm_key {
+ local($_) = @_;
+
+ s/^\^/C-/;
+ s/^(C-\[|M-)/ESC-/;
+ if (/^ESC-\[/) {
+ /^ESC-\[A$/ && return "UP";
+ /^ESC-\[B$/ && return "DOWN";
+ /^ESC-\[C$/ && return "RIGHT";
+ /^ESC-\[D$/ && return "LEFT";
+ s/^ESC-/\^\[/;
+ return $_;
+ }
+ s/^(ESC-)\^/ESC-C-/;
+ s/^(ESC-)?C-[iI]/${1}TAB/;
+ s/^(ESC-)?C-\?/${1}DEL/;
+ s/^\\//;
+ return $_;
+}
+
sub show_keymap {
local($head, @list) = @_;
local($fid);