6

Так что у меня дома есть ноутбук с Windows 8 и ноутбук с Windows 7 на работе. Оба имеют синаптические сенсорные панели. Проблема в том, что на рабочем ноутбуке я могу прокручивать любое окно независимо от того, какое из них в данный момент сфокусировано. Это поведение, которое я хочу на обоих компьютерах.

В настоящее время это не происходит на компьютере с Windows 8. Я знаю, что могу использовать (и пытался!) Wizmouse, Alwaysmousewheel, katmouse и т.д .; но ни один из них не работает на 100%, как рабочий компьютер. katmouse иногда перестает работать, всегда mousewheel, у меня были проблемы с прокруткой самостоятельно, wizmouse иногда заставляет мышь зависать. Другие просто не работали.

До того, как я получил рабочий компьютер, я смирился с этим, но теперь я вижу, что он работает без каких-либо внешних программ, в старой операционной системе, и удивляюсь, почему я не могу заставить его работать таким же образом на моем собственном компьютере!

Все мои поиски были просто людьми, предлагающими внешние программы, которые я уже пробовал, так что ответы, предлагающие те, которые на самом деле не то, что я ищу (если это не волшебство, которое я могу сделать с драйвером synaptics, который, кстати, более эффективен) на сегодняшний день на компьютере с Windows 8, который не работает на).

4 ответа4

12

У altdrag есть и эта особенность.

3

Я использую XMouseButtonControl на моем компьютере. Я обнаружил, что он наиболее совместим со всеми программами, которые я использую.

2

Есть способ сделать это в AutoHotKey. Будучи активным пользователем KatMouse уже много лет, этот тестировался достаточно хорошо для меня, поэтому я пока отключил KatMouse (посмотрим, будет ли работать скрипт AHK).

Вот скрипт (источник):

CoordMode, Mouse, Screen
return

WheelUp::
    MouseGetPos, m_x, m_y
    hw_m_target := DllCall( "WindowFromPoint", "int", m_x, "int", m_y )

    ; WM_MOUSEWHEEL
    ;   WHEEL_DELTA = 120
    SendMessage, 0x20A, 120 << 16, ( m_y << 16 )|m_x,, ahk_id %hw_m_target%
return

WheelDown::
    MouseGetPos, m_x, m_y
    hw_m_target := DllCall( "WindowFromPoint", "int", m_x, "int", m_y )

    ; WM_MOUSEWHEEL
    ;   WHEEL_DELTA = 120
    SendMessage, 0x20A, -120 << 16, ( m_y << 16 )|m_x,, ahk_id %hw_m_target%
return

До сих пор в моем кратком тестировании это работало везде, где раньше использовалась KatMouse, плюс несколько других. KatMouse никогда не работал должным образом для меня в Visual Studio 2010, но это похоже. Я также обнаружил, что он не отключается при использовании удаленного рабочего стола, как это делала KatMouse (хотя активная прокрутка не проходила до удаленного компьютера).

1

Некоторые специфические старые версии драйвера Synaptics отправляют обычные события колесика мыши, поэтому AlwaysMouseWheel и подобные приложения работают правильно.

Одним из таких примеров является http://drivers.synaptics.com/Synaptics_v16_3_15_1_C_XP32_Vista32_Win7-32_XP64_Vista64_Win7-64_Signed_Acme_Inc.zip

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .