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へのフィードバック(そ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へのフィードバック(そNo.09845
秀丸担当 さん 18/12/21 09:24
 

runexで同期したり標準出力を取得している最中の間は、プログラム実行中という別
の状態になっていて、確かにkeypressed等の取得はできないです。
ここまでやるとしたら大変で、すみませんが仕様ということでお願いしたいところで
す。

[ ]
RE:09845 V8.88β5へのフィードバック(そ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)は内部実装が大きく異なるんですね。
納得できました!

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

[ ]