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.
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.
1-the tool you want to get better at
Ex: if you are a software developer and mostly type obscure chains of semicolons, curly braces, and other infrequently used punctuation, using one of these websites to get better at quick brown fox typing will only half help.
2-your native layout for the same reason
I say this acknowledging there are two sorts of “I want to learn a skill” urges: the used and unused. I have plenty of things where I just wanted to learn the skill (take tying a few fancy knots for example). I don’t yet have a use for it. It’s just something I felt like learning. Touch typing feels more like the other kind, where the point of the skill is purely to use it. If you’re learning touch typing when you don’t type anything, do whatever makes you feel like you’ve learned something. If you’re learning touch typing to make typing faster, use the tools at hand.
->Put a box over the keyboard or turn your room lights off so you can’t see the labels very well.
https://learn.dvorak.nl/ <- used this to learn dvorak. I really liked how I didn’t need to switch my layout at the computer level just to learn.
https://zty.pe/ <- used this to practice and get my speed up, regardless of dvorak/qwerty/azerty. The way it plays, the ramping up of word length and frequency, I find more effective for “locking in” the positions in my mind and fingers. Especially once there are several words on-screen; you need to actively choose which one you’re going to type next instead of the program choosing for you. In my experience, that added active part of the process really helps expedite the formation of muscle memory.
I use keybr. Another good one to get your speed up after you’ve learnt to touch type is monkeytype
I use programmers Dvorak but I would recommend learning what you think would be best for you. If you frequently need to use someone elses keyboard, learn your native layout
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
“tools to use” Timone and Pumbaa taught me to type. https://www.reddit.com/r/lionking/comments/r4wykl/help_how_to_install_and_play_disneys_adventures/
Mavis Beacon is another popular one. https://en.wikipedia.org/wiki/Mavis_Beacon_Teaches_Typing
I bought Typing of the Dead to practice new keyboards when I get them. https://en.wikipedia.org/wiki/The_Typing_of_the_Dead
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
I am a European who grew up with the German layout. For programming, its a disaster. Even back in 2006ish or so when I learned about AutoHotkey, I started using the US keyboard layout. After some time I switched entirely to the US layout. But recently, just a few years ago I found out there is a hybrid layout which is basically US, but with additional shortcuts to use my German characters (it shows up as this in KDE):
German (US)Luckily I learned programming when I was already using the NEO layout. I couldn’t imagine typing parentheses and the like in German…
- Em Dash (—):
I’ve heard klavaro is pretty well liked with regards to typing https://klavaro.sourceforge.io/en/index.html
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 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!
Keypunch is pretty good







