Ctrl+Shift+数字No.05107
mosjin さん 00/02/25 12:28
 
秀丸では Ctrl+1 〜 Ctrl+9 までのキーがマクロに割り当てられてますが、
Ctrl+Shift+数字 には、何も割り当てられてないのでしょうか?
私的には、Ctrl+Shift+数字 で、2ページ目のマクロが起動できるとありがたいです。
あと、Ctrl+0 に、マクロ10番を割り当てとかも。

キー割り当てのカスタムをすれば良いと言えばそれまでですが……
数字キーはキー割り当てのリストに出てこないので、
勿体無いなぁと思いまして――

[ ]
RE:05107 Ctrl+Shift+数字No.05111
ひろ さん 00/02/25 17:12
 
 mosjin さん今日は、ひろです。
> Ctrl+Shift+数字 には、何も割り当てられてないのでしょうか?
 さて問題です。[Shift]+[数字] で何が入力されるでしょう? これは取りつ
けてある key bord によって変化します。
 そういうわけで [Ctrl]+[Shift]+[数字] には割り当てが出来ないのだと思
います。

 というわけで [数字] 以外の割り当てで list にあって、実際には動作し
ないものもでてきます。例えば私は 110 日本語 keyboard を使用しています
が、[Ctrl]+[Shift]+[\] は [Ctrl]+[_」になってしまうので、使えません。

[ ]
RE:05111 Ctrl+Shift+数字No.05122
える さん 00/02/26 05:14
 
> さて問題です。[Shift]+[数字] で何が入力されるでしょう? これは取りつ
>けてある key bord によって変化します。

入力される文字は、押されたキーと無関係ですよ。

「Shift + 1」はどんなキーボードでも「Shift + 1」です。

間違っても 106jp なキーボードドライバが入ってて「!」になったり
することはありえません。

文字を取得すれば「!」は得られるかもしれませんけど、キーを取得
すれば「Shift」と「1」が得られます。

[ ]
RE:05122 Ctrl+Shift+数字No.05125
ひろ さん 00/02/27 12:51
 
 えるさん今日は、ひろです。
> 「Shift + 1」はどんなキーボードでも「Shift + 1」です。
>
> 間違っても 106jp なキーボードドライバが入ってて「!」になったり
> することはありえません。
>
> 文字を取得すれば「!」は得られるかもしれませんけど、キーを取得
> すれば「Shift」と「1」が得られます。
 私の書き方が悪いですね。確かに入力される文字は変わっても [Shift]+[1]
は [Shift]+[1] のままですね。ただこういった key の場合、key の割り当
て時に [Ctrl]+[Shift]+[1] なのか、[Ctrl]+[!] なのか混乱を招くような気
がします。そういった意味では割り当て出来ない方が、user に優しい設計だ
と思います。

 最後に質問ですが、私の 110JP keyboard とそれに対応した driver とい
う環境では、
[Ctrl]+[Shift]+[\ ([Shift] のとなり)]:[Ctrl]+[_]
[Ctrl]+[.]                           :[Ctrl]+[>]
等と「キーの割り当て」に対応しているのですが、秀丸は一体どういった規
則性で、割り当てられた key の動作をしているのでしょう?

[ ]
RE:05125 Ctrl+Shift+数字No.05128
える さん 00/02/27 14:54
 
>> 「Shift + 1」はどんなキーボードでも「Shift + 1」です。
>> 間違っても 106jp なキーボードドライバが入ってて「!」になったり
>> することはありえません。
> 私の書き方が悪いですね。確かに入力される文字は変わっても [Shift]+[1]
>は [Shift]+[1] のままですね。ただこういった key の場合、key の割り当
>て時に [Ctrl]+[Shift]+[1] なのか、[Ctrl]+[!] なのか混乱を招くような気
>がします。そういった意味では割り当て出来ない方が、user に優しい設計だ
>と思います。

そうですか? 秀丸のキー設定は ModifyKey + 文字 のダイアログなんで特に混乱は
しないと思います。
ダイアログ内にキーの選択肢として [!] が出現しないのと、[Shift] のチェックボ
ックスがあるので、気が付かない可能性はあっても、混乱するようなことにはならな
いと思います。

逆に混乱するとすれば、[Shift] [Ctrl] にチェックした状態で [1] が出ているのに、
[Shift] を削って [Ctrl+1] を定義しようとすると、選択肢から [1] が消えること
ですね。
これはマクロ実行がすでに定義されているのでキー設定に出せないでしょうから、マ
クロ実行のキーを自由にキー設定で割り振れるようにしないと混乱が生じると思いま
す。

> 最後に質問ですが、私の 110JP keyboard とそれに対応した driver とい
>う環境では、
>[Ctrl]+[Shift]+[\ ([Shift] のとなり)]:[Ctrl]+[_]
>[Ctrl]+[.]                           :[Ctrl]+[>]
>等と「キーの割り当て」に対応しているのですが、秀丸は一体どういった規
>則性で、割り当てられた key の動作をしているのでしょう?

秀丸担当さんとか確実なことを答えてくれるかもしれませんが、簡単に。

プログラムからキーボードのキーを直接検査することはあまりありません。
Windows では、キーボードドライバが変換した「仮想キー」に対して処理を行うこと
がほとんどです。
利用されているキーボードドライバが、そういった仮想キーのコードを返しているた
めだと思います。

仮想キーコードとキーボード上の刻印の対応表を作るのはキーボードドライバが逆変
換に対応していれば簡単にできるので、そういう表を作成するツールがどっかにある
んではないでしょうか。
# 秀丸にしても他のソフトにしても、キーボードドライバの逆変換を利用して刻印表
示にあわせたキー設定ダイアログを出すことはできるのでしょうけどね。

[ ]
RE:05128 Ctrl+Shift+数字No.05140
mosjin さん 00/02/28 12:24
 
ども、元記事のmosjinです。書きこみ遅くて済みません。

ですが、えるさんが私の言いたいことを全て言ってくれたので、
書く事がないです。ありがとうございます−>えるさん



[ ]
RE:05128 Ctrl+Shift+数字No.05149
秀丸担当 さん 00/02/28 16:50
 
>そうですか? 秀丸のキー設定は ModifyKey + 文字 のダイアログなんで特に
>混乱はしないと思います。
>ダイアログ内にキーの選択肢として [!] が出現しないのと、[Shift] のチェ
>ックボックスがあるので、気が付かない可能性はあっても、混乱するようなこ
>とにはならないと思います。

たぶんCtrl+Shift+数字をマクロ登録に割り当てても問題ないかもしれません。
検討しておきます。

>>[Ctrl]+[Shift]+[\ ([Shift] のとなり)]:[Ctrl]+[_]
>>[Ctrl]+[.]                           :[Ctrl]+[>]
>>等と「キーの割り当て」に対応しているのですが、秀丸は一体どういった規
>>則性で、割り当てられた key の動作をしているのでしょう?

秀丸では昔からWM_KEYDOWNというキーが押された情報の仮想キーコードをまず判断し
て、それに外れた場合さらにWM_CHARという文字に変換された情報も判断しています。
実はもっと正確にキーを判断できると思うのですが、下手にさわると別の所までおか
しくなりそうなので、昔から大きな変更はしていません。


[ ]
RE:05149 Ctrl+Shift+数字No.05154
ひろ さん 00/02/28 20:13
 
 秀丸担当様今日は、ひろです。
> 秀丸では昔からWM_KEYDOWNというキーが押された情報の仮想キーコードをまず判断し
> て、それに外れた場合さらにWM_CHARという文字に変換された情報も判断しています。
> 実はもっと正確にキーを判断できると思うのですが、下手にさわると別の所までおか
> しくなりそうなので、昔から大きな変更はしていません。
 教えて頂きどうも有り難うございました。

[ ]