16

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

На хосте он работает, как и ожидалось, но VMware, похоже, не поддерживает его. Курсор мыши изменится, чтобы указать, что прокрутка активна, но гость VMware не будет отвечать на нее.

  • VMware Workstation 7.1
  • Хост и Гостевая ОС: Windows 7 (64bit)
  • Драйвер Synaptics 15.0.9.0
  • Устройство отображается как «Synaptics LuxPad V7.4»

Можно ли как-то заставить эту работу работать? (например, измените .vmx, измените параметры Synaptics или с драйвером, который имитирует "прокрутку колесика мыши")

Обновление: я уже пробовал несколько опций в драйвере Synaptics, но единственное изменение состояло в том, что он отображал другой курсор мыши при попытке прокрутки.

5 ответов5

22

Итак, я провел исследование и смог добиться успеха.

Подумав, я пришел к выводу, что не знаю, как это работает :-) Просто так! :-)

Ранее в « Полезном :) Веселье »:

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

Итак, я сделал следующее - просто ввел .dll в оконный процесс VMware (я надеюсь, что это безопасно, а также надеюсь, что это не тот же процесс, который выполняет ВМ), подклассовую оконную процедуру (имеется в виду перехваченные оконные сообщения) и перевел "неправильно" те, которые используют SendInput() .

Также было отмечено, что следующее исправление стоит применить даже с моим решением: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/.

Итак, исходный код и исполняемые файлы (они только поддерживают Workstation, подробнее об Player, читайте в разделе "ОБНОВЛЕНИЕ") - спросите в комментарии, если вы что-то не нашли - на https://www.dropbox.com/s/gucmyo35heha6g2/vmware_scroll.zip?dl = 0.

ОСНОВНОЕ ЗАМЕЧАНИЕ: запустите соответствующий исполняемый файл, когда виртуальная машина работает.

ДРУГОЕ ОСНОВНОЕ ЗАМЕЧАНИЕ : Не перемещайте hook.dll и *.exe после включения прокрутки. Если вы запустите vmware_scroll_stop.exe из другого места, он не загрузит .dll (т.е. отключит прокрутку).

ОБНОВЛЕНИЕ: есть улучшенная версия (она была улучшена Энтони Приером, большое ему спасибо!), Которая также поддерживает VMware Player. Также доступна программа, производная от VMWareTrackPadScroller, с простым пользовательским интерфейсом.

ПРИМЕЧАНИЕ. К сожалению, не будет версии с горизонтальной прокруткой. Дело в том, что есть идея решения, но я отверг ее как слишком грязную. Для выполнения этой задачи нужно подключить (в SynTPEnh.exe) API GetClassNameW () для изменения имен классов окон VMware (они являются "VMware").GuestWindow "и" MKSEmbedded ") или wcsicmp () всегда возвращают" не равно ", когда один из аргументов является одной из упомянутых строк. Я думаю, что это грязное решение с точки зрения производительности, по крайней мере (это на самом деле слабый аргумент, поскольку снижение производительности будет минимальным). В любом случае, я думаю, что текущее решение приемлемо, поскольку у вас не всегда есть устройство с горизонтальной прокруткой, и лучше привыкнуть жить без этой роскоши, чем страдать в нищете. Кстати, в Chrome/Chromium у вас есть Shift+Vertical Scroll чтобы сделать горизонтальную прокрутку.

6

Многие люди жаловались на эту проблему, и запросы о новых функциях были отправлены в Synaptics.

Я нашел один отчет об успехе здесь. Хотя это для Ubuntu, похоже, что есть решение этой проблемы.

Я предлагаю вам попробовать решения, изложенные в статье ниже, для хоста и гостя:
Устранение проблем с прокруткой Firefox с помощью сенсорной панели Dell Synaptics

В статье упоминаются два исправления:

  1. Удалить параметр круговой прокрутки из свойств мыши
  2. Замените драйверы сенсорной панели Dell на драйверы Synaptics

Как говорится в статье для второго:

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

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

EDIT1

Некоторые люди сообщают об успехе при использовании драйвера ALPS, а не Synaptics.
Как говорит Alps Touchpad Driver для Windows 7 :

некоторые ноутбуки Dell не имеют сенсорных панелей от Synaptics. У них есть сенсорные панели Альп. Если вы не уверены в том, какой у вас тачпад, ознакомьтесь с этой статьей об определении правильной модели.

Когда я помог моему пользователю обновить его Inspiron 1420 до Windows 7, я использовал драйвер для Vista. Вот ссылка на скачивание. Этот драйвер только для 32 бит. Если это не работает для вас, вы также можете попробовать драйвер для Windows 7. Вот ссылка. Вторая ссылка предоставляет как 32-битные, так и 64-битные драйверы.

EDIT2

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

Последняя запись в теме говорит:

У меня есть несколько коллег, которые хотели бы использовать Vmware на ноутбуках в целях поддержки. Некоторые пробуют Sun Virtualbox, а другие пробуют Vmware. Прокрутка прекрасно работает с Virtualbox, но приверженность SUN к этому типу продуктов в прошлом сгорела.

Кажется, что VMware просто не заботится о Synaptics, и ваше устройство не очень хорошо поддерживается им. Хотя это не дает прямого ответа на ваш вопрос, я думаю, что вам нужно будет перейти на Virtualbox, чтобы тачпад работал.

Чтобы подсластить таблетку, см. Как конвертировать VMware в Virtualbox.

3

Поскольку в настоящее время нет решения, единственное, что нужно сделать, это заполнить запрос на

http://www.vmware.com/contact/contactus.html?department=prod_request

Просто вставьте первые два параграфа из вопроса в текстовое поле.

3

Это решение кажется хорошим.

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

Я проверил это, и он дает множество возможностей для настройки 1,2,3 цифры касания и прокрутки.

1

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

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