web-dev-qa-db-ja.com

Windowsのマウス/トラックボールのスクロール修飾子

トラックボール(この場合はLogitech Trackman Marbleですが、これはどのマウスやポインティングデバイスにも当てはまります)があり、ボタンの1つをクリックすると中クリックとして使用しますが、クリックするとスクロールアクションがトリガーされます。それを押したまま、ボールを動かします。

Linuxでは、X構成でscroll-modifierを設定することでこれを非常に簡単に行うことができますが、トラックボールに付属のドライバー(Logitech)ではどちらか一方しか許可されていません。 Windows 8でこれを設定する方法はありますか?

2
askvictor

X-Mouseボタンコントロールが機能するはずです。 http://www.highrez.co.uk/downloads/XMouseButtonControl.htm ボタンの1つを「動きをスクロールに変更」に設定するだけです。マウスでの動作は、ボタンを押したまま、ポインタを動かす代わりにマウスを動かすとページがスクロールします。トラックボールでも同じように機能するはずです。

5
ChrisN

大理石のマウスホイール

  • マーブルマウスホイールをダウンロード( http://marble-mouse-scroll-wheel.software.informer.com/download
  • 広告を無視またはキャンセルし、marbleinst.exeのみをダウンロードしてください
  • インストール後、Windows7の互換モードで実行します。
  • スクロールボタンとして戻る(Button4)を設定します。

大理石の巻物

同様の実行可能ファイル、異なる場所:

1
ITelligencia

アプリ:https://www.fewprojects.com/files/marblescroll/MarbleScrollApp.Zip

機能:

  • 戻る/進むボタン+大理石の回転=スクロール
  • 戻る/進むボタン=通常の戻る/進む操作
  • スクロールは、マウスフォーカスのあるアプリケーションで実行され、フォーカスを取得するためにアプリケーションをクリックする必要はありません。

詳細:https://www.fewprojects.com/marblescroll-for-logitech-trackman-marble/

0
banderlog013

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
0
Amiral_JCDG