シアノンとAd[es]の気まぐれ日記 このページをアンテナに追加 RSSフィード

2007/08/15

SortInchKey ver.0.5.2

ダウンロード

SortInchKey052.cab

SortInchKey052.zip


キー割り当てソフト。

更新履歴

・長押し系にキーコード発行アプリを割り当てた場合、そのコードを誤認識してしまっていた不具合を修正した。


やっと!ctrlswapminiのトグルがおかしくなる挙動の再現ができました。やはり、原因はキーフック順にありました。ctrlswapmini→SortInchKey とキーフックしなければならないのに、逆の順番でキーフックするとctrlswapminiのトグルがおかしくなります。

「いや、MultiKeyHookでちゃんと正しい順番で起動させてるよ」という人もいるかと思います。

実はここに巧妙なトリックが隠されていました。

MultiKeyHookで指定する順番は「起動順」ですが、必ずしも「起動順」=「キーフック順」ではないのです。

それぞれのソフトで起動してから実際にキーフックするまでの時間は変わります。

さらにこれは想像ですが、MultiKeyHookでキーフックアプリが実行される時に、同時にスタートアップフォルダに入れた他のノンキーフックアプリも実行されていて特に動作が重たくなっている状態なので、キーフックするまでの時間が通常よりも長くなってしまう場合があると考えられます。

このような理由により、必ずしも「起動順」=「キーフック順」ではないという事になるわけです。

それでは、キーフック順を指定するにはどうすればいいのかというと、厳密には正しくキーフック順を指定できるものではありませんが、方法は3つあると考えます。


1つ目は、ExecMultiを使って1秒おきにアプリを起動する方法です。

MultiKeyHookで、ただ一つだけExecMultiを指定しておきます。その設定ファイルに以下のようにして指定します。


exec=\Program Files\appli01\appli01.exe
sleep=1000
exec=\Program Files\appli02\appli02.exe
sleep=1000
exec=\Program Files\appli03\appli03.exe
・・・


これは、起動してから1秒以内にはキーフックも完了してるだろ、という考えで成り立つ方法です。起動時間を1秒毎にすることでキーフックが完了してから次のアプリを起動するというものです。


2つ目は、ctrlswapminiの作者さんにキーフックを素早く行うようにしてくれと頼む方法です。

まあ、でも、スタートアップに登録されてるアプリによってはこの方法では防ぎきれないと思うので・・・

しかも、他のアプリでもあり得ることだし・・・


3つ目は、MultiKeyHookの作者さんに起動間隔を指定できるようにしてくれと頼む方法です。

多分、これが一番いい方法じゃないかなと思うので、ホーミンさんに要望を出しておきました。


3つ目の要望が受け入れられてもそうでなくても、今すぐに対応できるのは1つ目の方法しかないようです。

以上、シアノンが調べた結果でした。

ねこーらんねこーらん 2007/08/15 09:14 >「いや、MultiKeyHookでちゃんと正しい順番で起動させてるよ」という人もいるかと思います。
はい!私です(^ ^;

こんな巧妙なトリックが隠されていたんですね。なるほど〜。
しかし、毎回xianonさんの解析力・開発力には驚かされます。
しかも、丁寧に解説してくれるので読んでいて楽しいです。
腑に落ちる、という感じです。

とりあえずExecMultiを使ったやり方を実践してみようと思います。

sasasasa 2007/08/15 11:48 今回のバージョンで、昨日教えて頂いた、
「SortInchKeyのみでキーを割り当て」設定した場合と、
「clear_follows」設定した場合、どちらでも大丈夫なことを確認出来ましたm(_ _)m

ctrlswapminiの件、自分は使用していないので支障はないですが、
「起動順」=「キーフック順」ではないというトリック、実に納得です。
見破ったシアノンさんは見事ですね!

xianonxianon 2007/08/16 02:21 前から薄々気づいてはいたんですけどね。
ところでねこーらんさん、ExecMultiの方法で良くなりましたか?

山田山田 2007/08/17 21:24 バージョンあげたらEnterの割り当てがきかなくなってしまいました
GSFinderでホールドメニューが出るように設定していたのですが

[Actionキー]
code=ENTER
with=
scan=
mode=push
direction=both
activeKind=class
activeName=GSFINDERW03
keyDown=0x86
keyDown=0x0d

[Actionキー]
code=ENTER
with=
scan=
mode=release
direction=both
activeKind=class
activeName=GSFINDERW03
keyUp=0x0d
keyUp=0x86

こんな感じです
まったく同じ設定でセンターキーに割り当ててるのは普通に動くんですが・・・
ちなみに機種は普通のesです

xianonxianon 2007/08/17 23:08 >>山田さん
確かにENTERキーに割り当てるとおかしくなりますね。次のバージョンで直すので少々お待ちください。

tomo.ac.jptomo.ac.jp 2007/08/18 01:46 はじめまして。sortinchkey便利に使わせて頂いております。
一つ要望なのですが、
短押し、リピート、二度押し(短)
というモードは作成可能でしょうか?
二度押しとリピートが排他になっているので何か理由があるのだろうとは思うのですが、もし出来れば
カーソルキーで長押しはリピート、二度押しでpagedown/pageupとか出来れば良いなぁと思ったものですから。
これが出来ればXcrawl要らないと思うので、もし可能であればご検討頂ければ幸いです。

xianonxianon 2007/08/18 02:42 >>山田さん
ENTERキーのバグはver.0.5.3で修正しましたのでお試しください。

>>tomo.ac.jpさん
初めまして。clear_follows の0x5bをアップさせるというのを参考にしてたりしてました。便利なソフト群ありがとうございます。
要望の件ですが、なるほど、長押しの代わりにリピートに割り当てられないかということですね。
面白いと思うので検討してみたいと思います。

tomo.ac.jptomo.ac.jp 2007/08/18 08:38 >>xianonさん
あいやー、拙作のヘボソフトをご存知でしたか。ありがとうございます。
sortinchkeyのおかげであれも不要になり、どんどん快適になっています。
ご検討頂けるとはありがとうございます。よろしくお願い致します。

ねこーらんねこーらん 2007/08/20 12:38 連絡遅くなりましたが、ExecMultiからのスタートアップでうまくいきました。
でも、ホーミンさんが対応改良版を出してますね。
こっちはまだ試していないのですが、近いうちにMultiKeyHookとSortInchKeyのバージョンを上げたいと思います。
ありがとうございました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/xianon/20070815/1187128641