Нічого собі, після тонни досліджень та невдалих спроб, я насправді вирішив це!
Ну, здебільшого це вирішили - це функціонально, але не без недоліків.
Завдяки відповіді @ JourneymanGeek і, зокрема, публікації, до якої він посилався, я зміг прослідкувати за головою, і врешті-решт виявив, що серед багатьох інтерфейсів, реалізованих клієнтом ActiveX віддаленого робочого столу, один з них підтримує властивість RelativeMouseMode ! Це звучить як саме те, що мені потрібно, це змусить RDP підтримувати відносні рухи миші!
Однак я помітив у цьому дописі на форумах MSDN, що "RelativeMouseMode не підтримується в сценаріях RDP RDSH / RDVH і його не слід використовувати", але я зрозумів, що з цим вибиратися, це не реальна виробнича обстановка, і я добре використовував функція, яка не підтримується. Це також було погано задокументовано, але здавалося, що я маю те, що мені потрібно - це запитання на StackOverflow також дало мені надію, що це можна виконати.
Отже, я почав працювати над впровадженням простого додатка WinForms для розміщення керування ActiveX з набором властивостей інтерфейсу "... Небезпечно".
За винятком того, що, як виявляється, під "непідтримуваним" цього разу Microsoft означало "це не працює".
Ну, якщо б це було, це було б питанням ТАК, вибачте, що вас ведуть далі (але я думаю, що добре, щоб це було десь задокументовано ...)
Однак не все було нанівець, під час усього копання протоколу 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
до Enable
, і дозволяють користувачам (або просто адмін) праві. Потім gpupdate /force
і перезавантажте.
Крок 2: Увімкніть перемикання перенаправлення для миші.
Як пояснюється в цій статті MS KB , ви можете встановити ключ реєстру, щоб увімкнути певний пристрій (або клас пристрою) для перенаправлення USB.
Знову про клієнта, під
HKEY_LOCAL_MACHINE \ SOFTWARE \ Політика \ Microsoft \ Windows NT \ Термінальні послуги \ Клієнт \ UsbSelectDeviceByInterfaces
ви можете додати значення рядка за допомогою ідентифікатора пристрою.
Наприклад, під цим ключем я додав таке значення рядка:
"GUID_DEVINTERFACE_MOUSE" = "{378DE44C-56EF-11D1-BC8C-00A0C91405DD}"
Залежно від вашої миші, вам може знадобитися інший ідентифікатор, тому YMMV. Але почніть з цього.
Крок 3: Встановіть клієнт RDP для перенаправлення миші.
Як зазначено у статті з кроку 1:
Після ввімкнення перейдіть на вкладку "Локальні ресурси", натисніть "Додатково" під місцевими пристроями та ресурсами, і ви побачите нове налаштування USB-пристроїв RemoteFX. Цей параметр можна використовувати для відображення багатьох типів апаратних засобів USB, які ви не змогли перенаправити на ванільну RDP USB, як показано нижче.
Під цим ви повинні побачити запис для миші; це може бути дещо неоднозначно, наприклад:
Виберіть мишу (або інший відповідний запис).
Це воно! Тепер у вас встановлена апаратна миша, "прикріплена" безпосередньо до вашого віртуального комп'ютера, що дозволяє 3D-іграм витягувати відносні рухи миші безпосередньо з драйвера миші (-ish ..)
Однак, як було зазначено, є деякі недоліки.
Миша переспрямовується на VM RemoteFX'd - іншими словами, клієнтська машина більше не має миші , принаймні, поки відкритий сеанс віддаленого робочого столу.
Можливим рішенням було б приєднати другу мишу і перенаправити лише одну з них. (Я ще маю це спробувати, але це має спрацювати чудово).
Чомусь, коли перенаправлена миша не показує курсор безпосередньо на віддаленому сеансі. Незважаючи на те, що вона все ще працює, це робить трохи заплутаним націлювання на те, на що вказує ваша миша.
Просте рішення - увімкнути Мишачі стежки, щоб довжина була зменшена до кінця.
Це призведе до появи місця миші, але це трохи мляво.
В цілому, хоча це рішення працює добре, миша все ще трохи повільна і млява.
Ви можете повернути вгору швидкість миші, грати з точністю покажчика (іноді вимкнувши буде на самому ділі допомогти з цим), і навіть погратися з настройками реєстру прискорення миші при HKEY_CURRENT_USER\Control Panel\Mouse
( Mouse Speed
, MouseThreshold1
і MouseThreshold2
відповідно).
Це допоможе пом'якшити проблему, але насправді не змусить її піти.
В цілому, це може зробити навіть 3D-ігри дуже відтворюваними - для випадкових ігор, на жаль, не чудово для посмикування. (Хоча якщо вам потрібно, ви можете просто завантажувати метал прямо у цей VHD і мати обидва варіанти ....)