Використовуйте прокрутку сенсорної панелі Synaptics у VMware Guest


17

Я хотів би використовувати Synaptics "Прокручування двома пальцями" всередині гостя VMware.

Він працює так, як очікувалося на хості, але, схоже, VMware не підтримує його. Курсор миші змінюється, щоб вказати, що прокрутка активна, але гість VMware не відповість на неї.

  • Робоча станція VMware 7.1
  • Хост і гостьова ОС: Windows 7 (64-бітний)
  • Synaptics Driver 15.0.9.0
  • Пристрій показано як "Synaptics LuxPad V7.4"

Чи можна якось змусити цю роботу? (наприклад, змінити .vmx, змінити параметри Synaptics або з драйвером, який імітує "прокручування колеса миші")

Оновлення: Я вже спробував кілька варіантів у драйвері Synaptics, але єдиною зміною було те, що він відображав інший курсор миші при спробі прокрутки.


перевірити моє рішення @ superuser.com/a/439474/106787
mreq

@hcris Розгляньте перевірку моєї відповіді правильною, будь ласка :-)
Андрій Забавников,

Відповіді:


22

Гаразд, тому я провів дослідження і досяг успіху.

Подумавши, я прийшов до висновку, не знаю, як це працює :-) Це просто так! :-)

Раніше на « Корисному :) веселощі »:

Коротше кажучи, тачпад Synaptics надсилає ( SendMessage()або PostMessage()не намагався чітко визначити це) повідомлення правого вікна ( WM_MOUSEWHEEL) у вікно VMware, але те, що він насправді повинен робити, - це використовувати SendInput(), безпосередньо імітуючи фізичну мишу. Здається, була можливість контролювати поведінку драйверів (або, точніше, програми в режимі користувача SynTPEnh.exe) з файлом tp4table.dat. На жаль, ця опція якимось чином не включена в моїх драйверах (хоча в рядку є така рядок).

Отже, я зробив наступне - просто ввів .dllу процес вікна VMware (я сподіваюся, що це безпечно, а також сподіваюся, що це не той самий процес, що виконує VM), підкласирований віконною процедурою (маючи на увазі перехоплені віконні повідомлення) та переклав "неправильні", використовуючи SendInput().

Крім того , було відмічено, що наступне виправлення варто застосувати навіть до мого рішення: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ .

Отже, вихідний код та виконувані файли (вони підтримують лише Workstation, читайте далі для Player, у "UPDATE") - запитайте у коментарі, якщо ви щось не знайшли - на https://www.dropbox.com/s/ gucmyo35heha6g2 / vmware_scroll.zip? dl = 0 .

ОСНОВНЕ ЗАМЕЧАННЯ: запустіть відповідний виконуваний файл під час роботи VM.

ДРУГА ОСНОВНА ЗАБЕЗПЕЧЕННЯ: Не рухайтесь hook.dllі не рухайтесь *.exeпісля прокрутки. Якщо ви почнете vmware_scroll_stop.exeз іншого місця, воно не буде завантажуватися .dll(тобто відключити прокрутку).

ОНОВЛЕННЯ : Є вдосконалена версія (її покращив Ентоні Приер, велике спасибі йому!), Яка також підтримує VMware Player. Також доступна програма, що походить від VMWareTrackPadScroller з простим інтерфейсом користувача.

ПРИМІТКА. На жаль, не буде версії, яка підтримує горизонтальну прокрутку, на жаль. Справа в тому, що ідея рішення є, але я її відкинув як занадто брудну. Для виконання завдання потрібно підключити (в SynTPEnh.exe) API GetClassNameW (), щоб змінити назви класів вікон VMware (вони "VMware.GuestWindow" і "MKSEmbedded") або wcsicmp (), щоб завжди повертати "не рівне" коли одним із аргументів є один із згаданих рядків. Я думаю, що це брудне рішення з точки зору продуктивності, принаймні (це насправді слабкий аргумент, оскільки покарання за виконання буде мінімальним). У будь-якому випадку, на сьогоднішній день рішення є прийнятним, я думаю, оскільки ви не завжди маєте пристрій з можливістю горизонтальної прокрутки, і краще бути звичним жити без такої розкоші, ніж страждати від бідності. До речі,Shift+Vertical Scroll робити горизонтальну прокрутку.


2
Просто оновив його!
Андрій Забавников

3
це заслуговує на надбавку!
xiamx

@xiamx Це працює для вас? Щойно я отримав відгук про те, що він не працює для програвача (можливо, його потрібно змінити мало). Можливо, це питання також застосувати це виправлення blog.alexou.net/2010/07/…
Андрій Забавников

так, це працює ідеально. А також він працює для інших пристроїв введення з драйверами userland (logitech T650). Хоча я сам її перекомпілював, оскільки маю лише набір інструментів v110. Чи можете ви покласти його на github? тож ті, хто повинен мати його для роботи з програвачем, можуть самі змінити його
xiamx

@xiamx нормально, я зроблю це через кілька днів. Просто не потрудився мати справу з GitHub під час роботи над версією, яка підтримуватиме горизонтальну прокрутку.
Андрій Забавников

7

Багато людей скаржилися на цю проблему, і запити щодо функцій були надіслані Synaptics.

Я знайшов один звіт успіху тут . Хоча це стосується Ubuntu, воно, схоже, показує, що для цієї проблеми є рішення.

Я пропоную спробувати рішення, викладені в статті нижче, як для хоста, так і для гостей:
Виправлення проблем прокрутки Firefox за допомогою сенсорної панелі Dell Synaptics

У статті згадуються два виправлення:

  1. Видаліть опцію «Кругова прокрутка» з властивостей миші
  2. Замініть драйвери сенсорної панелі Dell драйверами Synaptics

Як йдеться у статті другого:

ви можете видалити драйвери сенсорної панелі Dell та встановити загальні Synaptics, які краще працюють для багатьох людей - але вони не мають деяких додаткових функцій Dell. Поки ваш тачпад робить те, що ви очікуєте, це може бути варте того.

Пропоную створити точку відновлення системи перед зміною драйверів, про всяк випадок.
Ви також завжди можете відкатати драйвер із диспетчера пристроїв.

EDIT1

Деякі люди повідомляють про успіх при використанні драйвера ALPS, а не Synaptics.
Як каже драйвер сенсорної панелі Alps для Windows 7 :

на деяких ноутбуках Dell немає тачпадів, виготовлених Synaptics. У них є сенсорні панелі Альп. Якщо ви не впевнені, який тип тачпада у вас є, перегляньте цей пост про визначення правильної моделі.

Коли я допоміг моєму користувачу оновити його Inspiron 1420 до Windows 7, я використав драйвер для Vista. Ось посилання на завантаження. Цей драйвер призначений лише для 32-бітових. Якщо це не допоможе вам, ви також можете спробувати драйвер для Windows 7. Ось посилання . Друга ланка забезпечує як 32-бітові, так і 64-бітні драйвери.

EDIT2

У наступній темі є цікава інформація:
Проблеми з сенсорною панеллю Synaptics не в змозі прокручуватися в гостьовій ОС (Windows XP)

Останній запис у потоці говорить:

У мене є кілька колег, які хотіли б використовувати Vmware на ноутбуках для підтримки. Кілька намагаються Sun's Virtualbox, а інші намагаються Vmware. Прокрутка прекрасно працює з Virtualbox, але зобов’язання SUN до цього виду продуктів спалили людей у ​​минулому.

Схоже, VMware просто не дуже піклується про Synaptics, і ваш пристрій недостатньо підтримується. Хоча це не відповідає безпосередньо на ваше запитання, я думаю, що вам потрібно буде перейти до Virtualbox для того, щоб тачпад працював.

Щоб підсолодити таблетку, див. Як перетворити VMware у Virtualbox .


У мене вже є драйвер Synaptics (див. Вище). Стаття призначена для прокрутки одним пальцем (що також не працює, а відключення Circular / Chiral не має ніякого ефекту), але я був би радий, якби міг використати будь-який варіант. Налаштування Ubuntu звучать багатообіцяюче, але як я можу застосувати їх у Windows?
латак

@chris: Більшість публікацій, які я знайшов, кажуть, що VMware просто не підтримує сенсорну панель Synaptics як пристрій, так що те, що ви запитуєте, неможливо. Я все одно відредагував вище ще один підхід, який працював на деяких людей. Якщо це не працює, ви також можете спробувати використовувати інший продукт VM, ніж VMware.
harrymc

@harrymc Я впевнений, що це пристрій Synaptics, але я не можу його знайти на pcidatabase.com. Ідентифікатори HW - це "ACPI \ DLL02EF" та "* DLL02EF".
лактак

Гаразд, можливо, я прошу неможливого, але це мене довго дратує. Я сподівався, що існує спосіб змусити це працювати так само, як працює мишоподібне колесо (можливо, з емуляцією). У будь-якому випадку, якщо рішення не знайдеться, я присуджую вам бали за всю вашу допомогу!
laktak

@chris: Не маючи нічого втрачати, ви спробували драйвер ALPS? Дивіться також цього драйвера drivercure.com/driver/… та support.dell.com/support/downloads/…
harrymc


3

Це рішення здається гарним.

http://code.google.com/p/two-finger-scroll/

Я перевірив це, і він дає безліч варіантів налаштування 1,2,3 дотику та прокрутки фігури.


Спасибі. Я сподіваюся, що це допомагає комусь іншому, оскільки я перейшов до MacBook з VMware Fusion, де все працює нестандартно (і він також має кращий трекпад).
laktak

Це для мене найшвидше рішення поки що. Встановив це і працює!
Еран Медан

1

Прокрутка двома пальцями Synaptics працює в режимі Unity VMware (Player> Unity). Я використовую це для запуску VS2013 у програмі VMware Player із Windows 7 x64 як хост-так і гостьова ОС.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.