Article View: fj.lang.tcl
Article #208Re: [Q] How to distinguish "a" and "Alt-a" on bind command?
From: Motomu Nakashima o-2417
Date: Wed, 03 Dec 1997 00:00
Date: Wed, 03 Dec 1997 00:00
134 lines
4762 bytes
4762 bytes
$BCfEg!wEl9)Bg$G$9!%<+8J%U%)%m!<$G$9!%(B
In article <MNAKASHI.97Dec2161944@cpus-f0.cc.titech.ac.jp>, I Wrote:
> Tcl7.6jp/Tk4.2jp $B>e$G(B Tk $B%"%W%j$r:n$C$F$$$k$N$G$9$,!$(B
> bind $B%3%^%s%I$K$*$$$F!$(B"a" $B$H(B "Alt-a" ($B$b$7$/$O(B "Ctrl-a"$B$J$I(B)$B$r(B
> $B6hJL$7$FJL!9$N(B procedure $B$r<B9T$5$;$k$K$O$I$&$9$l$PNI$$$N$G$7$g(B
> $B$&$+!)(B
$B$H$$$&<ALd$KBP$7!$$*Fs?M$NJ}$+$i$H$F$b$4?F@Z$J%a!<%k$rD:$-$^$7$?!%(B
$B$I$&$b$"$j$,$H$&$4$6$$$^$7$?!%$3$N>l$r<Z$j$F$*Ni$r?=$7>e$2$^$9!%(B
$B:G=i$KD:$$$?%a!<%k$G$O!$$9$Y$F$N%-!<%$%Y%s%H$r=&$C$F!$$=$l$rH=(B
$BCG$7$F@Z$jJ,$1$k(B script $B$r>R2p$7$F2<$5$$$^$7$?!%$J$K$+$N;29M$K(B
$B$J$l$P$H;W$$!$:G8e$KE:IU$7$^$9!%(B
$B$=$N%a!<%k$rD:$$$F!$!V$d$C$Q$j$3$&$$$&$3$H$r$d$i$J$"$+$s$N$+!<!W(B
$B$H;W$C$F$$$?$H$3$m!$<!$K!$!VEvJ}$N4D6-$G$OLdBjL5$/4|BT$NF0:n$r$7(B
$B$F$$$^$9!W;]$N%a!<%k$rD:$-$^$7$?!%$=$NJ}$N4D6-$H;d$N4D6-$O$[$H$s(B
$B$IF1$8$G$"$j!$92$F$F85$N%=!<%9$rFI$_JV$7$F$_$?$H$3$m!$$*$^$L$1$G(B
$B$7$?!%(B
(1)
> bind .foo <a> { honya }
> bind .foo <Alt-a> { munya }
$B$H$7$F$$$?$D$b$j$,!$(B
(2)
bind .foo <a> { honya }
bind . <Alt-a> { munya }
$B$H$7$F$7$^$C$F$$$?$N$G$7$?!%(B
(1)$B$N$h$&$K=q$-D>$7$?$H$3$m!$4|BT$NF0:n$r$7$^$7$?(B(^^;;;;
$B$I$&$b3'$5$s$*A{$,$;$7$^$7$?!%(B
$B$h$C$F;EMM$r$^$H$a$k$H!$(B
(i) $B$"$k(B widget $B$K$*$$$F(B <Alt-a> $B$J$I$N(B modifier $BIU$-$N(B binding
$B$O@_Dj$5$l$F$$$J$/!$(B<a> $B$K$N$_@_Dj$7$F$"$k>l9g!$(B"Alt" + "a"
$B$J$I$NF~NO$G$b(B <a> $B$K@_Dj$7$F$"$kF0:n$,<B9T$5$l$k!%(B
(ii) $B$7$+$7!$F10l(B widget $B>e$G(B modifier $BIU$-$H(B modifier $BL5$7$N(B
binding $B$,N>J}$"$k>l9g$K$O6hJL$5$l!$(B"Alt" + "a" $B$rF~NO$7$F$b(B
<a> $B$G@_Dj$7$F$$$kF0:n$O<B9T$5$l$J$$!%(B
$B$H$$$&$3$H$G$9$M!%(B(i) $B$N;EMM$K$O5$IU$+$J$+$C$?$G$9!%(B
$B$$$o$f$k!V$"$$$^$$$J(B binding$B!W$C$F$d$D$G$7$g$&$+!%(B
$B;d$,Ax6x$7$?>e$N(B(2)$B$N>l9g$K$O!$(B
--------------------
"a" $B$rF~NO$7$?>l9g!'(B
--------------------
.foo $B$G$N(B binding $B$N$?$a!$(Bhonya $B$,<B9T(B
---------------------------
"Alt"+ "a" $B$rF~NO$7$?>l9g!'(B
---------------------------
.foo $B$G$N(B binding $B$N$?$a(B honya $B$,<B9T(B
($BM}M3!';EMM(B (i) $B$N$?$a(B)
. $B$G$N(B binding $B$N$?$a(B munya $B$,<B9T(B
($BM}M3!'(B.foo $B$N(B bindtags $B$K(B . $B$,4^$^$l$F$$$k$?$a(B)
$B$H$J$C$F$$$?$H$$$&$3$H$N$h$&$G$9!%(B
-----------------------------
$BCfEg!!5a(B Motomu Nakashima
$BEl5~9)6HBg3X(B $B5!3#2J3X2J(B Dept. of Mech. Eng.& Science
$B1?F0@)8f3X9V:B(B Tokyo Institute of Technology
Fingerprint: 0D E6 6B 56 2A 98 A7 61 0A 38 33 43 BA C3 97 1D
---- $B%-!<F~NO$r@Z$jJ,$1$k(B script ($B0J2<%a!<%k86J8$+$i0zMQ(B) -----
$B0J2<$NMM$K$9$k$H3N<B$K5/F0$N@Z$jJ,$1$,=PMh$k$H;W$$$^$9!#(B
$BC"$7!"(Bemacs,mule$B$NMM$K(BM-c-x$B$NMM$J$3$H$O=q$-49$($,I,MW$G$9!#(B
-----------------------------------------------
set ctrl_handle(a) "ctrl_a"
set ctrl_handle(b) "ctrl_b"
set KeyHandle(modifier) none
bind . <Any-KeyRelease> {
global KeyHandle
switch -glob %K {
Control* {
set KeyHandle(modifier) none
}
Alt* {
set KeyHandle(modifier) none
}
default {
}
}
}
bind . <Any-KeyPress> {
global modifier edit_mode
switch -glob %K {
Control* {
# Control_L Control_R Control
set KeyHandle(modifier) %K
}
Alt* {
# Alt_L Alt_R Alt
set KeyHandle(modifier) %K
}
[a-z] {
# with modifier
switch -glob $KeyHandle(modifier) {
Control* {
if {[info exists ctrl_handle]} {
global ctrl_handle
if {[lsearch -glob [array names ctrl_handle] %K ]>=0} {
eval $ctrl_handle(%K)
}
}
}
Alt* {
if {[info exists alt_handle]} {
global alt_handle
if {[lsearch -glob [array names alt_handle] %K ]>=0} {
eval $alt_handle(%K)
}
}
}
default {
}
}
}
}
}
-----------------------------------------------
Technical Details
Message-ID:
<MNAKASHI.97Dec3133535@cpus-f0.cc.titech.ac.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<MNAKASHI.97Dec2161944@cpus-f0.cc.titech.ac.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 15a83d,55ceaf8141eec0b7 X-Google-Attributes: gid15a83d,public From: mnakashi@o.cc.titech.ac.jp (Motomu Nakashima o-2417) Subject: Re: [Q] How to distinguish "a" and "Alt-a" on bind command? Date: 1997/12/03 Message-ID: <MNAKASHI.97Dec3133535@cpus-f0.cc.titech.ac.jp> X-Deja-AN: 294744632 References: <MNAKASHI.97Dec2161944@cpus-f0.cc.titech.ac.jp> Followup-To: fj.lang.tcl Distribution: world Organization: Computer Center, Tokyo Institute of Technology, JAPAN Newsgroups: fj.lang.tcl