I want to improve my touch typing skills on Linux. I’m curious:
- What tool or program would you recommend for learning touch typing on Linux?
- For someone whose native language isn’t English, would you recommend learning on their native keyboard layout or switching to the US QWERTY layout for programming purposes?
- TIPP10 is nice.
- I’d select that depending on what you will type most. Myself, I am German and I use UK international because it is nicer for programming. But that is also because I lived and worked in the UK for a while. Other keyboard layouts good for that might be e.g. Canadian ones. Wikipedia has a good overview on options. You can also look at NEO. Generally, there is a balance between “easily typing the native language”, “easily typing programming symbols”, and “easily typing specific other languages”. Fully general layouts will make the stuff you type often slower. Try to make a solid choice, then stick to it.
Aspects you might want to consider are:
- it might be that you need to use different computers e.g. at work. Some standard layout is nicer then.
- You can type all kinds of fancy symbols using the .XCompose method and IMO this is the better way
- When you are programming, typing speed normally doesn’t matter. Really. The key most frequently used will always be backspace. This also means that learning Dvorak and such is usually a pure waste of time. But touch-typing can help because it frees your attention (a bit).
- Switching between keyboard layouts and keyboards always causes friction. Better stick to one.
I had bookmarked this great website a couple years ago, and incidentally I started using it only two weeks ago. It is really great, free, privacy friendly, and since it’s a website, os independent. And highly customisable.
https://keybr.com/I used this site to learn Colemak a couple years ago. 10/10
For the second part of your question, it wholly depends on your input language and keyboard layout.
As a Norwegian user I’d rather shit in my hands and clap than using the plain us keyboard.
Mind you Nordic QWERTY is fairly similar to most other QWERTY variants.
As for a tool, most people I know in a professional setting are at around 75-90 wpm, and never learned touch typing specifically. They just type, a lot, and repeatedly. There are many on-line typing trainers.
When it comes to programming, it’s not about typing quickly. Unless you’re churning out the most mindless of boilerplate it’s far more important to consider how to solve a task and why, then quickly shitting out lines of code.
Mind you this is all based on my experience, and your mileage may vary. Best of luck!
I’ve heard klavaro is pretty well liked with regards to typing https://klavaro.sourceforge.io/en/index.html
Honestly, I believe that, except for Russians or anyone whose language isn’t derived from Latin, using a US keyboard for programming is best, because you won’t be missing many keys. Maybe the French will miss the
ç, but you can learn the Unicode just like I did with the em dash and quotation marks:- Em Dash (—):
U+2014 - En Dash (–):
U+2013
Quotation marks:
- Left double quote (“):
U+201C - Right double quote (”):
U+201D - Left single quote (‘):
U+2018 - Right single quote (’):
U+2019
Maybe the French will miss the ç, but you can learn the Unicode
For something easier to remember, consider enabling a compose key:
I miss the Compose key so much on windows for my work computer
anyone using unicode quotes is insane, honestly any form of unicode character that is a duplicate of an ascii character should be avoided as it just adds uneeded complexity
use compose key and alt gr for rare, one of characters and you will never look back, stuff like diacritics/accents
You are the second person who mentions it but I don’t know what you mean. Got any links for compose key?
https://en.wikipedia.org/wiki/Compose_key the wikipedia page for it
in short, with it you can press Compose then some diacritic/accent then the letter
something like this <Compose> ` a -> à
unfortunaely it is a Linux and BSD thing only that stems from Xorg’s compatibility with many legacy system some of which had a dedicated compose key thus it was added to xkdb (which still used by Wayland compositors and thus the compose key works fine there) and to Xorg
In Plasma (formely KDE) there is a setting in the keyboard layout section that allows you to bind compose key to something like left control, GNOME as always doesnt has this by default you will need an extension, which one? idk, havent used gnome in years, you could also just figure out how to use xkdb directly but it is a mess and a complete pain to understand how to, I myself have no idea and would want to stay away from it, as for other DEs I am unaware if they provide a GUI for changing this or not
- Em Dash (—):
What tool or program would you recommend for learning touch typing on Linux?
I don’t have a particular recommendation, but in addition to local applications, there are also websites that you can try. The keyword you want to search for is “typing tutor”, e.g. on Debian.
For someone whose native language isn’t English, would you recommend learning on their native keyboard layout or switching to the US QWERTY layout for programming purposes?
For programming, the most important thing is that you can type the full set of characters present on US-QWERTY without too much acrobatics, because programming languages tend to use all/most of them.
Other than that it’s just down to your preference and comfort. I don’t recommend putting stock on any hype related to typing speed.
For Q2: I would recommend your native layout. I’ve not tried US QWERTY but I tried DVORAK many moons ago because it’s “better”, but I found it’s better to be good at one layout than to try split your efforts. If you’re not doing something where speed is crucial, just use what you’re used to. If your keyboard layout is not good for your purposes (e.g. typing a character you need often for the programming language you’re using, is difficult on your layout), you could remap individual characters or maybe there’s a layout similar to your native one but better for programming. But no need to use US QWERTY specifically. Also as another commenter said, typing speed isn’t that crucial for programming. I find I’m always limited by thinking speed, not typing speed.
- Can’t help you there as I learned on a manual typewriter years before I saw a computer.
- Editing on Vim/Neovim is really only good on US qwerty layout. It doesn’t matter too much on Emacs unless the layout you chose is missing the symbols for your programming language or you’re using evil mode. I had a hard time on a Latin American layout and switched to a “US international, no dead keys” layout. I can type in Spanish quite easily with this layout, it is Right-Alt pressed with e to get é for example. And I use the same layout for programming. The Latam layout I typed 'e to get é but the dead key single quote meant I had to type quote followed by a space to get a quote while programming. I had to change the physical keyboard to a US layout one to get everything right. Without doing that [ and ctrl-[ were on different keys, for example. It took some searching in the shops to find one but it was very much worth it.




