- 作成者投稿
- 2011年10月12日 4:40 pm #10681uruメンバー
はじめまして。どうぞよろしくお願いいたします。
VZエディタで使い慣れた2ストロークコマンドを実現すべく、いくつかの記事を参考に設定を試みています。ユーザーメニューを使った場合、2ストローク目のショートカットキーは Ctrl を押していても、押していなくても機能するという記事を拝見したのですが、C, H, I, J, M について、Ctrl を押しているとうまく認識されない現象に遭遇しています。
ほかのスニペットや、ショートカットの指定など、影響しそうなものを極力削除して試しているのですが、うまくいきません。現象自体は、ファイル(F)メニューなどでも再現するようです。なにか解法のヒントをいただければと考えております。使用しているバージョンは 11.0.1 です。
[関連記事]
2 ストローク キーのショートカットを定義するには?
http://jp.emeditor.com/modules/xoopsfaq/index.php?cat_id=6#q98
マクロ : 『VZ Editor 化パック for EmEditor』スニペット公開!
http://jp.emeditor.com/modules/news/article.php?storyid=104
マクロ : 「VZ Editor化パック for EmEditor」スニペット、その他のマクロに関するお知らせ
http://jp.emeditor.com/modules/news/article.php?storyid=121どうぞよろしくお願いいたします。
2011年10月12日 5:35 pm #10683Yutaka Emuraキーマスターuru 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
Ctrl+K と押して、Ctrl を押したまま、たとえば、すぐに K と押せば、ブックマークのオン/オフが切り替わります。しかし Ctrl+K を押して、1 秒以上何もしないままでいると、ポップアップ メニューが表示されてしまいます。こうなると、Ctrl を離してから、K を押さないと、効かなくなってしまいます。これは現在のところ仕様というか制限ということになってしまいます。ポップアップ メニューが表示される前にすぐに次のキーを押すか、あるいは、ツール メニューの [メニューの変更] を選択し、[ユーザー メニュー (1)] を選択して、下の [遅延時間] を 1 秒よりも長く設定してお試しいただけると幸いです。
どうぞよろしくお願い申し上げます。
2011年10月12日 8:27 pm #10684uruメンバー江村様
早速のご確認、ご回答、ありがとうございます!
標準設定の Ctrl+K に割り当てられている「ユーザーメニュー(1)」の挙動で確認してみました。
私の環境では、ポップアップメニューの表示がされる前でも、また、後でも、Ctrl+K -> K は Ctrl を押したままで正しく機能しました。
ただ、Ctrl+K -> C については、ポップアップメニューが表示される前では Ctrl を押したままで正しく機能するものの、表示された後では、ご指摘のように Ctrl を離さないと受け付けられませんでした。
2番目のキー(ポップアップメニュー中のショートカット)について、C, H, I, J, M の場合のみ、Ctrl を押したままだと受け付けられず、ほかのキーについては、押したままで受け付けられています。すべてのキーが受け付けられないのではなく、特定のキーのみ、挙動が違うようなのです(これについては環境依存でないか、別の環境でも挙動を確認してみます)。
ユーザーメニュー(1) に関しては、ポップアップの表示を遅延させることで現象の回避が正しくできました。ありがとうございます!
ただ、先の VZ化スニペット(http://jp.emeditor.com/modules/news/article.php?storyid=121)では、たとえば Ctrl+Q に対して、マクロでその場でポップアップメニューを生成して表示し、2ストローク対応をしています。ポップアップメニュー中の R (^QR) は Ctrl を押したまま機能するのですが、C (^QC) は Ctrl を押したままだと認識されません。マクロによるポップアップメニューの処理についても、同様に表示の遅延を設定するような方法があれば教えていただけないでしょうか。以下簡単なサンプルです。
var mainMenu = CreatePopupMenu();
mainMenu.Add( “&R text top”, 4168 ); // OK with Ctrl
mainMenu.Add( “&C text bottom”, 4169 ); // NG with Ctrl
var selectedID = mainMenu.Track(0);
if (selectedID != 0){
editor.ExecuteCommandByID(selectedID);
}長文になってしまいすみません。引き続きよろしくお願いいたします。
2011年10月15日 5:53 am #10691uruメンバー今回ご報告させていただいた、「Ctrl を押していると、一部のショートカット(C, H, I, J, M、つまり Ctrl+C, Ctrl+H, Ctrl+I, Ctrl+J, Ctrl+M)が機能しない件」ですが、EmEditor 依存では無いようですので、ご報告させていただきます。お騒がせしました。
OS やアプリケーションにかかわらず再現する現象のようです。Windows7 や、別の PC の Windows XP でも現象が確認でき、別のアプリケーションでも、ポップアップメニュー上で同様の挙動が確認できました。
いろいろと検索して調べていますが、何に依存した現象なのか、ヒントが得られていません。
実現したいこととしては、Ctrl を押したままの Q->C などの2ストローク入力です。ポップアップを使わずに Ctrl+Q に続くキーイベントを取得してマクロを実行するような方法があれば対処できるのですが、どなたかアイデアがありましたら教えていただけないでしょうか。
どうぞよろしくお願いいたします。
- 作成者投稿
- このトピックに返信するにはログインしてください。