From owner-FreeBSD-users-jp@jp.FreeBSD.org Sat Apr 24 15:35:55 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i3O6Zt875821;
	Sat, 24 Apr 2004 15:35:55 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail503.nifty.com (mail503.nifty.com [202.248.37.211])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i3O6Zs975815
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat, 24 Apr 2004 15:35:54 +0900 (JST)
	(envelope-from CQG00620@nifty.ne.jp)
Received: from nifty.ne.jp (ntceast015040.east.dup.ppp.infoweb.ne.jp [220.209.204.40])by mail503.nifty.com with ESMTP id i3O6ZPsH024121
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat, 24 Apr 2004 15:35:26 +0900
Message-Id: <200404240635.i3O6ZPsH024121@mail503.nifty.com>
From: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <861xmlzz1w.wl@chrysanthe.oikumene.gcd.org>
References: <20040416.093306.74751348.uv2t-ktur@asahi-net.or.jp>	<20040416.133609.41682135.tyuu@tsubasa.co.jp>	<20040416.181007.74750160.uv2t-ktur@asahi-net.or.jp>	<861xmlzz1w.wl@chrysanthe.oikumene.gcd.org>
User-Agent: Wanderlust/2.10.0 (Venus) SEMI/1.14.4 (Hosorogi) FLIM/1.14.4
 (=?ISO-8859-4?Q?Kashiharajing=FE-mae?=) APEL/10.3 Emacs/21.2
 (i386--freebsd) MULE/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Sat, 24 Apr 2004 15:36:10 +0900
X-Sequence: FreeBSD-users-jp 79168
Subject: [FreeBSD-users-jp 79168] Re: Emacs Alt key
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: CQG00620@nifty.ne.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+040413

$BEOJU0l42$G$9!#(B

$BLLGr$=$&$JOC$@$C$?$N$G!"3'$5$s$N%U%)%m!<$r85$K$$$m$$$m;n$7$F$_$^$7$?!#(B
$B$^$H$a$F$_$?$N$G!"8f0U8+$J$I$"$j$^$7$?$i$h$m$7$/$*4j$$$7$^$9!#(BQandA$B$K(B
$B$O8eF|Aw$k$D$b$j$G$9!#(B


$B"-(Bperl$B$G=q$$$?$i$b$&$A$g$C$H4JC1$K=q$1$=$&$J$s$G$9$,(B...$B!#(B

*****
Q. $B%3%s%=!<%k$G(B Meta $B%-!<$r;H$$$?$$!#(B

A. $B1Q8l(B 101 $B%-!<G[Ns$GNI$$$N$J$i!"%-!<%\!<%I%^%C%W$K(B us.emacs.kbd $B$r;H(B
   $B$($P$h$$$G$9!#(B

   $BF|K\8l%-!<G[Ns$N>l9g!"E,Ev$J%-!<%\!<%I%^%C%W$r<+:n$9$kI,MW$,$"$j$^(B
   $B$9!#6qBNE*$K$O(B Meta (Alt) $B%-!<$HF1;~$K2!$7$?;~$K!"(B 0x80 $B$rO@M}OB$7(B
   $B$?%-!<%3!<%I$r=PNO$9$k$h$&$J%-!<%\!<%I%^%C%W$K$7$^$9!#%^%C%W$N7A<0(B
   $B$K$D$$$F$O(B kbdmap(5) $B$r;2>H$7$F$/$@$5$$!#(B

   $B<j:n6H$,LLE]$J$i!"<!$N(B awk $B%9%/%j%W%H$r;H$($P$h$$$G$7$g$&!#(B

---$B$3$3$+$i(B---
#!/usr/bin/awk -f

BEGIN{
    # from /usr/share/misc/ascii
    charcode= \
      "00 nul|01 soh|02 stx|03 etx|04 eot|05 enq|06 ack|07 bel|" \
      "08 bs |09 ht |0a nl |0b vt |0c np |0d cr |0e so |0f si |" \
      "10 dle|11 dc1|12 dc2|13 dc3|14 dc4|15 nak|16 syn|17 etb|" \
      "18 can|19 em |1a sub|1b esc|1c fs |1d gs |1e rs |1f us |" \
      "20 sp |21 '!'|22 '\"'|23 '#'|24 '$'|25 '%'|26 '&'|27 '''|"\
      "28 '('|29 ')'|2a '*'|2b '+'|2c ','|2d '-'|2e '.'|2f '/'|" \
      "30 '0'|31 '1'|32 '2'|33 '3'|34 '4'|35 '5'|36 '6'|37 '7'|" \
      "38 '8'|39 '9'|3a ':'|3b ';'|3c '<'|3d '='|3e '>'|3f '?'|" \
      "40 '@'|41 'A'|42 'B'|43 'C'|44 'D'|45 'E'|46 'F'|47 'G'|" \
      "48 'H'|49 'I'|4a 'J'|4b 'K'|4c 'L'|4d 'M'|4e 'N'|4f 'O'|" \
      "50 'P'|51 'Q'|52 'R'|53 'S'|54 'T'|55 'U'|56 'V'|57 'W'|" \
      "58 'X'|59 'Y'|5a 'Z'|5b '['|5c '\\'|5d ']'|5e '^'|5f '_'|"\
      "60 '`'|61 'a'|62 'b'|63 'c'|64 'd'|65 'e'|66 'f'|67 'g'|" \
      "68 'h'|69 'i'|6a 'j'|6b 'k'|6c 'l'|6d 'm'|6e 'n'|6f 'o'|" \
      "70 'p'|71 'q'|72 'r'|73 's'|74 't'|75 'u'|76 'v'|77 'w'|" \
      "78 'x'|79 'y'|7a 'z'|7b '{'|7c '|'|7d '}'|7e '~'|7f del|"
}
{
    gsub("' '", "sp")

    if ($1 ~ /[0-9][0-9][0-9]/) {
	for (i=1; i<=10; i++) {
	    if (i==1) printf("  %3s   ", $i)
	    if (i>=2 && i<=5) printf("%-7s", $i)
	    if (i>=6 && i<=9) {
		if ((code=(index(charcode, $i) - 4) / 7)>=0) {
		    printf("%#-7x", code + 128)	# $BK\Ev$O%S%C%H1i;;$7$?$$(B
		} else {
		    printf("%-7s", $i)
		}
	    }
	    if (i==10) printf(" %c\n", $i)
	}
    } else {
	print
    }
}
---$B$3$3$^$G(B---
*****


$B"-(Bkon$B$r;H$C$?$N$O=i$a$F$J$s$G$9$,!"7k9=JXMx$G$9$M!#(B
$B"-(Bja-emacs20-dl-canna-1.4$B$H(Bja-emcws-21.2(canna)$B$G$A$g$C$H;n$7$?(B
$B"-8B$j$G$O!">/$J$/$H$b(Bemacs$B>e$G$NF|K\8lF~NO$OLdBj$J$$$h$&$K8+$($^$9!#(B
$B"-(Bkon$B$G(Bvt100$B0J30$N%(%s%H%jL>$,;H$($l$P!"(BA2.$B$O(Btc=$B$r;H$C$F(B2$B9T$G(B
$B"-=q$1$k$s$G$9$,!"%(%s%H%jL>$,%O!<%I%3!<%G%#%s%0$5$l$F$$$k$N$G!"(B
$B"-$^$k$4$H=q$/0BD>$JJ}K!$r$H$j$^$7$?!#(B
$B"-$^$?(B kon -e $B$G(Bwrapper$B$r5/F0$9$k<j$b$"$j$^$9$,!"OC$,HK;($K$J$k$N$G(B
$B"->J$-$^$7$?!#(B
$B"-$J$*(B~/.emacs$B$N@_DjNc$O!"(BNifty/FUNIX$B$N%m%0$r;29M$K!"$A$g$C$H(B
$B"-$$$8$j$^$7$?!#(B

*****
Q. kon $B>e$G(B Emacs $B$N(B Meta $B%-!<$,;H$($^$;$s!#(BMeta $B%-!<$,M-8z$J%-!<%\!<(B
   $B%I%^%C%W$r;H$C$F$$$^$9$7!"DL>o$N%3%s%=!<%k>e$G$O;H$($k$N$G$9$,!#(B

A. kon $B$O(B FreeBSD $B$G$O!"(B termcap(5) $B%(%s%H%j$H$7$F(B vt100 $B$r;HMQ$7$^$9!#(B 
   vt100 $B$K$O!V(B km $B!W%1!<%Q%S%j%F%#$,L5$$$N$G!"(B Emacs $B$O(B Meta $B%-!<$,$"(B
   $B$k$3$H$rG'<1$7$^$;$s!#(B

   $B$$$/$D$+$N2r7h:v$,$"$j$^$9!#(B

   A1. /usr/share/misc/termcap $B$N(B vt100 $B%(%s%H%j$N:G8e$K(B km $B$rDI2C(B
       $B$7$F(B($B2<5-;2>H(B)$B!"(B cap_mkdb(1) $B$r<B9T$9$k!#(B

   A2. $B<!$NFbMF$N(B ~/.termcap $B%U%!%$%k$r:n@.$7!"%7%'%k$N=i4|2=%U%!%$%k(B
       $B$G!V(B eval "`tset -s`" $B!W$r<B9T$9$k$h$&$K@_Dj$9$k!#(B

vt100|dec-vt100|vt100-am|vt100am|dec vt100:\
        :do=2\E[B:co#80:li#24:cl=50\E[H\E[J:sf=2*\ED:\
        :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\
        :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\
        :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\
        :is=\E>\E[?1;3;4;5l\E[?7;8h\E[1;24r\E[24;1H:\
        :if=/usr/share/tabset/vt100:nw=2\EE:ho=\E[H:\
        :as=2\E(0:ae=2\E(B:\
        :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||:\
        :rs=\E>\E[?1;3;4;5l\E[?7;8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\
        :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=\177:\
        :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\
        :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:@8=\EOM:\
        :K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:pt:sr=2*\EM:xn:\
        :sc=2\E7:rc=2\E8:cs=5\E[%i%d;%dr:UP=2\E[%dA:DO=2\E[%dB:RI=2\E[%dC:\
        :LE=2\E[%dD:ct=2\E[3g:st=2\EH:ta=^I:ms:bl=^G:cr=^M:eo:it#8:\
        :RA=\E[?7l:SA=\E[?7h:km:

   A3. $B<!$N5-=R$r(B ~/.emacs $B$KDI2C$9$k!#$?$@$7(B kterm $BEy$G(B emacs -nw $B$H(B
       $B$7$F;HMQ$9$k:]!"F|K\8lJ8;z$r%Z!<%9%H$9$k;~$N$?$a$K(B
       (set-keyboard-coding-system 'euc-jp)
       $B$J$I$H@_Dj$7$F$$$k>l9g$O!"$=$N8e$N9T$KDI2C$9$k$h$&$K$7$F$/$@$5$$!#(B

(let ((term (getenv "TERM"))
      (cur-mode (current-input-mode)))
  (cond ((string= term "vt100")
         (set-input-mode (nth 0 cur-mode)
                         (nth 1 cur-mode)
                         t
                         (nth 3 cur-mode)))))
*****
---
Watanabe Kazuhiro (CQG00620@nifty.ne.jp)
