Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I want to modify the threshold of the drag trigger. #7

Open
fillu87gyc opened this issue Feb 17, 2021 · 5 comments
Open

I want to modify the threshold of the drag trigger. #7

fillu87gyc opened this issue Feb 17, 2021 · 5 comments

Comments

@fillu87gyc
Copy link

ドラッグトリガーのしきい値を修正したいです。

現在、私はThinkPad Windows10でこのソフトウェアを利用しています。
トリガーとして中央ボタンドラッグを設定しています。

私のトラックポイントは微小ですがドリフトを起こす時があり、そのときにミドルクリックではなくミドルドラッグとして判定されてスクロールモードになります。

設定パラメータとして微小な移動はドラッグとして認識しないように閾値を設定できたら嬉しいと思います。
すでにスクロールの閾値が編集できることは知っていますが、それはトリガーが発生したあとの設定のように思います。
私は、微小なドラッグが発生していてもミドルクリック信号を送信したいです。

以下は機械翻訳です

Machine Translation
I would like to modify the drag trigger threshold.

I am currently using this software on a ThinkPad Windows 10.
I have set the middle button drag as a trigger.

My track point sometimes drifts slightly, causing it to be judged as a middle drag instead of a middle click, and it goes into scroll mode.

It would be wonderful if I could set a threshold as a configuration parameter so that small movements are not recognized as a drag.
I know that I can already edit the scrolling threshold, but I think it affects the state after the trigger occurs, but not the judgment of whether it is a middle drag or middle click.
I would like to send a middle click signal even if a tiny drag is occurring.

@ykon
Copy link
Owner

ykon commented Feb 17, 2021

ありがとうございます。こちらは日本語のみでも大丈夫です。
とりあえず、要望の内容としては理解できました。
土曜か日曜に時間が取れたら、詳細に検討したいと思います。

※ 以下、コードレベルの話です。# 少ししか見ていないので間違っているかも
現在の*Dragの仕様ですが、常にボタンを押した時点でスクロールモードに切り替えて、
移動が発生したら、後からアイコンだけ変えるという作りになっています。
# ボタンを離すとスクロールモードの解除 + 移動が発生していなかったらクリックを再送信
変更としては、startScrollDrag()で最初の位置を覚えておいて、
dragStart()で閾値を超えた移動値の場合にdraggedをtrueにするのと、
dragがdragStart()のままになった場合のdragDefault()に戻す処理をどこかに入れると
上手くいくかもしれません。# これで何か別の副作用がなければ

@ykon
Copy link
Owner

ykon commented Feb 21, 2021

d4de520

dragThreshold: 0~500

ちょっとテストは足りていませんが大丈夫そうです。
想定と動作があっているかご確認ください。
※ まだUIはありません。設定ファイルを直接変更してください。
W10Wheel_dragThreshold.zip

@fillu87gyc
Copy link
Author

昨日から検証しようとしているのですが、どうにもexeファイルが起動しないです…
自動起動を切って再起動したあとに管理者権限で起動しようとしたところ砂時計が数秒現れるものの何も起動しないようです。

エラー等がでるわけでもなくタスクトレイにでるわけでもなく、TaskManagerのプロセス一覧にもW10から始まるプロセスはない症状です。
# おそらくWindowsのセキュリティでブロックされているようです。

通常の起動も管理者権限での起動もうまく行かない状態で動作確認ができません…
Releaseにあるv2.7.3は起動できるので署名等を入れたビルドファイルをいただけばありがたいです。

関係ないと思いますが、WindowsUpdateは最新に更新してあります。

@ykon
Copy link
Owner

ykon commented Feb 27, 2021

このファイルは単体では起動しません。
FSharp.Core.dllへの依存関係があるので、現在のW10Wheel.exeを何かにリネームして (W10Wheel.exe.2.7.3)
そのディレクトリに新しいW10Wheel.exeを配置します。
これで恐らく起動するかと思います。

@li-ruijie
Copy link

I want to report this works well and small jitters no longer prevent middle click from being sent. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants