Never used a US keyboard in my life. Why would you think US keyboard is the norm?
I am German and I use the German keyboard layout...
ISO for life.
You can keep your stupid tiny little enter key.
This!
Oh good I hate that tiny little enter key.
I use the UK layout, because I am British. Why would I use the US layout?
Average American trying to comprehend that people from other countries exist
US-defaultism has a catch: it sometimes accidentally extends to the Commonwealth. You won't run into most of the internationalization quirks if all you're comparing is "British English vs American English".
[Sidebar: I notice this also when English speakers online assume that their audience at least has a vague idea of what Imperial units are, but while that is true of most native English speakers in the northern hemisphere who use feet and miles colloquially, for ESL audiences it's almost always incorrect]
I switched from AZERTY to US QWERTY permanently specifically to avoid all the issues of badly internationalized software. Bad default bindings (e.g. common vim operations like {
requiring the use of AltGr), but also things like games not working at all or only partially (e.g. the number row being either unbindable, or key hints naively showing as "&" and "é" instead of "1" and "2"). Surprisingly few devs understand the difference between key codes and characters, and lots of indie games straight up don't even internationalize and require switching layouts (good luck if there is an in-game chat).
After getting into mechanical keyboards, the ANSI US keyboard layout has been useful as well because these are quite common. ISO mechanical keyboards are rarer, and Belgian AZERTY keycaps are borderline nonexistent.
Also in practice I use the qwerty-fr layout which is the US layout with a French layer on AltGr. The kicker? It's better at writing French than the French AZERTY which is missing a lot of letters (Ç, æ, œ, À, ...). AZERTY is a terrible layout but that's a separate discussion.
Of course the Americans should develop properly internationalized software, but I personally know several fellow Belgians who switched to QWERTY for (some of) the reasons outlined above.
I use EURkey, which is basically a superset of the US layout extended to support symbols from several European languages.
I'm pretty sure most people outside the US do that
I program with the italian layout and i's fine, the only annoyances are that to use the slash you need to use shift, all while the backslash has a dedicated key; also you need to use alt codes to type a tilde.
If you don't live is the US, it's pretty common to not use a US keyboard!
Tried the maltron layout at one point. Nope.
I’m British and use the ISO-UK layout.
I use a country-specific ISO layout, and while I'm very aware that certain things are insanely awkward compared to a US keyboard, like { }, [ ], $ and /, you get used to it. You get used to everything over time. I even use the default vim bindings and have gotten used to them as well.
I just press tab and the IDE sprinkles all that sugar for me.
I program like I learned it? I use my German QWERTZ layout. A lot of keys are different, yes, but I grew up with this layout and I'm used to it. Imagine giving me a US QWERTY layout and I would misstype every time. I even hate it when Windows swtiches my keyboard layout, even though I removed the shortcuts to it and I misstype constantly. Heck even Visual Studio switched my shortcuts and it sucked.
After some time I realized that (Game) Devs suck, because they forget that other layouts exist. Its not a big deal, but at some point I realized that the Chats on T, Y, U makes much more sense on a QWERTY Layout. Also Markdown with ` kinda sucks. For a codeblock, I need to hold shift and press the key that is left of backspace 3 times and then one space, because when I press it once, nothing happens but pressing it a second time, 2 appear. Pressing space let it appear directly. Or I type 4 and remove one.
But this it what I'm used to. And if I ever would work outside Germany, I will bring my own QWERTZ keyboard and require them to install the German Keyboard. I don't need a German UI. I have all programming related software in English, because its easier to google stuff.
It depends on what you're used to and the programming languages you use. I learned typing on a German QWERTZ keyboard and while that works for languages like Python and Haskell, which are indentation-based, but for languages which use braces like Java, C, Rust, or similar, it can be annoying to have to use altgr+7 or altgr+0 for { and }. Thus I switched to a US ANSI layout, which was nicer for those specific characters, but caused problems when typing local characters like öäüß. After switching to Linux I set up a compose key, letting me press compose + a + " for ä for example, and while that's a decent patch, that still breaks the typing flow. So now I'm in my ergo keyboard phase and trying to get my own personal layout going, which meets my own needs for needed characters, based on a colemak-dh design.
Swedish layout. Not ideal for coding (too many things like curly and square brackets etc are under altgr. And tilde and backtick are on dead keys.
But switching back and forth as soon as you need to write Swedish (for the letters åäö) is just too much work. And yes, in the Swedish alphabet they are separate letters, not aao with diacretics.
I'm swedish and I use EurKEY. It's basically US but makes it possible to use Å/Ä/Ö through altgr + W/A/O. I don't write that much swedish so I'm not too bothered, meanwhile the coding advantage is huge for ' " \ | / ? | [ ] { }
.
my keyboard looks like this... so... no?
and honestly it's so much nicer to program with a small keyboard. everything is exactly where you need it to be. I don't ever have to reach for a key, as they're all right there. And I can make them do literally anything I want. So many benefits of a small keyboard over a full size.
When you install a fresh OS and it asks you about keyboard layout, how do you get it usable for this sort of keyboard?
Exactly. If you are a coder and care about ergonomics of layouts, get split programmable keyboard, do not try to find good layout for normal keyboard, they do not exist. I personally do not like the particular keyboard at the picture, but there are many others to choose from and find a good fit for everyone.
UK layout is the GOAT. It isn't that much different from US layout at first, but there are so many more special characters readily available. Particularly useful for multiple languages like Spanish, German, Swedish, etc.
I use Colemak where most punctuation is at the same place as in the US English layout, which programming languages seem to be optimized toward. For the layout I prefer ISO for the larger Enter key.
I prefer ISO layouts. ANSI somehow just seem inefficient to use. I habe layers for CODI g so I have my brackets/braces on the hometown along with other relevant keys. Long live custom keyboards
A lot of us don't live in the US to begin with, so I assume a significant portion of us just use whatever the local standard is. That's where I've been at so far, the Brazilian layout is a QWERTY variant so not that different. It does make some things more awkward, but you get used to what you have to work with.
Brackets and curly braces are less convenient off the top of my head, backticks too. Vim is a tad less ergonomic without some extra fiddling, for instance. In fact, I've been considering getting a US keyboard for coding to make that kinda thing less of an issue, US international makes accents and whatnot accessible enough that I think I could make it work.
I use UK-Layout, with some remappings for my precious umlauts
q+altgr ->ü
a+altgr -> ä
s+altgr -> ß
z+algr -> ö
bonus: in contrast to the peasentry I have an uppercase ẞ (altgr+shift+s)
DVORAK all the way, baby. Hardware-based via Unicomp 104.
Dvorak gang here. Never going back to QWERTY.
I used to use ANSI, but then moved to England and bought a laptop and returned it because of the “weird” ISO keyboard, then forever bought dell because I could customise it.
Moved back to ANSIland, but will still probably just buy dell.
You just... get used to things. Like how you first got used to your keyboard to begin with
What are your experiences? Are there any layouts that you prefer for coding over US English? Are there any symbols that you have a hard time reaching ($ for example)?
I'm using a PT-PT ISO layout keyboard, zero issues reaching anything, works as good as your US keyboard for coding. Actually it might work better because I have a bigger "enter" key.
can’t wrap my head around how I would code on those.
Typical American trying to comprehend that people from other countries exist? :P
Think about it this way, all the EU keyboards are essentially the same as yours but tweaked to accommodate languages that have more special chars than English.
CH layout, superior for everything inbetween german, italian and french. US layout has no äöü, which makes it cumbersome in daily use.
I prefer a British keyboard layout as that's where I've always lived and that's what all the computers come with here.
Actually no, Apple fucks it up a bit by having a weird hybrid between US layout and British layout which is pretty infuriating to have to learn (opt+3 for the # character? wtf Apple?), particularly given I switch between PC and Mac daily
They told me not to reinvent the wheel, so all I need to program is this:
Started on US, now using DE for decades. But able to still use us. Slash position is a plus there.
But Swiss, that's the stuff of nightmares! Oh and mac while usable unnecessarily sucks too imo.
I just use the Swiss keyboard layout. Here's an image from Wikipedia.
Don't have any experience with any others.
I use the German Layout Neo which has especially nice layers for programming https://neo-layout.org/
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev