What does HackerNews think of kinto?

Mac-style shortcut keys for Linux & Windows.

Language: Python

I am spoiled on macos, where cmd is the primary modifier key. So cmd-c and cmd-v are for copy/paste, and ctrl-c still continues to work in a terminal. I understand the need for ctrl-shift-c in a linux term, where ctrl-c needs to remain for signaling processes. I just wish I could globally remap this. Some of the hacks exist for this (https://github.com/rbreaves/kinto) but it's a leaky abstraction and not fool proof.
There is a tool that makes Linux act as if it has Mac keybindings. https://github.com/rbreaves/kinto I've been using it, with some custom config, and it's made life a lot easier as I use a Mac and Linux laptop at the same time.
Debian if you care about stability and running it on anything, or a rolling release if you care about using latest releases of software. Arch is nice, access to the AUR is nice, too. You can also use Debian unstable or testing.

A lot is happening on desktop Linux right now, and I've found rolling release distros to be nice for that reason. Debian or Arch with KDE Plasma Desktop is a nice combination.

Regarding minimal installations, if you're new to Linux, I think you should try to use a popular Linux desktop distribution, Debian has several, there's Ubuntu, EndeavorOS for Arch, and others.

You can also boot live Linux instances from a flash drive and try things out before you install.

To answer your first question, I went from Linux to macOS back to Linux again.

Check this if you want to use macOS keybindings on Linux: https://github.com/rbreaves/kinto

True, I have posted info about my key remapper here a few times, https://github.com/rbreaves/kinto, but when I posted it it never really took off. Then some guy, nick something, posted it and the thing really took off. Timing & luck is what it really seems to come down to.

That surge of viewers also resulted in a distinct up take of stars for days, almost a full week following the event lol. Word of mouth definitely kept it getting attention, but typically I see a few new stars a day. I don't really watch it that closely now though.

I am happy to have created an app that really resonates with a lot of tech users and programmers though.

Really not a good idea to remap super for copy and paste though.. that is just a very surface level thing to do I think and recommend to any mac user transitioning to Linux and is why I built Kinto.sh so that hacks like "remap Super+c/v" for copy and paste don't have to exist.

https://github.com/rbreaves/kinto

The proper way is remap the modifier keys and then remap further based on the app on focus. Gives you coverage whether you explicitly remapped an individual app or not.

There are 3 options here.

https://github.com/mooz/xkeysnail

https://github.com/k0kubun/xremap

https://github.com/autokey/autokey

My advice is to skip the last one unless you need something truly complicated and a config syntax that is just insane regardless of your level of complexity imo.

Of course if you just want mac based keybinds to be done for you then use my kinto app.

https://github.com/rbreaves/kinto

I have had some luck with working across Linux and MacOS. I prefer MacOS shortcuts and use https://github.com/rbreaves/kinto to use MacOS shortcuts on an Ubuntu machine.

I also use JetBrains’s products extensively. I used to have on intellij settings repository for all products (PHPStorm, PyCharm, Webstorm), but I found the same issue that the settings wouldn’t sync in the way I wanted. I now have separate settings repositories for each product. This seems to be working better, although, it does require copying new shortcuts to each product.

I haven’t tried solely using IntelliJ Ultimate, so maybe I will see if I can configure that to work for different programming languages. I have been reluctant to do so, because the appeal of IntelliJ for me is that it makes it easy to work with a programming language. I don’t want to have to configure IntelliJ Ultimate when I want to use Kotlin or want to use Python. Maybe it has a nice way of handling that?

2015 MBPs are great Linux machines, everything is supported except for some webcams, but there are out of tree drivers that work perfectly. Sound via Pulseaudio or Pipewire works well out of the box, too.

I run Wayland, and libinput[4] gives you pretty much all of the trackpad features and gestures you get in macOS like adaptive acceleration, tapping, multitouch gestures etc. Xorg works well, as well, except its gesture support is limited compared to Wayland's.

Depending on the model, WiFi has open source and closed source driver support that both work well, and have Bluetooth support.

This is a good reference to see how well your model is supported on Linux[1]. This project will remap your keyboard shortcuts to match the ones you're familiar with from macOS[2].

I've also posted about making Linux and Plasma Desktop act like macOS on HN[3].

[1] https://github.com/Dunedan/mbp-2016-linux

[2] https://github.com/rbreaves/kinto

[3] https://news.ycombinator.com/item?id=25473702

[4] https://wayland.freedesktop.org/libinput/doc/latest/features...

I contend that as of the last year or so it looks more possible to have a system that just works with Linux than any time in the last 10-20 years for sure. I am working to mitigate most issues that remain. I think a combination of remapping keys to be more sensible, RDP, and setting up a script to handle my initial setup for a specific distro, Ubuntu Budgie, that I can really resolve 99% of the issues I have with it and not lose any productivity.

I am the author of kinto btw. https://github.com/rbreaves/kinto

> Any advanced Mac user knows about Karabiner, BetterTouchTool, Choosy, Alfred, Automator, and more.

> With Linux, you can achieve almost the same feature set, but it is harder and more limited.

> For example. To customize your keyboard, you will need a combination of xdotool, xbindkeys, xcape, xmodmap and setxkbmap to capture some event and then run a shell script. There is a Gnome Shell plugin that allows you to tweak your keyboard, but it's nowhere near Karabiner.

Much of what you said is true, but you may also want to checkout my mac-style shortcut keys for linux project over here https://github.com/rbreaves/kinto. It takes a lot of the effort and annoyance of remapping out of the equation imo.

Generally it is more difficult to find working alternatives on changing basic linux behaviors quickly, whether those solutions be free or cost money.

And yes libinput-gestures can be difficult to work w/ I spent over an hour until I realized I needed to log off and back on -.-. Also it is concerning that you say screen tearing is back under Wayland - I haven't spent much time in Wayland because I have not yet worked out a good solution for porting my kinto project to it.

Yeah this tool called Kinto[1] was posted on here the other day.

[1]: https://github.com/rbreaves/kinto

Who puts the table of contents in the middle of the content? Below that is where you'll find the "What does this do exactly?" section, which really should be the first thing on the page. Why does the opening section say "Seamless copy and paste with all apps and terminals"? Seems to have nothing to do with the project.

https://github.com/rbreaves/kinto/#table-of-contents

My setup is a USB-C hub + switch that toggles my monitor/keyboard/mouse/headphones/webcam between my work (MBP) and personal (homemade frankenstein) machines.

Ubuntu Budgie + https://github.com/rbreaves/kinto makes this a great experience by letting me re-use muscle memory (the key left of space + space => global menu; the furthest-left key + arrows => workspace switching).

I hope I am not shilling too much here , but hey you can try out my Kinto app over here if you'd like. You'll get the keymaps you want. https://github.com/rbreaves/kinto
So let's not convince you, you can still experience what it is like to have a potentially better hotkey layout via my project if you want to try it out.

https://github.com/rbreaves/kinto

Checkout my project before going around and remapping all of your keys.. Kinto doesn't do anything like that. It will actually do all of the remappings you want via a single config file that you can easily add on to if you really need (I doubt it though) & you can disable it or uninstall it at any time. https://github.com/rbreaves/kinto or http://kinto.sh
If anyone has any comments or suggestions please let me know. I've been working on this on and off for the last several months and I love getting feedback.

The repo is located here.

https://github.com/rbreaves/kinto

Screenshot of the system tray and wizard is here.

https://user-images.githubusercontent.com/10969616/97070698-...

I know in the past I had seen confusion during the setup process so I believe this new GUI wizard will clear that up.

Additionally I have removed all system level shortcut modifications (even though the previous uninstall would undo the half dozen rebinds). Most rebinds have always been part of the xkeysnail config.

If the Overlay key is set then Kinto will undo it so that you will have 3 unhindered modifier keys. (Overlay key is of course mapped to Cmd+Space) If you remove Kinto the Overlay key will be set back to Super of course.

All remaps are self contained in the ~/.config/kinto/kinto.py config file and ran as part of the xkeysnail service that Kinto sets up for you. In the config file the Left side is the physical keys you press on either side of the spacebar, and the right side are the keys you are virtually pressing.

Also note that the Left side, in the config, is impacted by a modifier swap that occurs early on in the file, so you may not immediately recognize that but the 1st key left of the Spacebar is RC (Right Control), 2nd key is M (Alt) and the 3rd key is Super.

During terminal usage the 3rd key, Super, is swapped out with LC (Left Control), but some Super keybinds will still appear to work on LC just fine - like Virtual Desktop switching.

Jeez, that's quite a list.

There are other, simpler ways of doing a lot of that stuff. If you want accented characters, enable the Compose key.

E.g. https://www.setphaserstostun.org/posts/setting-the-compose-k...

If you want Mac-style keystrokes, try Kinto: https://github.com/rbreaves/kinto

But there are other ways: https://medium.com/@petrstepanov/a-macos-like-keyboard-remap...

Me, I use old Apple mechanical keyboards on my Macs, and IBM mechanical keyboards on my PCs. The different feel engages different muscle memory, and I use Cmd-C etc on macOS and Ctrl-C on Linux without thinking about it. For terminal emulators, use Ctrl+Shift+C etc. I personally find this a much simpler solution, but YMMV.

If you want an easier life, dump GNOME. I've tried every blasted desktop out there and XFCE makes my life easier and happier than any of them.

You should look into kinto, it completely remaps the modifier keys system-wide and worked pretty well when I tried it (I switched to i3wm so I use super for i3 shortcuts now)

https://github.com/rbreaves/kinto

The consistency of macOS keyboard shortcuts is one of the main reasons I have huge problems switching to Linux or Windows. Despite the non-trivial amount of tweaking and customization, I could never achieve the same level outside of macOS.

Just to name a few:

- CMD+left/right: start/end of line

- CMD+up/down: start/end of file

- CMD+Shift+arrows: corresponding selection

- Alt+left/right: word movement

- Alt+Shift+arrows: corresponding word selection

- CMD+a: select all

- CMD+1,2,3: switch between tabs in browsers/iterm/IDEs/editors

(surprisingly and infuriatingly, this does not apply to native macOS tabs; e.g. in Finder Cmd+1/2/3 changes the view, but not tabs)

All that + the fact that clipboard, undo/redo, app and windows switching are ALL done via CMD makes it truly a modern hyper button. And you still have Control for Emacs bindings, which also work in most Cocoa text fields.

If you're interested, this [1] is one of the best attempts to bring macOS keybindings to Linux (in particular, Elementary OS). It's a set of settings for Autokey [2].

There is also Kinto [3], which solves one particular problem: copy-paste from terminal with consistent shortcuts.

1. https://github.com/roymckenzie/macos-autokey-phrases

2. https://github.com/autokey/autokey

3. https://github.com/rbreaves/kinto

UPD: edit formatting

If someone like to use Mac OS shortcuts I highly recommend https://github.com/rbreaves/kinto
For the keyboard shortcuts I use https://github.com/rbreaves/kinto

It works perfectly.

You might want to try https://github.com/rbreaves/kinto/ for mapping Mac style copy paste on Linux
There are many ways. I honestly don’t type enough in Linux on my Mac to need that but Kinto looks like it does what you want, is reversible, is per application configurable, and is aware of cursor/caret state.

https://github.com/rbreaves/kinto