キー割り当てNo.08199
たまねぎ さん 05/06/14 21:14
 
キー割り当てした一部のコマンドで動作がおかしいと
思われるものがあります。

1. 半前ページをCtrl-Rに割り当てている場合に、
 Shiftキーを押しながらカーソルキーで範囲選択し、
 次にShiftキーを離し(範囲選択されたまま)、
 そしてCtrl-Rを押すと、Shiftキーは押していないのに
 範囲選択の拡張となります。
 半次ページの場合も同じ動作となります。

2. メニュー8:右ボタンをCtrl-Rに割り当てている
 場合に、範囲選択されていないときにCtrl-Rを押すと、
 メニュー8:右ボタンのメニューが表示されるのですが、
 範囲選択しているときにCtrl-Rを押すと、このときも
 メニュー8:右ボタンが表示されてしまいます。
 範囲選択されている場合は、選択中右ボタンのメニューが
 表示されるのが正しいと思います。(右クリックにデフォルト
 でメニュー8:右ボタンが割り当てられていますが、この
 右クリックの動作と同じ動作になるのが正しいのですよね?)

以上です。

[ ]
RE:08199 キー割り当てNo.08206
秀丸担当 さん 05/06/15 11:17
 

>1. 半前ページをCtrl-Rに割り当てている場合に、
> Shiftキーを押しながらカーソルキーで範囲選択し、
> 次にShiftキーを離し(範囲選択されたまま)、
> そしてCtrl-Rを押すと、Shiftキーは押していないのに
> 範囲選択の拡張となります。
> 半次ページの場合も同じ動作となります。

調べてみたところ、コマンドとしての半前ページ(マクロのhalfprevpage)は範囲
選択を維持します。
PageUpキーを直接入力するときは、範囲選択を解除します。
マクロでいうとescape;halfprevpage;として記録されます。
この仕様を変更するといろいろ影響が出てくるので、難しいところですが慎重に
考えたいと思います。

>2. メニュー8:右ボタンをCtrl-Rに割り当てている
> 場合に、範囲選択されていないときにCtrl-Rを押すと、
> メニュー8:右ボタンのメニューが表示されるのですが、
> 範囲選択しているときにCtrl-Rを押すと、このときも
> メニュー8:右ボタンが表示されてしまいます。
> 範囲選択されている場合は、選択中右ボタンのメニューが
> 表示されるのが正しいと思います。(右クリックにデフォルト
> でメニュー8:右ボタンが割り当てられていますが、この
> 右クリックの動作と同じ動作になるのが正しいのですよね?)

「メニュー8:右ボタン」に割り当てたキーが、右クリックの動作と同じになるわ
けではないので、仕様としては現状が正しいです。

Ctrl+Rに対して、「右ボタン」という割り当てができるとしたら、仕様的に問題
無くできると思いますが、そういう割り当てはできないのでできません。

[ ]
RE:08206 キー割り当てNo.08215
たまねぎ さん 05/06/15 21:33
 
>>2. メニュー8:右ボタンをCtrl-Rに割り当てている
>> 場合に、範囲選択されていないときにCtrl-Rを押すと、
>> メニュー8:右ボタンのメニューが表示されるのですが、
>> 範囲選択しているときにCtrl-Rを押すと、このときも
>> メニュー8:右ボタンが表示されてしまいます。
>> 範囲選択されている場合は、選択中右ボタンのメニューが
>> 表示されるのが正しいと思います。(右クリックにデフォルト
>> でメニュー8:右ボタンが割り当てられていますが、この
>> 右クリックの動作と同じ動作になるのが正しいのですよね?)
>
>「メニュー8:右ボタン」に割り当てたキーが、右クリックの動作と同じになるわ
>けではないので、仕様としては現状が正しいです。
>
>Ctrl+Rに対して、「右ボタン」という割り当てができるとしたら、仕様的に問題
>無くできると思いますが、そういう割り当てはできないのでできません。

そうなんですか。

何がしたかったかというと、マウス右クリックのポップアップメニュー
をキー入力で表示させるのに、右Ctrlキーの隣にある、ポップアップ
メニューを表示させるキーが押しにくい位置にあるので、ユーザーメニュー
(メニュー8:右ボタン)を表示するマクロを組んで、キー割り当てで適当な
キーに割り当てようとしたわけです。
マクロヘルプを見たのですが、なんかユーザーメニューはマクロから
使用しないでくれみたいなことが書いてありました。(書き方から
できそうにも思えるのですが、肝心のコマンドの記述がありません。)
キー割り当てでユーザーメニューを割り当てられることを思い出し、
確かめてみると割り当てられるのはわかったのですが、選択中右ボタン
のメニューがキー設定のリストになかったので、質問の推測に至った
わけです。

選択中右ボタンのメニューは、キー割り当てで割り当てられないの
でしょうか?

[ ]
RE:08215 キー割り当てNo.08216
アルビレオ さん 05/06/15 22:30
 
秀丸ユーザーのアルビレオです。

>選択中右ボタンのメニューは、キー割り当てで割り当てられないの
>でしょうか?

登録したメニューを呼び出すことはできませんが、マクロ内でメニューを作成す
ることはできます。
多少手間はかかりますが、メニュー内容を頻繁に変更しないのならこれで十分使
えるんじゃないでしょうか。

if(selecting){//範囲選択中メニュー
  menu "切り抜き(&T)","コピー(&C)","貼り付け(&P)","TO &UPPER CASE","to &
lower case";
  if(result==1){
    cut;//切り抜き
  }else if(result==2){
    copy;//コピー
  }else if(result==3){
    paste;//貼り付け
  }else if(result==4){
    toupper;//TO UPPER CASE
  }else if(result==5){
    tolower;//to lower case
  }
}else{//範囲選択なし
  menu "やり直し(&Z)","貼り付け(&P)","すべてを選択(&A)";
  if(result==1){
    undo;//やり直し
  }else if(result==2){
    paste;//貼り付け
  }else if(result==3){
    selectall;//すべてを選択
  }
}

[ ]
RE:08216 キー割り当てNo.08217
たまねぎ さん 05/06/15 23:27
 
>登録したメニューを呼び出すことはできませんが、マクロ内でメニューを作成す
>ることはできます。
>多少手間はかかりますが、メニュー内容を頻繁に変更しないのならこれで十分使
>えるんじゃないでしょうか。

アルビレオさん、ありがとうございます。
範囲選択している/していないでポップアップメニューの
内容が変わるのはとても便利なんで、マクロは参考にさせて
いただきます。

まぁ、何でこんなことにこだわっているのか、冷静になって
考えていたのですが、メニュー編集でユーザーメニューの内容を
編集するのにやたらと操作回数(マウスのクリック回数)が
多いことにありそうです。
ツールバーのアイコンの並びの編集とユーザーメニューの編集を
比べてみると、例えば、その他編集の中のコマンドを追加して
並べてみたんですが、やろうとしていることは同じなのに、
ツールバーの編集のほうが楽なんですよね。
範囲選択中に使用可能なコマンドをまとめてポップアップメニュー
として出そうとしていたのですが、ユーザーメニューを作成するの
を面倒に感じていたことにありそうです。

どうもお騒がせしました。

[ ]
RE:08217 キー割り当てNo.08222
カモノハシ さん 05/06/16 00:53
 
こんばんは、たまねぎさん。
カモノハシと申します。

> まぁ、何でこんなことにこだわっているのか、冷静になって
> 考えていたのですが、メニュー編集でユーザーメニューの内容を
> 編集するのにやたらと操作回数(マウスのクリック回数)が
> 多いことにありそうです。
しばらく前に改善されるかも知れないと言うのがあったかと思いますが、まだ
以前のままですね。
手前味噌で恐縮ですが、拙作のDLLを使うとマウスを使わなくてもメニューの
編集が可能です。
http://members.jcom.home.ne.jp/c-spencer/

http://members.jcom.home.ne.jp/c-spencer/program/piece/AssignReg180b6.zip
です。
メニュー部分の編集はベータ版の方にしかありませんが……。

細かい使い方などが不明な場合は上記サイトの掲示板とか、メールとか、何か
でお尋ね下さい。

[ ]
RE:08215 キー割り当てNo.08223
bouz さん 05/06/16 03:19
 
>何がしたかったかというと、マウス右クリックのポップアップメニュー
>をキー入力で表示させるのに、右Ctrlキーの隣にある、ポップアップ
>メニューを表示させるキーが押しにくい位置にあるので、ユーザー

ようく読むと、秀丸の問題というより、むしろ「アプリケーションキー」が押しにく
い位置にある、
というのが原因のような気もするので、レジストリをいじって、キーの位置を変える
というのもいいかもしれません。

[ ]