Ничего себе, после тонны исследований и неудачных попыток, я на самом деле решил это!
Ну,в основном решил-функционально, но не без недостатков.
благодаря ответу @JourneymanGeek, и в частности сообщению, с которым он связался, я смог следовать примеру и в конечном итоге обнаружил, что среди многих интерфейсов, реализованных ActiveX клиента удаленного рабочего стола, один из них поддерживает RelativeMouseMode собственность! Что похоже, именно то, что мне нужно, это заставит RDP поддерживать относительные движения мыши!
однако, я сделал примечание на это MSDN форум сообщение что "RelativeMouseMode не поддерживается в сценариях RDP RDSH/RDVH и не должен использоваться", но я решил, что это не реальная производственная среда, и я был в порядке, используя функцию, которая не поддерживается. Это тоже было плохо задокументировано, но казалось, что у меня есть то, что нужно - этот вопрос на StackOverflow также дал мне надежду, что это выполнимо.
Итак, я приступил к работе по реализации простого приложения WinForms для размещения элемента управления ActiveX с помощью "...Небезопасный " набор свойств интерфейса.
кроме того, что, как оказалось, под "неподдерживаемый", на этот раз Microsoft имел в виду"не работает".
Ну, если бы это было так, это был бы вопрос SO, извините, что привел вас (но я думаю, что хорошо, чтобы он был где-то задокументирован...)
однако, не все было напрасно, во время всего этого копания в протоколе RDP, я посмотрел на перенаправление USB RemoteFX - и это выглядело как тупик, так как основные устройства ввода (такие как мышь, клавиатура, принтер) явно заблокированы от механизма перенаправления USB:
по умолчанию устройства из вышеупомянутых категорий доступны в удаленном сеансе с помощью высокоуровневых методов перенаправления устройств. Эти методы перенаправление обеспечивает оптимальную производительность и обратную совместимость устройства в большинстве пользовательских сценариев. Следовательно, эти устройства не предлагаются через перенаправление USB RemoteFX.
ну, окончательный ответ, как оказалось, заключается в том, что в этом блоке есть механизм переопределения.
Шаг 1. Включите перенаправление USB RemoteFX
Здесь есть хорошая разработка: http://windowsitpro.com/virtualization/q-how-do-i-enable-remotefx-usb-redirection .
В основном на клиентском компьютере для установки RemoteFX USB Device Redirection
to Enable
, и разрешить пользователям (или только администраторам) права. Тогда gpupdate /force
и перезагрузка.
Шаг 2: Включите переопределение перенаправления для мыши.
Как это MS KB статья объясняет, вы можете установить раздел реестра, чтобы включить определенное устройство (или класс устройства) для перенаправления USB.
опять на клиенте, под
политика в HKEY_LOCAL_MACHINE\SOFTWARE\корпорация Майкрософт\Windows в НТ\службы терминалов\клиент\UsbSelectDeviceByInterfaces
можно добавить строковое значение с идентификатором устройства.
Например, под этим ключом я добавил следующее строковое значение:
"GUID_DEVINTERFACE_MOUSE"="{378DE44C-56EF-11D1-BC8C-00A0C91405DD}"
в зависимости от мыши, вам может понадобиться другой идентификатор, так что YMMV. Но начните с этого момента.
Шаг 3: Установите клиент RDP для перенаправления мыши.
Как говорится в статье из Шага 1:
после того, как он включен, перейдите на вкладку локальные ресурсы, нажмите Еще в разделе локальные устройства и ресурсы, и вы увидите новый USB поддерживает RemoteFX настройка устройств. Вы можете использовать этот параметр для сопоставления через многие типы оборудования USB, которые вы не могли с перенаправлением USB vanilla RDP, как показано ниже.
под этим вы должны увидеть запись для мыши; это может быть немного неоднозначно, например:
выберите мышь (или другую соответствующую запись).
вот именно! Теперь к виртуальной машине "напрямую" подключена аппаратная мышь, которая позволяет 3D-играм вытяните относительные движения мыши непосредственно из драйвера мыши (- ish..)
однако, как уже говорилось, есть некоторые недостатки.
мышь перенаправлены на RemoteFX, что бы ВМ - другими словами, клиент машину больше нет мышь, по крайней мере, пока открыт сеанс удаленного рабочего стола.
Возможным решением было бы прикрепить 2-ю мышь и перенаправить только одну из них. (Я еще не пробовал это, но он должен работать просто отлично).
по какой-то причине при перенаправлении мышь непосредственно не показывает курсор в удаленном сеансе. Хотя он все еще работает, это делает его немного запутанным, чтобы прицелиться, на что указывает ваша мышь.
Простое решение состоит в том, чтобы включить следы мыши, с длиной повернул вниз всю дорогу.
Это будет иметь место мыши показать, но это немного вялым.
в целом, хотя это решение работает хорошо, мышь все еще немного медленная и вялая.
Вы можете увеличить скорость мыши, играть с точностью указателя (иногда его отключение действительно поможет в этом), и даже крутить параметры реестра ускорения мыши под HKEY_CURRENT_USER\Control Panel\Mouse
(Mouse Speed
,MouseThreshold1
и MouseThreshold2
соответственно).
Это поможет смягчить проблему, но на самом деле не устранит ее.
так что в целом, это может сделать даже 3D-игры очень играть-для казуальных игр, к сожалению, не отлично подходит для дергаться игр. (Хотя, если вам нужно, вы можете просто загрузить metal прямо на этот VHD и иметь оба варианта....)