2008年9月8日

iPhoneScroll

PC上でiPhoneのような動作を

そんな考えで作ったソフト
直感的な操作ができるけど普通にマウスホイールの方が(ry

/*iPhoneScroll.ahk
iPhoneのSafariのようなスクロール
=Alt+左クリックして移動するとスクロール
Ctrl+Alt+左クリックで終了

08/09/08
■version1.0.0
作成

問題点
・移動が多いと途中でもう1回押さないといけない
・マウスの移動距離とスクロールが合ってない
・いいホットキーが見つからない
*/

;#NoTrayIcon
;範囲を画面全体に(どうでもいいけど一応)
CoordMode, Mouse, Screen
;アクティブウィンドウ限定
#IfWinActive A

;初期設定(iPhone.ini読み込み)
IniRead, iPhone, iPhoneScroll.ini, Setting, iPhone
IniRead, Gosa, iPhoneScroll.ini, Setting, Gosa

;Alt+左クリック時の設定
!LButton::KeyDown()
;離した時の設定
!LButton Up::KeyUP()
;Ctrl+Alt+左クリック時に終了
!^LButton::ExitApp
return

;Alt+左クリック時
KeyDown()
{
global
IniRead, Timer, iPhoneScroll.ini, Setting, Timer
;マウス位置(基準)取得
MouseGetPos, BeforeX, BeforeY
;タイマー有効
SetTimer, CheckPos, %Timer%
return
}

;離した時
KeyUP()
{
;タイマー解除
SetTimer, CheckPos, Off
return
}

CheckPos:
;移動後のマウス位置取得
MouseGetPos, NowX, NowY
;移動距離測定
MoveX := NowX - BeforeX
MoveY := NowY - BeforeY
;テスト用
;ToolTip, BX:%BeforeX% BY:%BeforeY%`nNX:%NowX% NY:%NowY%`nMX:%MoveX% MY:%MoveY%
;移動距離が短い場合
If(Abs(MoveY) <= Gosa)
{
;無効にする
return
}
;移動が下の場合
else If(MoveY > 0)
{
;iPhoneと同じ設定なら
If(iPhone = 0)
{
;ホイールアップ
Send, {WheelUp}
}
;それ以外なら
else
{
;ホイールダウン
Send, {WheelDown}
}
}
;移動が上の場合
else
{
;iPhoneと同じ設定なら
If(iPhone = 0)
{
;ホイールダウン
Send, {WheelDown}
}
;それ以外なら
else
{
;ホイールダウン
Send, {WheelUp}
}
}
;基準値入れ替え
BeforeX := NowX
BeforeY := NowY
return



ついでに今回から配布できるようにしてみた
「63Blog+」
直リンクはこっち
「iPhoneScroll - 63Blog+」
なにかあったらこっちのコメントかなんかで言ってください

とか書いたけど
The requested file is not displayed because it might contain malicious content.
If you believe this is an error, please visit our contact page to let us know. Contact Us

エキサイト翻訳
悪意がある内容を含むかもしれないので、要求されたファイルは表示されません。
これが誤りであると信じているなら、私たちの連絡ページを見て、私たちに知らせてください。 私
たちに連絡してください。
とか言われたから無理っぽい