shift + 8 -> (
shift + 9 -> )
alt + ctrl + 8 -> [
alt + ctrl + 9 -> ]
alt + ctrl + 7 -> {
alt + ctrl + 0 -> }
Alternatively alt + ctrl can be replaced by altgr.
And for further fun:
alt + ctrl + ß -> \
shift + 0 -> =
shift + 7 -> /
Actually, it is probably easier to link the whole layout: https://de.wikipedia.org/wiki/DIN_2137#/media/Datei:Deutsche...
It is pretty bad for programming in languages that make heavy usage of braces/brackets/parenthesis.
What operating system are you on? I can only create those with AltGr, anything shift-alt will be interpreted as a keyboard shortcut.
Are you maybe confusing alt ctrl with alt shift? Your comment seems to indicate it as that being the case.
I have
* <shift>+<8,9> for (,)
* <altgr>+<è> for [
* <altgr>+<+> for ]
* <altgr>+<shift>+<è> for }
* <altgr>+<shift>+<+> for }
yes, it's a pain to use some languages.
Also, random rant, the IT keyboard layout is moronic because on most platforms inputting accented uppercase letters is not possible in any way. Ironically, 'c with cedilla', section sign `§`, degree sign and the now unused pound sign are present on every key and easily typed using shift.
I've been arguing since the dawn of time that "US with dead keys" is a vastly better keyboard layout for Italian than the Italian one, and that's the one I use (more correctly, I use US International with AltGr keys due to the fact I type accented letters less frequently than I type single quotes or backticks).
The thread is about the accessibility of some brackets on German QWERTZ keyboard layouts. These curly brackets aren’t even printed on some external Apple keyboards. And if you try to type them with one hand, you would need to turn your wrist in some unnatural position. That’s the main reason why I use an US QWERTY keyboard for the last 15 years.
But in a general sense, I fully agree to your statement. Learning to touch type was an extremely valuable skill to acquire and I can only recommend it to everyone.
[1]: Decided one day to get myself one of those little booklets with training software on CD. I then slowly stepped through the training steps (each step more letters and more repitition of already learned ones) and got decent at touch-typing by forcing myself to use it more and more in everyday uni life. Took about one or two months to get up to a level usable in general typing (writing for reports/homework AND programming) with little to no pauses or errors.
I only buy ANSI keyboards and like the layout better (both Enter and left Shift are easier to reach) but I occasionally get to type on ISO keyboards, it's not too bad.
And without correct keycaps it is even harder.
That forced me to always touch type, a good thing. It also has the advantage that the layout is pretty consistent across physical keyboard layout.
That's not the case for UK Qwerty; UK Apple is different to UK ISO is different (obviously) to ANSI. Where as Colemak is pretty consistent. So it's been helpful when moving between machines and OSs.
...it's also been the generator of hilarious memories, such as when someone changes their layout to Colemak for me to type something and then we logout their machine and discover they can't type their password or change layout back to Qwerty. Ah, good times...
Of course you'll have to fight your muscle memory and type at 20 wpm for a couple weeks. There's no shortcut.
I never felt like owning a new keyboard was necessary as a memorized the keys fairly quickly. The CA-FR layout is QWERTY+accents, but () {} etc. are weirdly placed, some requiring the use of the “alt-car” key which I’m not even sure exists in the US layout. I really hate programming or using vim in that layout.
Are there layouts where that approach isn’t feasible? Or is it mostly a memorization issue?
You can adapt most of the western layouts to at least get "[]{}" in easily accessible places, but for instance trying to adapt a German layout can get really confusing. Have a look at this typical German layout:
https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/KB...
So we can remap "{}[]" to somewhere next to the enter key, ideally by moving the "+" key to the upper row. We also want to remap "|" and probably "<>" somewhere next to the enter key, because typing those a lot also gets awkward in their former spot. You could compensate by the entire bottom letter row to the left, arriving at something close to US-ANSI.
Needless to say, that's going to get really confusing. I'm a touch typist, but if I'd already have trouble, I don't want to imagine what that's going to be like for someone who is not.
Personally I just use an ANSI-US layout keyboard with a few custom shortcuts for typing ä, ö and ü. I can get away with this because I don't need to write a lot of German text.
For someone who has to switch between layouts to be efficient in both writing German text and code, it's probably better to use physically different keyboards so it's easier to build muscle memory.
Except on a mac, because for some reason the mac layout is totally different, which is why I need to use a key remapper on my work computer.
You can write the characters using digraphs.
For example, type <"> and then <a> to get <ä>. Type <"> and then <space> to get <">.
This won't work for other alphabets, of course.
Not sure what CJKV users do.
Chinese: the physical layout is always ANSI US. Depending on the IME you might want more than roman characters printed on keycaps, but it's just cosmetic if you can touch-type.
Japanese: most keyboards use the JIS layout and visually support multiple IME, but if you stick to romaji, using an ANSI US keyboard works too.
Korean: the physical layout is ANSI US (sometimes with 2 extra modifiers). Hangul is a proper alphabet, symbols are made up of subcomponents (jamo) that are printed on the keys. Again it's just cosmetic.
In my experience, people of my generation (30-40 years old) who are educated know to touch-type. For instance I've never met a Taiwanese that needed to look at the Zhuyin symbols on a keyboard.
But I've heard that's not the case anymore with kids that grew up using smartphones.
What I like about using US Intl (I've modified it slightly) is that no switching is required, I can conveniently enter both the programming related characters (such as curly braces which require gymnastics with a German keyboard layout) and the German specific characters such as umlauts.
But I can't imagine that this could be possible for Chinese without switching modes (or input methods or keyboar layouts).
* On Linux: ``example`
* On Windows: ``<left>example
Some editors even turn the latter into ```` when I double press the backtick as no symbol renders prior to that.
if none is available for your language you can build it yourself: https://zauner.nllk.net/post/0014-windows-no-dead-keys/
The shifted semi-colon must be irritating in C-like languages, but even on US/UK keyboards, characters like ( and { need Shift, which admittedly is larger than Alt-Gr and there are two of them.
I wonder if the larger right Shift key can be mapped as Alt-Gr.
PS. Does Icelandic need the letter 'mu' often enough to dedicate a key to it on the keyboard?
[1] https://en.wikipedia.org/wiki/Icelandic_keyboard_layout#/med...
It's mapped to Alt-Gr+M on Swedish keyboards as well, but I've never seen a keyboard where it's actually written on out on the key.
I'm sorry, but what?
Most people who use the metric system can't tell you which is smaller: micro or milli. Most people will never encounter anything in their lifetime they will actually need to reason about in some important manner that is measured in μ-anything.
As a user of the Icelandic layout I wasn't even aware that the key was on there, but I can confirm that we absolutely don't need it. I think there are probably a lot of keyboard layouts that could use modernizing wrt. how they are actually used today.
That doesn't seem unreasonable, when we have <, >, { and } for mathematics, \ originally for logicians (to combine to make /\ AND and \/ OR) and |, @, _ and # for programming.
Btw, Microsoft Keyboard Layout Creator is a terrific tool. I spent around 10 minutes sω tφαθ İ cöüλδ tyπε lıκε δiş. (Turkish characters accessible through AltGr and Greek characters accessible through a dead key) And if you look at the config files (some kind of tab separated values with comments), the created keyboards are easily sharable and combinable.
Why though when you can change layouts without changing keyboards.
The main one is that you might not know the placement of the keys of the US layout by heart so having your printed keyboard match the layout is best. I'm a touch typist, but I still look from time to time to find things like | or ~.
Also, your physical layout might be slightly different, then finding the right key becomes a matter of trial and error for some edge cases (think the inverted L shaped enter key vs the long rectangle version).
There really is no reason to switch between actual physical keyboards to use a different keyboard layout, even if you need to look at the keys(and it would still require you to switch layouts in software). Surely googling a layout cheat sheet is easier than switching keyboards.
In my case, more than switching, it's that my laptop has a spanish set (work provided), and I went through the trouble of buying an external one with an English layout. It's not like I'm switching between them every few minutes, the Spanish one is left unused. I don't even bother switching layouts, since I can perfectly write Spanish with the English layout (the only missing keys are accents, which I omit in informal texts, and the ñ key that I can get long pressing the n).
I could use the Spanish one and look at a cheat sheet from time to time, but it's inconvenient enough that the 40 extra bucks feel like a good inversion.
Everywhere else, it's reasonable to assume that if you're a programmer, you speak English and likely have an English keyboard. This may not be fair, but it is the state of affairs.
You likely own a US keyboard not only for the parentheses problem, but because of all sorts of English isms throughout all code -- alphanumerics, urls, etc are all in Latin script. It's like German in the field of mathematics in the 19th century.
Yes, they are symbols that are used in many programming languages. No, it's not reasonable to assume that they are easy to type for all of us.
Anybody who deviates from that is doing so at their own risk. If you want to use Dvorak or Azerty instead of Qwerty then you can do that, it's just not advisable because things like Vim will no longer make sense.
If you try to write code using a layout that doesn't have all the ascii printable symbol characters in accessible locations then you're creating a special kind of hell for yourself. It takes like 30 seconds to change to US layout.
That’s not reasonable at all. You have way more people writing code outside of the US than within. The US layout may be the most represented one, I don’t know statistics on this, but I would expect it to be on the losing side when comparing US layout vs non-US layout.
Though I would agree that having access to ASCII is something you need, but any standardized keyboard layout in the world can do that via modifiers, if not directly.
The only alternatives would be to converge on a lowest common demoninator, and have a likely more inconvenient syntax for all parties, or to diverge into regional-specific dialects, which unicode shows to be.. wide.. and generally make code sharing much harder.
This is really more of a "many mostly equivalent solutions, but one needs to be picked" scenario -- and it would be time poorly spent trying to undo the incumbent solution (and will naturally be rendered untenable by endless bike-shedding anyways). The worst of all solutions -- except for all the others
Using a German layout is very much a choice you have made and is no reason for you to demand that programming languages should make everyone else's life harder to acomodate those choices. Even for German text input, umlauts and sz are rare enough that it is not much of a hindrance to have to enter those via dead keys or compose sequences on a layout that doesn't make {} and [] a pain to type.
I really don't think most people use the American layout. That's just typical america-centric narcissism.
Curly brackets etc use hand-twisting alt-gr combinations on a Swedish layout so I’d be better off using a US keyboard mapping so I can type ([{ using only shift. I have tried and failed to make that switch. It would probably just slow me down for a month or so before it made me faster, but I’ll keep pushing my square-wheeled cart thank you.
External keyboards, sure. But many of us are laptop-only.
Sure, you can remap the keys, but also, not everyone is a touch typist.
There's no English keyboard.
Writing French with the US international layout is actually pretty easy.
The umlaut is a dead key so it's very easy. ß is AltGr or Option + S which I admit is a bit more annoying, but your spellchecker should take care of that, no? (I'm Swiss so even when I have to type in broken German, we don't use the ß here).
All layouts are tradeoffs. Not using the US layout makes a lot of things annoying in our field. I write code and use my IDE's keyboard shortcuts more than I need to write long texts in my native language.
I've switched to US intl 15 years ago and I don't type in French any slower than I used to. On the other hand I benefit greatly from using the default layout in our very US-centric field.
So " is Shift+' and @ is shift+2
In UK keyboard layout, @ is shift+', and " is shift+2 (which is what is shown on my keyboard keys).
My favorite keyboard is British up to the point of me specifically picking a laptop/physical keyboard with a British layout.
Just learn both and you'll be OK.
The thing with touch-typing is that you don't think so you have to go through a period of discomfort.
Edit: If that wasn't clear, I meant that I touch-type on both layouts quite easily.
I'm afraid there's no easy solution to this problem but I'd like to hear your suggestion.
begin
and end
Isn't there? ;)It may be, that in the end the parens are the solution to use, but at least it should be considered in the discusion, that they are not very easy to use for a lot of non-English layouts. Just assuming anyone in the world would use an English layout, is quite offensive in my eyes.
Not really relevant, as we're talking about keyboards and setups used by programmers.
If they don't know how to change the layout in English to program, then perhaps they're not fit for the job.
(Non ASCII/US programmer here).
"falsehoods programmers believe about keyboards"
On the keyboard layouts of many countries these keys aren't accessible at all, either missing entirely or only being accessible via unergonomic key combinations.
For this reason myself (and many other programmers) own additional ANSI-US layout keyboards.