トラックボール(この場合はLogitech Trackman Marbleですが、これはどのマウスやポインティングデバイスにも当てはまります)があり、ボタンの1つをクリックすると中クリックとして使用しますが、クリックするとスクロールアクションがトリガーされます。それを押したまま、ボールを動かします。
Linuxでは、X構成でscroll-modifierを設定することでこれを非常に簡単に行うことができますが、トラックボールに付属のドライバー(Logitech)ではどちらか一方しか許可されていません。 Windows 8でこれを設定する方法はありますか?
X-Mouseボタンコントロールが機能するはずです。 http://www.highrez.co.uk/downloads/XMouseButtonControl.htm ボタンの1つを「動きをスクロールに変更」に設定するだけです。マウスでの動作は、ボタンを押したまま、ポインタを動かす代わりにマウスを動かすとページがスクロールします。トラックボールでも同じように機能するはずです。
同様の実行可能ファイル、異なる場所:
アプリ:https://www.fewprojects.com/files/marblescroll/MarbleScrollApp.Zip
機能:
詳細:https://www.fewprojects.com/marblescroll-for-logitech-trackman-marble/
Logitech Marbleマウスを入手したばかりで、スクロールの問題もありました。だから私はAutoHotKeyでこのスクリプトを作成しました。左のXボタンはスクロールを有効にします。つまり、下にある間、ボールを使って垂直方向と水平方向にスクロールし、ブラウザ内で左ボタンと右ボタンを使用して前後に移動できます。右側のXボタンには、中央のボタンと同じアクションがあります。
Windows7のIm。
#SINGLEINSTANCE FORCE
GLOBAL status := "basic"
GLOBAL cnt_x
GLOBAL cnt_y
XButton2::MButton
$*XButton1::
status := "scroll"
cnt_x := 0
cnt_y := 0
MOUSEGETPOS, st_x, st_y
SETTIMER, _scroll, 30
RETURN
$*XButton1 UP::
status := "basic"
SETTIMER, _scroll, OFF
RETURN
_scroll:
MOUSEGETPOS, cur_x, cur_y
MOUSEMOVE, st_x, st_y
IF(abs(cur_x-st_x) > abs(cur_y-st_y)) {
cnt_x := cnt_x + (cur_x-st_x)
ControlGetFocus, control, A
IF (cnt_x > 7) {
cnt := floor(cnt_x / 8)
LOOP, %cnt% {
SendMessage, 0x114, 0, 0, %control%, A
}
cnt_x := cnt_x - 8*floor(cnt_x / 8)
} ELSE IF (cnt_x < -7) {
cnt := -ceil(cnt_x / 8)
LOOP, %cnt% {
SendMessage, 0x114, 1, 0, %control%, A
}
cnt_x := cnt_x - 8*ceil(cnt_x / 8)
}
} ELSE {
IF (cur_y >= st_y) {
cnt_y := cnt_y + (cur_y-st_y)**1.2
} ELSE {
cnt_y := cnt_y -(st_y-cur_y)**1.2
}
IF (cnt_y > 7) {
cnt := floor(cnt_y / 8)
LOOP, %cnt% {
CLICK WheelUp
}
cnt_y := cnt_y - 8*floor(cnt_y / 8)
} ELSE IF (cnt_y < -7) {
cnt := -ceil(cnt_y / 8)
LOOP, %cnt% {
CLICK WheelDown
}
cnt_y := cnt_y - 8*ceil(cnt_y / 8)
}
}
RETURN
$*LButton::
IF (status = "basic") {
CLICK DOWN Left
} ELSE IF (status = "scroll") {
SEND {Browser_Back}
}
RETURN
$*LButton UP::
IF (status = "basic") {
CLICK UP Left
}
RETURN
$*RButton::
IF (status = "basic") {
CLICK DOWN Right
} ELSE IF (status = "scroll") {
SEND {Browser_Forward}
}
RETURN
$*RButton UP::
IF (status = "basic") {
CLICK UP Right
}
RETURN