Невозможно использовать средний щелчок тремя пальцами на удаленном рабочем столе

Невозможно использовать средний щелчок тремя пальцами на удаленном рабочем столе

У меня ноутбук HP. Я настроил нажатие тремя пальцами для имитации среднего щелчка, и оно отлично работает локально на ноутбуке. Однако, когда я подключаюсь к своему рабочему столу с помощью удаленного рабочего стола и пытаюсь использовать нажатие тремя пальцами в удаленном сеансе, вместо этого открывается боковая панель под названием «Проект» с надписью «Мы не можем изменить топологию дисплея во время удаленного подключения».

Удаленный компьютер — это настольный компьютер (без тачпада). Оба компьютера работают под управлением Windows 10.

Как получить функционал средней кнопки мыши в удаленном сеансе?

решение1

tl;dr: Попробуйте использовать скрипт AutoHotkey в конце.

У меня Lenovo ThinkPad T570, у вас результаты могут отличаться.

Я открыл AutoHotkey, чтобы посмотреть, что произойдет, если я коснусь тачпада тремя пальцами. Вот что происходит на стороне клиента:

VK  SC  Type    Up/Dn   Elapsed Key     
----------------------------------------
5B  05B a   d   6.61    LWin            
A2  01D a   d   0.00    LControl        
A0  02A a   d   0.00    LShift          
85  06D a   d   0.00    F22             
85  06D a   u   0.00    F22             
A0  02A a   u   0.00    LShift          
A2  01D a   u   0.00    LControl        
5B  05B a   u   0.00    LWin            

Касание тремя пальцами преобразуется в комбинацию клавиш Left Win+ Left Control+ Left Shift+ F22. (ОС распознает F22клавишу, даже если ее нет ни на одной известной мне физической клавиатуре.)

Вот что происходит на стороне сервера:

VK  SC  Type    Up/Dn   Elapsed Key     
----------------------------------------
5B  15B     d   21.77   LWin            
A2  01D     d   0.00    LControl        
A0  02A     d   0.00    LShift          
A0  02A     u   0.00    LShift          ¹
A2  01D     u   0.00    LControl        ²
85  06D h   d   0.00    F22             
85  06D h   u   0.00    F22             
A0  02A     u   0.00    LShift          
A2  01D     u   0.00    LControl        
5B  15B     u   0.00    LWin            
...                 
5B  15B     d   0.64    LWin            
A2  01D     d   0.00    LControl        
A0  02A     d   0.00    LShift          
A0  02A     u   0.00    LShift          ¹
85  06D h   d   0.00    F22             
85  06D h   u   0.00    F22             
A0  02A     u   0.00    LShift          
A2  01D     u   0.00    LControl        
5B  15B     u   0.00    LWin            

Как вы видите, фиктивная клавиша Shiftвсегда отпускается¹ перед нажатием F22, а Ctrlклавишаиногдаотпущена² перед нажатием F22.

Запуск следующего скрипта AutoHotkey на сервере удаленного рабочего стола преобразует соответствующие комбинации клавиш в нажатие средней кнопки мыши:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

<#F22::MButton  ; Left Win + F22
<#<^F22::MButton  ; Left Win + Left Ctrl + F22

Если это не работает надежно, попробуйте добавить комбинации клавиш, включая Left Shift( ).<+

Связанный контент