[Tab] がマクロで検知できないNo.09123
ひろ さん 03/07/17 17:45
 
 秀まるおさん今日は、ひろです。
disablebreak;
while( 1 ){
  #k = keypressed;
  if( #k == 27 )break;          //[Esc] 終了
  else if( #k == 9 )message str( #k );
}

while( 1 ){
  #k = inputchar("");
  if( #k == 27 )break;          //[Esc] 終了
  else if( #k == 9 )message str( #k );
}
というマクロで、[Tab] が押されたことを検知しようとしても、鶴亀本体では
これが出来ません。これは仕様でしょうか?
 こちらの環境は、Windows98+IE6.0+鶴亀 Ver.2.99 です。

[ ]
RE:09123 [Tab] がマクロで検知できないNo.09125
たけのこ さん 03/07/17 18:03
 
たけのこです。

> というマクロで、[Tab] が押されたことを検知しようとしても、鶴亀本体では
> これが出来ません。

というか、前者は本体側で1キーで機能するキー、後者は1ストロークで機能す
るキー、のような気がしますが?

ひろさんのトコではこれらは検出するんでしょうか?

OS:WinXPSP1
鶴亀:3.00

(^^)/”

[ ]
RE:09125 [Tab] がマクロで検知できないNo.09126
秀まるお さん 03/07/17 18:52
 
 たけのこさんのコメントの意味はよく分かりませんが、現状で、鶴亀本体ウィ
ンドウ上でマクロを実行してる時は、たしかにTabキーの検出が出来ないようで
す。

 理由を言うと、タブキーだけはアクティブ枠の切り替え用に、WH_GETMESSAGE
のフックの中で勝手に横取りして処理してるからです。

 たぶん直せるはずなので、次のバージョン(V3.01)で修正させていただきま
す。

[ ]
RE:09126 [Tab] がマクロで検知できないNo.09128
ひろ さん 03/07/17 19:20
 
 秀まるおさん、たけのこさん今日は、ひろです。
>  たけのこさんのコメントの意味はよく分かりませんが、
 私もよく分かりませんが、取り敢えず「エディタ・ウィンドウではどちらも
希望通りの動作をします。」とお答えしておきます。

>  たぶん直せるはずなので、次のバージョン(V3.01)で修正させていただきま
> す。
 どうも有り難うございます。

[ ]
RE:09126 [Tab] がマクロで検知できないNo.09130
たけのこ さん 03/07/17 19:30
 
たけのこです。

>  たけのこさんのコメントの意味はよく分かりませんが、現状で、鶴亀本体ウィ

たとえば、『マーク設定/解除』に M をアサインしていたとすると、先のマクロ
を改変し M キーが検出されるか? ってコトです。

(^^)/”

[ ]
RE:09130 [Tab] がマクロで検知できないNo.09131
ひろ さん 03/07/17 20:30
 
 秀まるおさん、たけのこさん今日は、ひろです。
> たとえば、『マーク設定/解除』に M をアサインしていたとすると、先のマクロ
> を改変し M キーが検出されるか? ってコトです。
 エディタ・ウィンドウでは検出できます。

 本体では、キー設定と重なっていると無効です。マクロを優先させるかどう
かは、秀まるおさんにお任せしますが、個人的には面倒なことになりそうなの
で、このままで良いと思います。

[ ]
RE:09131 [Tab] がマクロで検知できないNo.09133
秀まるお さん 03/07/18 09:02
 
 症状理解しました。たしかにキー割り当ての変換処理もフックの中でやってま
した。そこも同様に修正します。鶴亀本体上の秀丸エディタ相当部分がマクロ実
行中であれば、キー入力とコマンドコードの変換をしないようにします。

[ ]
RE:09131 [Tab] がマクロで検知できないNo.09134
たけのこ さん 03/07/18 09:09
 
たけのこです。

>  エディタ・ウィンドウでは検出できます。

前提はご自身が一番最初に書かれていますよね?

(^^)/”

[ ]
RE:09133 [Tab] がマクロで検知できないNo.09136
ひろ さん 03/07/18 12:52
 
 秀まるおさん今日は、ひろです。
> たしかにキー割り当ての変換処理もフックの中でやってま
> した。そこも同様に修正します。
 どうも有り難うございます。

 ##たけのこさんのおかげで、一つバグが見つかりました(^^)。

[ ]