[ 新規に投稿する ]

V8.88β5No.09837
秀丸担当 さん 18/12/19 09:47 [ コメントを投稿する ]
 
V8.88β5を公開しました。

以下のページの「先行開発バージョンはこちら」からダウンロードできます。
https://hide.maruo.co.jp/software/hidemaru.html

32bit版:
https://hide.maruo.co.jp/software/bin3/hm888b5_signed.exe

64bit版:
https://hide.maruo.co.jp/software/bin3/hm888b5_x64_signed.exe
[ ]
RE:09837 V8.88β5へのフィードバックNo.09839
ohtorii さん 18/12/19 21:03 [ コメントを投稿する ]
  お疲れ様です。
ベータ版のリリースありがとうございます、以下はフィードバックです。

>カラー絵文字の描画が乱れる問題修正。
修正されていました。

>ファイルマネージャ枠の異常終了対策。
クラッシュしないようになりました。

>inputcharの第3パラメータを指定して...
意図したとおり動作しました。


keypressedex関数の追加ありがとうございます!
以下2点フィードバックをお返しします。

(その1)
試したところ keypressedex(1) で取得できないキーが二つありました。

 - 十字キーの上下左右
 - ctrl-Backspace

//keypressedex(0)では取得できました。


(その2)
keypressedex関数はdisablebreakした状態で利用するのが良いでしょうか?
ヘルプに記載されていないため明示して頂きたいです。

よろしくお願いいたします。
[ ]
RE:09839 V8.88β5へのフィードバックNo.09840
秀丸担当 さん 18/12/20 09:11 [ コメントを投稿する ]
 
いろいろご確認ありがとうございます。
矢印キーの上下左右は、確かにできませんでした。inputcharのほうを調べてみたら、矢印キーは仮想キーコードでも文字コードでもない、秀丸エディタ独自の値が割り当てられていました。
これと同じようになるようにしようと思います。
keypressedex(0)のほうの矢印キーはVK_LEFT〜VK_DOWNの0x25〜0x28で、
keypressedex(1)はinputcharと同じ0x1C〜0x1Fで、違う値となるようにします。

Ctrl+Backspaceについてはこちらで確認してみた限りでは、単にBackspaceと同じとして取得できました。

keypressedexもdisablebreakを前提としています。
ヘルプに追記させていただきます。
[ ]
RE:09840 V8.88β5へのフィードバックNo.09841
ohtorii さん 18/12/20 20:48 [ コメントを投稿する ]
  お疲れ様です。

Ctrl+Backspaceを押したとき、
keypressedex(0) -> 229を返します。
keypressedex(1) -> 何故かAtokの確定アンドゥが起動しています。

こちらで利用している秀丸マクロとATOKのバージョン情報をお送りします。
https://github.com/ohtorii/test/releases/tag/20181220

よろしくお願いいたします。
[ ]
RE:09837 V8.88β5へのフィードバック(その2)No.09842
ohtorii さん 18/12/20 21:14 [ コメントを投稿する ]
  お疲れ様です。

keypressedex関数で入力キーの取りこぼしが発生するケースを見付けました。

現象を再現させる秀丸マクロをアップしました。
https://github.com/ohtorii/test/releases/tag/20181220_2

ご確認よろしくお願いいたします。
[ ]
RE:09841 V8.88β5へのフィードバックNo.09843
ohtorii さん 18/12/20 21:21 [ コメントを投稿する ]
  補足です。

Ctrl+Backspaceとは、
Ctrlキーを押しながらBackspaceキーを押す動作です。
[ ]
RE:09843 V8.88β5へのフィードバックNo.09844
秀丸担当 さん 18/12/21 09:16 [ コメントを投稿する ]
 
ATOKということで、ATOKのキー割り当てか何かでそういう動作になっているということかと思います。
keypressedは基本的に仮想キーコードで、WindowsのメッセージのWM_KEYDOWNに相当して例えばF1キーでも取得できます。
keypressedex(1)は基本的に文字コード(例外もありますが)で、WM_CHARに相当してF1キーなどは取得できないです。
そういう意味においてATOKの割り当てになっているCtrl+Backspaceは、文字ではなく機能としてのキーで、仕方ないということになってしまいます。
[ ]
RE:09842 V8.88β5へのフィードバック(その2)No.09845
秀丸担当 さん 18/12/21 09:24 [ コメントを投稿する ]
 
runexで同期したり標準出力を取得している最中の間は、プログラム実行中という別の状態になっていて、確かにkeypressed等の取得はできないです。
ここまでやるとしたら大変で、すみませんが仕様ということでお願いしたいところです。
[ ]
RE:09845 V8.88β5へのフィードバック(その2)No.09846
ohtorii さん 18/12/22 20:25 [ コメントを投稿する ]
  お疲れ様です。

仕様ということで分かりました。
こちらこそ色々と対応して頂き大変感謝しております、
マクロ作成が捗ります、ありがとうございます!!

ただ、出来る・出来ないの組み合わせがあるとマクロ作成する際に苦労するので、
もし今後runexやキー取得機能にてこ入れすることがあれば、
そのタイミングで一考して頂けますと幸いです。

よろしくお願いいたします。
[ ]
RE:09844 V8.88β5へのフィードバックNo.09847
ohtorii さん 18/12/22 20:31 [ コメントを投稿する ]
  お疲れ様です。

keypressedとkeypressedex(1)は内部実装が大きく異なるんですね。
納得できました!

お手数をおかけしました。
[ ]

[ 新規に投稿する ]