タブモード時のiskeydowmNo.07857
h-tom さん 13/04/06 19:48
 

h-tom です。

秀丸エディタ:Ver.8.30β33
OS:Windows VistaSP2(32bit)

タブモードの場合、iskeydowm の動作がちょっと変です。
 
  //-------------- サンプルマクロ
  sleep 1500;
  disablebreak;
  ##dummy = keypressed;
  message "keydown(ctrl):" + str(iskeydown(0x11)) +
          "\ntabmode:" + str(tabmode);
  endmacro;
  //-------------- サンプルマクロ

上記マクロを、Ctrl+ 5 というショートカットキーで、起動させています。
(起動直後に、キーは離している。)

マクロとしては、Ctrl+ 5 で起動させても、直ぐにキーを離せば、
・起動から1秒以上経過している
・disablebreak、keypressedを呼んでいる
ということから、マクロを起動した時のショートカットキー の Ctrl を
検出しない事を、期待しています。

非タブモードの場合は、意図通りCtrlキーを検出しないですが、タブモードで
実行すると、Ctrlキーを離しているにもかかわらず、Ctrlキー を検出してしま
います。さらに、sleep を 5000 くらいにしても同じです。

Windows7SP1(32bit) + 秀丸エディタVer.8.30β30 でも同じでした。

非タブモード実行結果
  ---------------------------
  秀丸エディタ
  ---------------------------
  keydown(ctrl):0
  tabmode:0
  ---------------------------
  OK  
  ---------------------------
 
タブモード実行結果
  ---------------------------
  秀丸エディタ
  ---------------------------
  keydown(ctrl):1
  tabmode:1
  ---------------------------
  OK  
  ---------------------------

[ ]
RE:07857 タブモード時のiskeydowmNo.07858
秀丸担当 さん 13/04/08 09:46
 

バグ情報ありがとうございます。
確かにおかしいことが確認できました。
少なくとも1秒経った後には非同期的に取得できるように修正させていただきま
す。

[ ]