[AHK]Alt+WheelUpとAlt+WheelDownをトリガーにするとCtrlが押される。

AutoHotkeyで、Altを押しながら、WheelUp/WheelDownすると、複数回スクロールされるように設定した。

!WheelUp::Send, {WheelUp 7}
!WheelDown::Send, {WheelDown 7}

これで、快適に使うつもりだったが、ブラウザでごりごりスクロールしてると、LControlがUp/Downすることがあった。これをされると、ブラウザの画面が拡大縮小されるので非常に煩わしい。
以前のファンクションキーだけじゃなく、もしかしてこれもか、、、と思いつつ確認

[AHK]Ctrlは操作してないのに、LControlが押し離しされる。
不具合内容 G600にWin+F22を割り当て、これをAutoHotKeyでCtrl+Sにし、マウスでファイルの保存が出来るようにしていた。AHKのコードは下記のような感じ。 #F22:: KeyWait, LWin SendEvent, ...

下記の様なコードを書いてテスト。
!WheelDown::return

はいHit。

A4  038	 	d	0.38	LAlt           	
9E  001	h	d	0.23	WheelDown      	
A4  038	 	u	0.27	LAlt           	
A2  01D	i	d	0.00	LControl       	LCtrlが発生
A2  01D	i	u	0.00	LControl       	

Ctrlは全く操作してないのに、LControlが出力されてます。

ログだけ見ると、CtrlがWheelDownに影響しないタイミングで押し離しされていますが、Chromeの画面が拡大縮小されることから、間違いなく、Ctrl+WheelUpとなる状況が発生していると考えられます。

もしかすると、ログは1つ目のキー要求処理中に他のキー要求処理が始まった場合、発生したイベント毎にログに反映してるのかもしれません。
Alt+WheelUPを連打した時、最初の処理が終わる前に次のAlt+WheelUpが来ると、Ctrl+WheelUpの発生があり得るので。

多分こんな感じじゃ???(uとdが同時の時はuが優先だとするなら。)

取り合えず、ファンクションキーの時の上手くいった、BlindでUp処理を試してみました。

!WheelDown::Send, {Blind}{LAlt Up}

結果としては、ダメでした。。。

A4  038	 	d	0.47	LAlt           	
9F  001	h	d	0.25	WheelDown        	
A4  038	i	u	0.00	LAlt           	
A2  01D	i	d	0.00	LControl       	LCtrlが発生
A2  01D	i	u	0.00	LControl       	
A4  038	 	d	0.27	LAlt           	

その後色々試すと、どうもAlt+WheelUpとAlt+WheelDownのreturnでCtrlが出力されているようです。
そのため、下記のように、「~」とsendに「{blind}」を付けてパススルーするようにするといけました。

~!WheelDown::return		;いけた

A4  038	 	d	0.42	LAlt           	
9E  001	h	d	0.30	WheelDown      	
A4  038	 	d	0.20	LAlt           	
A4  038	 	d	0.03	LAlt           	
A4  038	 	d	0.03	LAlt           	
A4  038	 	u	0.02	LAlt           	



~!WheelDown::send,{blind}{WheelUp}		;いけた

A4  038	 	d	0.49	LAlt           	
9E  001	h	d	0.30	WheelDown      	
9F  001	i	d	0.00	WheelUp        	
A4  038	 	d	0.20	LAlt           	
A4  038	 	u	0.01	LAlt           	


一先ず下記のように書くと、Ctrlの発生なく使えるようになりました。

~!WheelDown::send,{Blind}{WheelDown 6}
~!WheelUp::send,{Blind}{WheelUp 6}

問題は、今回みたいに入力キーが出力されて問題ないケースしか使えない。。。

他のコマンドに置き換えれないのは痛いな。。。

コメント

PAGE TOP
Ads Block Detector Powered by codehelppro.com
Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました