Mac-style shortcut keys for Linux & Windows.
- Mac-style shortcut keys for Linux & Windows. -
Seamless copy and paste with all apps and terminals. The zero effort solution.
v1.2 Release - Kinto now includes a system tray and simple wizard to setup the install with minimal effort.
Kinto is powered by xkeysnail for Linux & by Autohotkey for Windows 10 & 11.
Note: VNC is now experimentally supported on Linux w/ the latest releases, but you must compile & install x11vnc. More info can be found here.
Note: If you plan to remote into Linux via VNC, xRDP, Synergy or other remote desktop solutions then remove the current release & try an earlier v1.0.7-3 release. It uses xkb so it'll work with virtual xinput devices. Some v1.1-x releases may offer both, but all v1.2.x releases ended support for xkb. I do plan to bring offical support back for virtual input devices.
If you like or appreciate this project then please consider donating.
Wishlists Amazon Adafruit eBayI have received some really great letters with donations & email. I've also posted some of them with redacted first names to kinto.sh.
Also if you would like to send me a keyboard directly then please reach out to me over twitter and send me a DM.
Video Tutorial: Install Kinto.sh for Linux in less than a minute
Paste the following into your Terminal
/bin/bash -c "$(wget -qO- https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh || curl -fsSL https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh)"
Uninstall
/bin/bash <( wget -qO- https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh || curl -fsSL https://raw.githubusercontent.com/rbreaves/kinto/HEAD/install/linux.sh ) -r
git clone https://github.com/rbreaves/kinto.git
cd kinto
sudo apt update
sudo apt install python3
./setup.py
Troubleshoot
If the wizard does not appear then either type in "kinto.sh" in your application overview search bar or run this following command.
~/.config/kinto/gui/kinto-gui.py
Issues with Numpad?
Try toggling numlock on & off (clear key on official mac keyboards). If it still does not work then restart the Kinto service and try toggling the numlock/clear key again, it will likely work after that. #369
Uninstall Kinto
./setup.py -r
Other tips
If you want a global menu app similar to what mac users have then I strongly recommend Ubuntu Budgie as it has the Vala Appmenu built in and ready for activation. Short of that Vala-AppMenu can be installed in various distros, mileage will vary. If you try to activate it in the latest 20.xx releases with XFCE then you may need to run the following commands.
sudo apt install xfce4-appmenu-plugin vala-panel-appmenu-common appmenu-gtk2-module appmenu-gtk3-module appmenu-gtk-module-common
xfconf-query -c xsettings -p /Gtk/Modules -n -t string -s "appmenu-gtk-module"
Fractional HiDPI Scaling for Gnome/Budgie w/ x11
https://github.com/rbreaves/betterScale
Use this with autorandr to save your settings as a profile that will auto re-apply when needed.
Video Tutorial: How to Install Kinto.sh on Windows 10
Open Powershell as Administrator and copy and paste the following. This will download & extract Kinto, install chocolatey, python3 and then install Kinto.
⚠ NOTE: Please inspect https://raw.githubusercontent.com/rbreaves/kinto/master/install/windows.ps1 and https://chocolatey.org/install.ps1 before running scripts directly. More information about running powershell scripts in this context can be found here.
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr https://raw.githubusercontent.com/rbreaves/kinto/master/install/windows.ps1 -UseBasicParsing | iex
Update system tray to show Kinto icon at all times (optional)
cmd /c "explorer shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}"
Open Powershell (Right click and Run as Administrator)
clone this repo
git clone https://github.com/rbreaves/kinto.git
cd kinto
py setup.py
Uninstall Kinto
py setup.py
Select Uninstall
RDP fully works as long as the entire keyboard input is being captured. RDP had been working for awhile with Windows but as of 2/14/2021 Linux & macOS is now supported. VNC & other protocols may work, but is likely most dependent on how the keyboard input is captured on the computer running the client.
Program Src/Remote Client ⇒ Dst/Remote Server Works? Notes Official MS RDP (mstsc.exe) ❖Windows ⇒ ❖Windows ✅ Yes Note: Make sure to set all keyboard input to go to remote. Official MS RDP (mstsc.exe) ❖Windows ⇒ macOS ✅ Yes Note: Must compile & install xrdp. Official MS RDC from Store ❖Windows ⇒ ❖Windows ✅ Yes Note: Only when maximized, all modifier keys will not pass in otherwise. Official MS RDC from Store ❖Windows ⇒ macOS ✅ Yes Note: Must compile & install xrdp. RealVNC ❖Windows ⇒ Linux ✅ Yes Note: Compile & install my forked x11vnc for compatibility. Official MS RDP (mstsc.exe) ❖Windows ⇒ Linux ✅ Yes Note: Compile & install my forked x11vnc for compatibility, then setup xrdp like normal & use xrdp 0.9.18+. Official MS RDC from Store ❖Windows ⇒ Linux ✅ Yes Note: Compile & install my forked x11vnc for compatibility, then setup xrdp like normal & use xrdp 0.9.18+. Official MS RDP ChromeOS 87+⇒ ❖Windows ✅ Yes May work on earlier versions as well, if they support Android apps Remmina Linux*/ChromeOS 87+⇒ ❖Windows ✅ Yes *Use hover menu to enable "Grab all keyboard events" FreeRDP Linux/ChromeOS 87+⇒ ❖Windows ✅ Yes FreeRDP macOS⇒ ❖Windows ✅ Yes FreeRDP for macOS Remote Desktop Manager Free iOS⇒ ❖Windows ✅ Yes Jump Desktop (RDP) macOS*/iOS ⇒ ❖Windows ✅ Yes *Preferences -> Keyboard -> Disable "Key Conversions", Enabled "Send macOS Shortcuts" under Keyboard shortcuts Jump Desktop (VNC) macOS⇒ Linux ✅ Yes Note: Compile & install my forked x11vnc for compatibility & use xrdp 0.9.18+. RealVNC macOS⇒ Linux ✅ Yes Note: Compile & install my forked x11vnc for compatibility. Official MS RDP macOS⇒ ❖Windows ❌ No Initial Cmd key press not being passed Remote Desktop Manager Free macOS⇒ ❖Windows ❌ No Initial Cmd key press not being passed Royal TSX Client macOS⇒ ❖Windows ❌ No Initial Cmd key press not being passed Official MS RDP iOS/Android⇒ ❖Windows ❌ No No workaround atmQuick summary - Swap Alt & Win to conform with Apple keyboard layouts. Sharpkeys for Windows, Setkeycodes for Linux, then install Kinto.sh or change/update the Keyboard Type to Apple in the system tray. https://benreaves.medium.com/macos-to-linux-back-again-c6151200f4dc
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install --cask xquartz
brew install freerdp
xfreerdp /u:your_username /v:192.168.x.x /cert-ignore /auto-reconnect-max-retries:0 /f +clipboard -decorations
More info here https://medium.com/idomongodb/macos-rdp-to-a-windows-machine-1e0f52f777b
Screenshots of how to configure Jump Desktop for macOS users accessing a Windows PC with Kinto installed. I apologize that it is not a free RDP client - BUT it does work, and at $15 it is reasonable if you plan to use it frequently.
What's different from other remappers?
Kinto works for standard Windows, Apple and Chromebook keyboards. The following however describes the dynamic rebinding based on a standard Windows/Mac keyboard.
GUI
Physical Ctrl Win/Alt Alt/Cmd Spacebar Virtual Win/Super* Alt RCtrl Spacebar*Win/Super will properly remap to LCtrl when needed to fully support expected keymaps.
Terminal
Physical Ctrl Win/Alt Alt/Cmd Spacebar Virtual LCtrl Alt RCtrl SpacebarNote: RCtrl for terminals is also adding in Shift most of the time, however it depends on the specific terminal in use and will change itself to the expected keymaps of that terminal application.
Compared to most other remappers this is a complete system-wide remap of your base level modifier keys, this saves time. You're not going to die a death of a thousand papercuts from trying to support every shortcut key under the sun.
It also retains some of the most commonly used system level shortcut keys, such as Cmd-C/V, Cmd-Tab, and Ctrl-Tab among others. You will keep seamless copy & paste between all apps, ability to switch Windows while still using the physical Cmd/Alt key position; switch tabs in your favorite terminals, code editors, or web browsers. Depending on your OS and/or Desktop Environment you may also be able to switch Virtual Desktop environments the same way as well and other basic system level shortcuts.
If your OS and macOS have similar functionality on the system level, but only differ by a slight difference of a shortcut command then Kinto likely supports it already. If Kinto doesn't have what you need then you can open up a support ticket and it will be added. You can also fork the project to add the fix and I will merge it via a PR you make.
Additionally, if you are using a cross-platform app
No open issues yet, or sync has not completed.