Skip to content

Supports relative input in VNC (RDP) sessions from Windows to Windows / Linux using SSH sessions.

License

Notifications You must be signed in to change notification settings

TKMAX777/RemoteRelativeInput

Repository files navigation

RemoteRelativeInput

About This Program

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

sample

News

If you are going to use this for connecting from Windows to Windows via RDP (RemoteDesktop), RDPRelativeInput is available!
This program is easier to install and use.

Check: github.com/TKMAX777/RDPRelativeInput

install

Server

Debian / Ubuntu

sudo apt install xdotool golang-go
go install github.com/TKMAX777/RemoteRelativeInput/cmd/RelativeInputServer@latest

Windows

  1. The Go and OpenSSH Server must be installed before installation.
  2. Run the following commands on CMD.
go install github.com/TKMAX777/RemoteRelativeInput/cmd/RelativeInputServer@latest
go install github.com/TKMAX777/RemoteRelativeInput/cmd/RelativeInputTransferer@latest

Client

  1. The Go and OpenSSH Client must be installed before installation.
  2. Run the following commands on CMD.
go install github.com/TKMAX777/RemoteRelativeInput/cmd/RelativeInputClient@latest

Usage

Connect to Windows

Hint

If you are willing to connect to windows host from windows client via RDP(RemoteDesktop), you can use this:

github.com/TKMAX777/RDPRelativeInput

However, if you are trying to connect from Windows (ARM64) or you are using VNC protocol, still you have to use this program.

These are the usage:

  1. Open Remote Desktop Connection (or VNC client) and connect to your server like usual.
  2. Open cmd and start the server program on the host machine.
start /d "C:\Users\<HostFolderName>\go\bin" RelativeInputServer.exe

☆ replace <HostFolderName> with the name of the folder of your account located in C:\Users

  1. Starts a SSH session from the client machine on cmd.
set CLIENT_NAME=<CLIENT_NAME> 
RelativeInputClient.exe | ssh <HostUsername>@<HostAddress> "C:\Users\<HostFolderName>\go\bin\RelativeInputTransferer.exe"

☆ replace "<CLIENT_NAME> with the title of your VNC or RDP client window
☆ if you are using Remote Desktop Connection and your windows system language is ENG, it will be like this: <HostAddress> - Remote Desktop Connection
☆ replace <HostAddress> with the IP of your host
☆ replace <HostFolderName> with the name of the folder of your account located in C:\Users
☆ replace <HostUsername> with the Host username
☆ It is reported that it does not work properly in PowerShell.

  1. Ignore the message box and click on cmd tab, and enter host user password
  2. Press Yes in the message box displayed on the host machine.
  3. Press OK in the message box displayed on the client machine.
  4. 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.
☆ To close this app, hold the F12 key.
☆ Administrator privileges are required for operation in some games. In that case, please run RelativeInputServer.exe with Administrator privileges.
☆ If you are using a keyboard setting other than the US keyboard setting, 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

Connect to Debian / Ubuntu

set CLIENT_NAME=<hostname> - Remote Desktop Connection
RelativeInputClient.exe | ssh <hostname> /home/<UserName>/go/bin/RelativeInputServer

☆ The mouse cursor disappears during relative input mode. If you need the 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.
☆ replace <HostFolderName> with the name of the folder of your account located in C:\Users

Why does this program use Graphics Capture API?

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

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.

Copyright

Copyright 2022- tkmax777 and contributors

About

Supports relative input in VNC (RDP) sessions from Windows to Windows / Linux using SSH sessions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages