EurKEY: The European Keyboard Layout – For Europeans, Coders and Translators
eurkey.steffen.bruentjen.eu
eurkey.steffen.bruentjen.eu
Our ÆØÅæøå are slightly inconvenient (using AltGR on Linux, and Option on Mac), but you quickly adapt and I find it to be worth it to have all the programming relevant characters like '"{(\| in the super convenient location of the US keyboard.
My extremely made up assumption is that the Norwegian keyboard design was designed for typewriters, and the US is an older design made by and for developers.
I think it is the other way around. Programming languages adopted the characters that are available on US Intl.
Which is impossible to do properly, because those keyboards differ from US keyboards in their geometry, not just in the labeling of the keys.
The only difference is that on US keyboards the enter key is smaller and left shift is larger, leading to the "\" key being moved one down and one left on a German keyboard (and also being duplicated to left of z (German label: y)). So even if you move from a physical US keyboard to a physical German one while keeping the US layout, it's literally just one key where you'd have to retrain your hand. And for people that have learned to type on a German keyboard this is not a problem at all since they have never typed on a physical US one and using a different mapping means a training period anyway.
Source: German who mapped his keyboard to US (+ some AltGr modifiers for the German characters I need).
I don't know about the other European layouts, but I assume it's somewhat similar for them too.
For example: Dell ships all their laptops with ANSI-layouts, but Logitech does not ship ANSI-layouts to Europe at all.
I ended up buying my Logitech keyboard on Ebay in the US, because I wanted my layouts to be identical.
Generally, though, I always try to get any English layout, instead of a European one and map as I desire. For macs that would be English International.
Having started with computers and terminals using a simple horizontal bar enter, hence I generally prefer to get a US geometry keyboard when possible.
Stuff like the split pseudo-L of say the Framework keyword is acceptable, since there is still a horizontal enter.
Others at work tend to get confused by the (UK geometry) keyboard on my desk operating with a US keyboard map, simply because there are 2-3 key caps in the "wrong position"...
Keymap layout (e.g. US /other language vairants) is primarily user-preference software setting, unrelated to the physical hardware (except for labels, but these are not relevant for function).
Physical layout (ISO / ANSI / backwards L-shaped enter) are unrelated to its logical function.
The EurKEY post seems to offer a keymap layout, not specific physical layout, so physical geometry is irrelevant.
I seem to remember that the Amiga had a German keyboard layout which was much more convenient for programmers (at least I only started the habit of using the US layout after I switched from Amiga to PC).
I also hate the extra big enter key, I mean what the hell? Give me my backslash above the enter any time of the year.
Thank god I got my escape key back BTW. I needed an external keyboard just for that crap.
Germany is pretty grim here, most not-even-huge companies will just order QWERTZ.
I have a similar problem with a laptop but with Ctrl/Fn, but thankfully the BIOS let me remap it (the Fn key is not a "real" key to the OS).
And no, it's also not "just" the big enter and pipe (and the left shift). It's different, and cool if it works for you, I'm thrown off nearly as much when switching to a US layout on one of those as when I had been typing on US Intl for a while and then switch to the German layout.
Native french speaker here and I do the same: it's QWERTY for me. Also there's just sheer insanity: like in Belgium, which is a tiny country, you have different layouts. And "french french" layout is different than "french belgian" etc. It just makes zero sense.
So I just use a QWERTY layout.
And I just set up a compose key for when I need to write in french. But then the thing is: I can write without any special character and then use a spellchecker to instantly fix everything so...
It's about placement of;'\ :"|?>{}[] all nearby
in locales its different, every programmer should just use intl us.
mac lets you switch per app the locale too useful for writing apps
ü ö ø å æ ê é ... Very simple to find and you'll actually remember their positions because they are (somewhat) logically placed.
At the same time, the US layout also has a very convenient setup for coding, and not any extra keys taking up space.
What I find annoying, is that none of the Apple dealers in my country (The Netherlands) have stocked laptops with the US key layout. You need to order it online and wait a couple of weeks.
This is an impossible task, just use the standard "Programmers" layout for your language which maps to US and allows access to accented characters via modifiers. The entire notion of a "local" keyboard layout sounds like a nationalistic throwback to the days where the world was much smaller. Some languages really need it, but most using the Latin alphabet simply don't, just stick to US.
And that keyboard is, theoretically, focused on Western European languages.
I find it (in)amusing that it contains "ij", which I understand is only used in Dutch, but it lacks letters with ogonek, which is used in at least two official European languages (Polish and Lithuanian), which amounts to around 48 million native/fluent people.
But my argument was meant in a different direction: ogonek is present in two official languages of the European Union, while "ij" is present in only one; still, "ij" got a dedicated key. That, alone, would be sufficient to state it is under-representing European languages.
Then, for shocking comparison, I used population, which, obviously, has Polish as the biggest contributor. Still, 48 million is twice the amount of speakers that might ever use "ij" (estimated in 24 million worldwide), so I think the point is still valid.
Besides, the keyboard layout is also advertised as meant for translators, and Lithuanian is special in this sense: as one of the oldest Indo-European language still in use, and considered by many the most conservative one, it is of interest for linguistic studies, which includes translation.
Any individual "European" (that is, a speaker of a language which uses those Latin-extended characters) is going to want a layout where the symbols they use daily are accessible either as separate keys, or with Shift. Requiring AltGr to type é and è isn't going to fly with users who need them. And I'm certainly not going to press Shift+AltGr+A/O/U to get Ä/Ö/Ü, which I have to type many times per day.
Some parts of the layout also seem to ignore which letters are actually in use. The capital Eszett (ẞ, Shift+AltGr+S in this layout) simply isn't a thing in the real world. It has zero usage in practice. Surely that spot could be utilized for something better?
But honestly, why not just use US Intl AltGr dead keys?
Seriously, ANSI/ISO hybrid layout should be way more popular than it is.
[citation needed]
I would say about 2% of programmers use a different layout than the norm here, not "most"
Contrary to EurKey and QWERTY international, it's a breeze to learn and use. The placement of every key is logical, you just need to learn a few simple rules and then everything makes sense!
See the project on GitHub: https://github.com/qwerty-fr/qwerty-fr
Previous thread on HN: https://news.ycombinator.com/item?id=29229583
Try out altgr-intl[1] (but no dead keys, where you just press e.g. AltrGr+E for "é", might not be installed on windows/mac). It's much better than Spanish for Spanish, can be used for the mentioned languages and probably some Scandinavian, and doesn't make writing code awkward.
[1]: https://en.wikipedia.org/wiki/List_of_QWERTY_keyboard_langua...
If you want to have a bunch of letters of the alphabet with any the diacritics on top, you run out of keys very very quickly. Dead keys are the sane solution to that question.
Also, regarding ß, I've got it in two ways: "AltGr + s," or the sequence "Compose, s, s."
By the way, Compose is the ultimate dead key.
The problem with switching keyboard like this is not the placement of alphabet, but the different location of symbols. Like, "/" and "-" have the same location between US and swedish keyboard, respectively. And this cost me a lot of context switching.
Decided to screw it, by bringing my US keyboard everywhere, and (virtually) switch to another keyboard just if I need to, i.e., to write particular characters like "ö,ä,å".
While it's a nice idea and usually I am a sucker for all things starting with European*, it seems to fall short and the practical use seems limited - who is writing more than 3-4 languages at a time?
I'll stick to my AutoHotkey macros to put portuguese ã/ç/õ via AltGr on my german keyboard:
<^>!a::Send {ASC 0227}
+<^>!A::Send {ASC 0195}
<^>!c::Send {ASC 0231}
+<^>!C::Send {ASC =199}
<^>!o::Send {ASC 0245}
+<^>!O::Send {ASC 0213}
(+1 for my fellow ISO Return key users in the thread)On Windows there's also a setting to get each app to remember the selected keyboard layout (Set-WinLanguageBarOption -UseLegacySwitchMode) so I don't even need to switch most times.
(â and î are even needed in French, what am I missing here?)
I'm sure there must be many other letters missing. Not to mention Bulgaria and Greece.
No qualms with the layout, it's probably impossible to cram all European letters and common programming symbols on only ~four layers -- it's just the name that's somewhat provocative.
Interesting reference: https://jakubmarian.com/special-characters-diacritics-used-i...
à á â ã ā ă ȧ ä ả å ǎ ȁ ȃ ą ạ ḁ ẚ ầ ấ ẫ ẩ ằ ắ ẵ ẳ ǡ ǟ ǻ ậ ặ
You'd need to hold down combinations of 5 different modifier keys, and shift can't be one of them because that's used to capitalize all this. Nobody's going to do that.
The single exception is T-comma (used in Romanian), LATIN {CAPITAL,SMALL} LETTER T WITH COMMA BELOW, which AFAIK is impossible to input.
It is one of the biggest keyboard-related boons of using any xNix OS, and it's trivially easy to add to Windows as well.
It's one of the only things I dislike about macOS: no Compose key.
If I want to type åäö or ÅÄÖ they're right there on my keyboard, with this it's hidden behind AltGr/Shift+AltGr
Enter key is too small and a bunch of other complaints, like everything is much further away or requires both hands compared to my current layout
I prefer UK extended for the position of back-slash and point keys, and a few other details.
This said, EurKEY seems to provide more, like a way to type ś or ć ...
You're just begging for people to flash QMK and repurpose Caps Lock...
The german layout is so suboptimal for actual work, its funny.
Z and are Y switched, so to UNDO you have to almost break your wrist.
Then they just randomly rearranged all the punctuation and symbols.
Why did the parentheses open-close move by one? Who knows…
I'll stick to UK ISO, thanks.
I also much prefer having \ and | located next to the left shift key. It's a single hand input, and the large enter key is so much nicer.
Though not as bad as UK Mac.
<COMPOSE> " a
where COMPOSE is typically ALTGR, but you can map it anywhere you want, like CAPSLOCK
I write daily in three european languages with many accented characters, and this is enough for all of them. I have even mapped composing a to α, b to β and so on, which is useful for the (occasional) greek word.
EDIT: (thanks to gpvos comment below), on linux with xorg you can achieve this by the following configuration:
# setup base keyboard layoud and model
setxkbmap us
setxkbmap -model evdev
# set compose to right alt
setxkbmap -option compose:ralt
# disable capslock sticky effect, set it as modifier
setxkbmap -option caps:ctrl_modifier
xkbset nullify lock
# enable dead greek letters
xmodmap -e "keycode 148 = dead_greek dead_greek dead_greek dead_greek"
xmodmap -e "keycode 66 = dead_greek dead_greek dead_greek dead_greek"
# swap brackets with parens (useful for programming)
xmodmap -e "keycode 18 = 9 bracketleft"
xmodmap -e "keycode 19 = 0 bracketright"
xmodmap -e "keycode 34 = parenleft braceleft"
xmodmap -e "keycode 35 = parenright braceright"
# enable ridiculously fast repeat
xset r rate 250 120
This nearly works on openbsd (you have to install the xkbset package, maybe there is another way). I guess that on macos and windows you can do similar things.Search "Compose key".