MCPcopy Index your code
hub / github.com/TKMAX777/RDPRelativeInput

github.com/TKMAX777/RDPRelativeInput @v2.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.0 ↗ · + Follow
993 symbols 2,036 edges 191 files 45 documented · 5% updated 2y agov0.1.2 · 2023-03-27★ 608 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RDPRelativeInput

About This Program

This program is designed to allow relative input in an RDP session by wrapping an existing remote desktop client window with another window and sending the client's input information using a RDP Virtual Channel. Currently, only sessions from a Windows machine to a Windows machine is supported.

sample

install

Windows

  1. Download server and client programs from Releases

Releases 2. Run install.bat on the client machine.

Usage

Connect to Windows

  1. Open Remote Desktop Connection and connect to your server like usual
  2. Run RelativeInputServer.exe on host
  3. Enjoy!

☆ If you need client cursor, use the F8 key to switch to absolute input.

☆ To return to relative input mode, select the RDP Input Wrapper window and hit the F8 key again.

☆ If you are using a keyboard setting other than the US keyboard setting on the client machine, the response speed may be significantly reduced due to the IME.

  In this case, please add the US keyboard from the Windows settings.


  `Settings -> Time and Language -> Add Language -> English (US) -> Language Options -> Add Keyboard`

☆ When you want to quit this program, please press and hold F12.

Build

MinGW installation is required to create add-ins for mstsc.exe.

Clone this repository and run these commands on powershell.

go build -ldflags -H=windowsgui .\cmd\RelativeInputClient
go build -ldflags -H=windowsgui .\cmd\RelativeInputServer
go build -buildmode=c-shared  -o .\RelativeInput.dll .\windows\virtualchanneladdin
cp installer\install.bat
.\install.bat

Why does this program use Graphics Capture API?

This program uses Graphics Capture API on the host computer side.

In a remote desktop connection, the cursor on the host side is normally not displayed. However, the GraphicsCaptureAPI allows the cursor to be displayed, so this program creates a button which can turn this feature on and off and captures that window.

Known issues

  • Windows Defender misidentifies the DLL as a Trojan horse program. (https://github.com/TKMAX777/RDPRelativeInput/issues/2)

Copyright

Copyright 2022- tkmax777 and contributors

Extension points exported contracts — how you extend this code

Direct3D11CaptureFramePoolFrameArrivedProcType (FuncType)
type Direct3D11CaptureFramePoolFrameArrivedProcType func(this *Direct3D11CaptureFramePool, sender *IDirect3D11CaptureFra
modLicenses/github.com/TKMAX777/RDPRelativeInput/modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/winrt/Windows.Graphics.Capture.go
Direct3D11CaptureFramePoolFrameArrivedProcType (FuncType)
type Direct3D11CaptureFramePoolFrameArrivedProcType func(this *Direct3D11CaptureFramePool, sender *IDirect3D11CaptureFra
winapi/winrt/Windows.Graphics.Capture.go
CHANNEL_INIT_EVENT_FN (FuncType)
(no doc)
windows/virtualchanneladdin/typedef.go
MemoryFreeFunc (FuncType)
(no doc)
winapi/Wtsapi32.go
Dlgproc (FuncType)
(no doc)
winapi/user32.go
IActivateAudioInterfaceCompletionHandlerInterface (Interface)
(no doc)
winapi/Mmdevapi.go
Direct3D11CaptureFramePoolFrameArrivedProcType (FuncType)
type Direct3D11CaptureFramePoolFrameArrivedProcType func(this *Direct3D11CaptureFramePool, sender *IDirect3D11CaptureFra
modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/winrt/Windows.Graphics.Capture.go
CHANNEL_OPEN_EVENT_FN (FuncType)
(no doc)
windows/virtualchanneladdin/typedef.go

Core symbols most depended-on inside this repo

Debugln
called by 280
debug/debug.go
Debugf
called by 86
debug/debug.go
MustUTF16PtrFromString
called by 79
winapi/handler.go
GetWindowRect
called by 20
winapi/user32.go
SendInput
called by 18
modLicenses/github.com/TKMAX777/RDPRelativeInput/modLicenses/github.com/TKMAX777/RDPRelativeInput/remote_send/remote_send.go
errnoErr
called by 17
modLicenses/github.com/TKMAX777/RDPRelativeInput/modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/windows_generate.go
errnoErr
called by 17
modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/windows_generate.go
errnoErr
called by 17
winapi/windows_generate.go

Shape

Function 342
Method 284
Struct 227
TypeAlias 119
FuncType 15
Interface 6

Languages

Go100%

Modules by API surface

winapi/winrt/Windows.Graphics.Capture.go44 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/winrt/Windows.Graphics.Capture.go44 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/winrt/Windows.Graphics.Capture.go44 symbols
winapi/windows_generate.go31 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/windows_generate.go31 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/windows_generate.go31 symbols
winapi/user32.go23 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/user32.go20 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/modLicenses/github.com/TKMAX777/RDPRelativeInput/winapi/user32.go20 symbols
windows/virtualchanneladdin/typedef.go19 symbols
winapi/Wtsapi32.go19 symbols
modLicenses/github.com/TKMAX777/RDPRelativeInput/windows/virtualchanneladdin/typedef.go19 symbols

For agents

$ claude mcp add RDPRelativeInput \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact