EEVblog Electronics Community Forum

General => General Technical Chat => Topic started by: ataradov on March 08, 2023, 12:28:47 am

Title: Keyboard question to European programmers
Post by: ataradov on March 08, 2023, 12:28:47 am
Here is an abstract question that came to mind. I've been looking at European keyboard layouts and they are all over the place. But one thing that stood out is that special characters (!@#$%^&*) are not as easily accessible on all layouts as they are on the US layout.

So I have a question for users of those keyboards and especially programmers that might need to type those characters a lot depending on the programming language used. Do some character choices by the language designers make it more annoying to use? Or it makes no difference and you just get used to type on whatever keyboard you have?

For example, Pascal uses ^ for pointers, and this specific character seem to be on random combinations of keys on different layouts. Does this make it harder to use Pascal? And XOR in C, but I guess you don't use XOR as much.

How do you even type ^ on a German keyboard? Wiki says it is an accent key used for combing with other characters.

Also, it looks like Polish people though about that a lot and have separate layouts for typists and programmers. They also have some nightmarish expanded layout, which is a bit much.
Title: Re: Keyboard question to European programmers
Post by: PlainName on March 08, 2023, 12:42:45 am
Never really thought about this, but aren't most programming languages in English? So when programming would it be too much hassle to switch the keyboard to US layout, or whatever is most comfortable? 'Course, could be a drag to keep switching back and forth as you send off emails or whine on Facebook when you're meant to be programming ;)
Title: Re: Keyboard question to European programmers
Post by: pdenisowski on March 08, 2023, 02:23:17 am
How do you even type ^ on a German keyboard? Wiki says it is an accent key used for combing with other characters.

With the German keyboard in Windows, I type "3^2" by typing "3", then the [~/`] key (right above Tab) and then 2.

Not much call for the circumflex (^) in modern German, although it comes in handy for typing medieval German (Mittelhochdeutsch) :)

ich saz ûf eime steine   
und dahte bein mit beine
dar ûf satzt ich den ellenbogen
ich hete in mîne hant gesmogen   
daz kinne und ein mîn wange.   
dô dâhte ich mir vil ange
wie man zer welte solte leben
deheinen rât kond ich gegeben
Title: Re: Keyboard question to European programmers
Post by: ataradov on March 08, 2023, 02:42:51 am
So it does not combine when no valid combination possible? But it would hard to type "b^a"?
Title: Re: Keyboard question to European programmers
Post by: JPortici on March 08, 2023, 06:13:40 am
Italian layout.
The only difficult symbol to use is ~: alt+5 on OSX or Press alt + type 126 on numpad + release alt on windows, on some IDEs like Qt Creator i have to remap a bunch of stuff because they decided to use Alt + Number
Title: Re: Keyboard question to European programmers
Post by: ataradov on March 08, 2023, 06:31:38 am
Wow, that is bad. Also, separate keys for pound and #, but no ~?

It looks like no matter what, some layout would be missing some special character.
Title: Re: Keyboard question to European programmers
Post by: newbrain on March 08, 2023, 07:09:18 am
Italian layout.
The only difficult symbol to use is ~: alt+5 on OSX or Press alt + type 127 on numpad + release alt on windows, on some IDEs like Qt Creator i have to remap a bunch of stuff because they decided to use Alt + Number
I hate the Italian layout (Windows - Linux is a different beast) so much, that I started using the Swedish one even before moving here, on Italian keyboards.
Why does it have a ç key? Which Italian word is it needed for? And, IIRC, it is not possible to directly type È.
OTOH, we have two € sign - that's probably due to inflation.
È proprio una stronzata, ça va sans dire!  ;)

With the Swedish layout there's a number of dead/compose keys, working as pdenisowski described.
If you want the naked `´ ~ ^ or ¨ just type a space after the key and it works as expected: the diacritic is composed with space.

Braces and brackets are on AltGr 7890 {[]}, not bad and logically placed. ^ and ~ on the same key.

I personally use a slightly modified Swedish layout, where I added some common symbols and Greek letters on AltGr combination: β γ Γ φ Φ θ Θ ω Ω × ÷ √ ¹²³⁴⁵⁶⁷⁸⁹⁰⁻ ≤≥ ≈ etc.


Title: Re: Keyboard question to European programmers
Post by: HwAoRrDk on March 08, 2023, 07:25:22 am
I imagine trying to program in C (or other similar languages) on a French AZERTY keyboard layout is a pain, as a lot of the commonly used syntax characters ({} [] | ^) are only accessible via modifier key Alt Gr. Although not dissimilar to using shift, probably doesn't really lend itself to touch typing, due to awkward placement of the key.

First time I was presented with a French keyboard - trying to help someone with a problem with their laptop - took me a while to figure out how to type a backslash for a filename path in Windows because the tertiary characters were not labelled on that particular keyboard. :)
Title: Re: Keyboard question to European programmers
Post by: JPortici on March 08, 2023, 08:02:53 am
Why does it have a ç key? Which Italian word is it needed for? And, IIRC, it is not possible to directly type È.
OTOH, we have two € sign - that's probably due to inflation.
È proprio una stronzata, ça va sans dire!  ;)

I know right? one of the things i always liked about OSX is that you have all sorts of otherwise inaccessible characters using ALT (you use that on OSX to print È - which by the way i copy/pasted right now, i will not look into the combination to print that on windows. I hoped that by windows 10 they would catch up and use the otherwise useless AltGr for something)
I only know of AltGr+E to make €, i don't recall any other way to print the euro symbol

All in all, i am used to our layout, muscle memory and all  :-//

Wow, that is bad. Also, separate keys for pound and #, but no ~?

It looks like no matter what, some layout would be missing some special character.

After all we require accents :) would certainly live without ç and §, now that i think of it i could replace the keymap from § to ~
Title: Re: Keyboard question to European programmers
Post by: Kleinstein on March 08, 2023, 08:20:02 am
The english keyboard is a little more convenient for programming, but at least the German one is not that bad either.  The main thing is "^" that is a bid odd and if in doubt, e.g. for a 2^a  use  the keys for ^ and space to get just the ^.

It is still not very practical to switch keyboard layouts just for a different task (maybe Ok if you switch to something completely different, like Arabic of Japanese). It causes too much confusion.
Title: Re: Keyboard question to European programmers
Post by: pcprogrammer on March 08, 2023, 08:45:57 am
Not sure if there even is a specific Dutch keyboard layout. I have always bought US type keyboards, so no problems when programming.

The only difference I might have is the extra euro sign on the 5 key, but can't recall ever having used it.
Title: Re: Keyboard question to European programmers
Post by: Benta on March 08, 2023, 11:44:52 am
The main difference (apart from layout) is the presence of the AltGr key, which is used to access the special characters. It can normally be emulated with Ctrl+Alt if you have a US keyboard running a European layout.
Title: Re: Keyboard question to European programmers
Post by: m k on March 08, 2023, 12:20:24 pm
Space is always a problem here and keyboard is old, classic Keytronic stylish something, typing errors are also a very standard issue.
This I wrote with left hand to notepad, corrections were ctrl+shift+arrow and shift+Ins/Del stylish.

Normal letters and extras are not really a problem but missing Insert I can't stand, for obvious reasons.
I'm still occasionally using ctrl+Q and stuff with Delphi and Builder, nowadays less elsewhere.

Switching between Latin layouts is more pain than gain for extras only.
Even more than that if you've never really memorized that other layout.

Back in the day we used fall back scands, means Ä->A and Ö->O.
I'm still occasionally reversing them, seems to be a keyboard positioning thing.

Our layout has more brackets behind AltGr so when I start missing them too much I know the room is too dark.
Double action keys are ´` left from Backspace and ¨^~ up-left from Return so óòöôõ are pretty easy.
Anything extra below or under side of a latin letter seems to be missing, like C and something.
We had once a letter for double-s but that's from lantern era so not implemented.
Euro sing is AltGr-E, AltGr-5 is free.

Anybody still using Field/Enter/Rctrl?
Title: Re: Keyboard question to European programmers
Post by: vk6zgo on March 08, 2023, 01:03:02 pm
The english keyboard is a little more convenient for programming, but at least the German one is not that bad either.  The main thing is "^" that is a bid odd and if in doubt, e.g. for a 2^a  use  the keys for ^ and space to get just the ^.

It is still not very practical to switch keyboard layouts just for a different task (maybe Ok if you switch to something completely different, like Arabic of Japanese). It causes too much confusion.

Australians use the US keyboard with English spelling ---shown as English (Australia).

Unfortunately, sometimes W10 "gets its Knickers in a twist" & reverts to the UK keyboard layout, which is all OK, till the time you try to type ", & get @ instead.

You then just reset it, knowing it will happen again, right in the middle of something you are posting on line.
Title: Re: Keyboard question to European programmers
Post by: JPortici on March 08, 2023, 04:12:58 pm
Wow, that is bad. Also, separate keys for pound and #, but no ~?

It looks like no matter what, some layout would be missing some special character.

i ended up installing the microsoft tool to create keyboard mappings, and added backticks and tilde. Could/should probably add accented vowels, too...
Turns out there is also a "Italian (142)" layout. Italian layout, but parentheses backtick and tilde present but placed elsewhere. weird
Title: Re: Keyboard question to European programmers
Post by: tom66 on March 08, 2023, 04:32:21 pm
I've not found it to be a particular issue.  The major difference between British English keyboard and US English keyboard is the 3 is the number (#) sign on US, and GB pound on UK (£), However, the # key is mapped elsewhere. Also I believe the at (@) and double quote symbols are swapped.  You can usually tell within a few minutes if the keyboard layout is wrong. 
Title: Re: Keyboard question to European programmers
Post by: Nominal Animal on March 08, 2023, 07:57:03 pm
I use modified Finnish keyboard layouts.  Mapping and customizing them is trivial (in Linux), so I never paid any attention; the exact customizations depend on the physical layout and spacing.  Even exact key response isn't too important to me; all I require is that keypresses are correctly registered even if you don't hit them exactly on center, and they don't squeak.

What does throw me off, is the key spacing (and therefore size).  Switching between laptop-sized keyboards and desktop keyboards leads to lot of typos for me, which is a bit annoying.
Title: Re: Keyboard question to European programmers
Post by: Silicium81 on March 08, 2023, 08:15:13 pm
It is true that with the French azerty keyboard, you often have to use the AltGr key... For example: € ~ # { [ \ @ ] } are not with direct access! If your keyboard doesn't have a numeric keypad, the numbers aren't direct either!  |O
It is largely the fault of our accents... é è ç à ù which take direct places  :scared:
Title: Re: Keyboard question to European programmers
Post by: Nominal Animal on March 08, 2023, 09:38:50 pm
It is largely the fault of our accents... é è ç à ù which take direct places
Ouch.  Finnish only has three, Å (right of P), Ö (right of L), and Ä (right of Ö).

é is compose-grave/acute, followed by e.
è is Shift + compose-grave/acute, followed by e.  (Similarly for à and ù.)
ç is AltGr + compose-grave/acute, followed by c.

(I can also get ä and ö via compose-¨^~ followed by a or o.  I often use it for ï as in naïve.
 Compose-grave/acute is a single key on the number row just left of backspace, and compose-¨^~ is just left of Enter on the Q..P row.
 "Compose" just means the keypress by itself does not produce a visible output, and combines with the next keypress, almost always space or a letter.)

Compare to ~, which is AltGr + compose-¨^~ followed by a space, and ^, which is Shift + compose-¨^~ followed by a space.  I use both quite comfortably, although they are less frequent (in text or source code I write) than accented letters are in French.

Because of the stuff I do, I often end up using accented letters, though.  Because grave and acute accents are not used in Finnish, I do have difficulty remembering the difference between them, e.g. è vs. é, for example when writing Bézier (curve or surface).  Other than that, I do not need to think what to press when I want a è or é, or á or à; only which one I actually want.
Title: Re: Keyboard question to European programmers
Post by: madires on March 08, 2023, 09:56:29 pm
How do you even type ^ on a German keyboard? Wiki says it is an accent key used for combing with other characters.

I simply press the ^ key. :-//
Title: Re: Keyboard question to European programmers
Post by: Benta on March 08, 2023, 10:06:18 pm
I do have difficulty remembering the difference between them, e.g. è vs. é, for example when writing Bézier (curve or surface).
A tip for accent aigu or accent grave (back from my high school days) the word:

élève (as in pupil).

The accents point to the top of the "l" like an 'up' arrow. Easy to remember, I use it at least once a week although I don't write in French, but for names as you mention.
Title: Re: Keyboard question to European programmers
Post by: thm_w on March 08, 2023, 10:34:54 pm
The english keyboard is a little more convenient for programming, but at least the German one is not that bad either.  The main thing is "^" that is a bid odd and if in doubt, e.g. for a 2^a  use  the keys for ^ and space to get just the ^.

It is still not very practical to switch keyboard layouts just for a different task (maybe Ok if you switch to something completely different, like Arabic of Japanese). It causes too much confusion.

You can get used to it if you commit to it. But yes, initially it is frustrating.
Much easier to just buy a different keyboard with some custom keys or something.
Title: Re: Keyboard question to European programmers
Post by: Nominal Animal on March 08, 2023, 11:11:13 pm
Much easier to just buy a different keyboard with some custom keys or something.
Buy?  No, just change the keyboard mapping to suit yourself better.  For some keyboards, you can even get replacement or compatible key hats without anything printed on them.

For Windows, use the Microsoft Keyboard Layout Creator application.

I'm sure Macs have one as well, might be 3rd party though.

For Linux, your Desktop Environment has a Keyboard control applet that should let you do most things.
If you want to modify or create a new one, usable on GUI-less direct console also, just copy and modify or create a standard Linux keyboard translation map as described in man 5 keymaps (https://man7.org/linux/man-pages/man5/keymaps.5.html).  All these are defined in human-readable text files, with all tools needed for their manipulation included in all Linux distributions by default.

If one starts by duplicating the nearest equivalent with a new unambiquous name, and makes sure they can switch between the two layouts, and after reboot the original one is selected by default, then one can just go ahead and experiment.
Title: Re: Keyboard question to European programmers
Post by: pdenisowski on March 08, 2023, 11:17:37 pm
Much easier to just buy a different keyboard with some custom keys or something.

Or use stickers - I've done this plenty of times when trying to learn a new keyboard layout. 
Title: Re: Keyboard question to European programmers
Post by: thm_w on March 08, 2023, 11:31:46 pm
Yeah, stickers or remap is of course the first best option.

What seemed to be implied above was that the keyboard being used did not have enough keys for these special characters.
Title: Re: Keyboard question to European programmers
Post by: ataradov on March 08, 2023, 11:51:14 pm
So, what I gather from this is that it is fine to use any characters in a language design.

Also, I just realized something. In the Russian layout I can't type ~`@#^ either. But this was never even remotely a problem because all Russian keyboards are marked with Russian and US layout characters. Most of the time the keyboard is in the US layout only when typing in Russian it is switched into the Russian layout. So, programming was never a problem and I don't remember struggling with those characters when typing text, so I guess they are not that common.

It never even came to mind to try that on the keyboard I have right in front of me before now :)
Title: Re: Keyboard question to European programmers
Post by: harerod on March 12, 2023, 08:22:04 pm
Ah, I love that question. First of all - yes, coding in C is a tad simpler on an American layout. However - one gets used to different layouts.
Check out this picture of my Fujitsu KB521's, one with German, the other with Japanese keyboard layout. The Japanese version is designed for usage with an Input Method Editor (there are other types of Japanese keyboards available, with different special function keys). The base layout is U.S.. When I switch input languages, my brain somehow switches the keyboard layout. I simply know that, e.g. Y-Z are in different positions. 
All over the world the older computer guys, who were active during the DOS-era, should be able to remember the U.S. layout, since that is what came up as default on a virgin computer. 
When I dabbled with the standard Hebrew keyboard layout, I ran into a problem: How does one input lower case Roman characters? Simple thing, just change the input language. So surfing the web simply involves switching languages all the time.
Title: Re: Keyboard question to European programmers
Post by: SiliconWizard on March 12, 2023, 08:29:46 pm
In non-US layouts you often have to use key modifiers to get some basic symbols, such as #, \, @...
With AZERTY layouts, we have a modifier key called "Alt Gr", that I think has no equivalent in US layouts, or maybe even QWERTY layouts in general? Not sure.

You can always use a US layout if you're uncomfortable with that, or even define your own layout. Why not.

I've never found that a big issue, it's just a matter of habit. As I have often said, if typing is really your concern while programming, you're focusing on the wrong problem.
Title: Re: Keyboard question to European programmers
Post by: ataradov on March 12, 2023, 08:33:29 pm
Yes, this is a part of why I did not have issues having used Russian most of my life - the character set is so different that there is no way to just replace a few characters with different letters, you have to have a full new layout and active switch. This leaves the US layout alone. For languages where most of the characters are Latin, it makes way less sense, so you are reducing special character set to accommodate just a few extra characters.
Title: Re: Keyboard question to European programmers
Post by: metebalci on March 28, 2023, 11:32:49 am

I have been coding with different programming languages and at different levels since early 90s. If I was a programmer and equally lets say a Spanish writer, I would definitely get two keyboards, one US and other Spanish. I definitely think it is easier to code (and use some programs as well) with US layout. It is also not difficult with another layout, but it is just easier with US layout. My native language is Turkish which has its share of a few difference characters (or same chars with different accents) in addition to English (and also omits a few English ones too), and at the moment I am in Switzerland where you can find I think 3 different keyboard layouts (German, French, Italian). On the other hand, I mostly use the keyboard with English, either for programming or for writing mostly in English. So I decided to use a physically US layout keyboard 5+ years ago, and happy with the decision. I used US layout before as well, so it was not difficult to adapt. Because I need to use particular characters of Turkish or German time to time, I created a custom keyboard map in Windows and mapped Alt-Gr (which I dont use) + char to its Turkish or German variant (luckily there is no conflict). For example, this happens when I press the key and then alt-gr + key: o ö, u ü, i ı, g ğ, c ç, b ß.
Title: Re: Keyboard question to European programmers
Post by: tooki on March 28, 2023, 06:01:18 pm
…and at the moment I am in Switzerland where you can find I think 3 different keyboard layouts (German, French, Italian).
Oh, it’s way weirder than that. I think that the Italian part of Switzerland uses Italian keyboards, but I’m not sure; I’ve spent practically no time there. (Edit: wiki says they just use the Swiss French layout.)

The French and German parts of Switzerland does not use the French, Italian, or German keyboards at all. They use the Swiss keyboard layout(s). I put the s in parentheses because it’s one physical layout and keycap labeling, but two key mappings in software. Basically, it’s two closely related variants of one layout. There are three keys that aren’t mapped identically: the Swiss German keyboard outputs ä/ö/ü on those keys by default, and  à/é/è shifted. The Swiss French layout is the reverse: it outputs à/é/è by default and ä/ö/ü shifted.

(This is reminiscent of how cinema subtitles worked here in Switzerland back when they used film: they didn’t use the subtitled prints from France and Germany, but rather a custom print that had the German (with Swiss orthography) and French subtitles simultaneously. Usually German in plain, French in italics.)
Title: Re: Keyboard question to European programmers
Post by: paulca on March 28, 2023, 06:39:24 pm
The only one I need to go looking for the is the &euro;  Symbol.  It's mapped under iso-8859-15 as the Euro extension to iso8859-1 western-latin.  It's often on R.Alt + 4.  € <-- hey it works!  Sometimes.

The shift number keys gives:
!"£$%^&*()_+

The difference between this (UK105) is the " on 2 and £ on 3 replace the @ and #  Those exist on the two keys beside enter as lL ;: '@ #~

The other one that can be hard to find is the | and both / and \ .  These I lose particularly on nonUK euro keyboards.

In work I know when the admins have been noisying around my work machine.  They tend to forget to set my keyboard local back to UK.
Title: Re: Keyboard question to European programmers
Post by: metebalci on March 28, 2023, 06:44:49 pm
…and at the moment I am in Switzerland where you can find I think 3 different keyboard layouts (German, French, Italian).
Oh, it’s way weirder than that. I think that the Italian part of Switzerland uses Italian keyboards, but I’m not sure; I’ve spent practically no time there. (Edit: wiki says they just use the Swiss French layout.)

The French and German parts of Switzerland does not use the French, Italian, or German keyboards at all. They use the Swiss keyboard layout(s). I put the s in parentheses because it’s one physical layout and keycap labeling, but two key mappings in software. Basically, it’s two closely related variants of one layout. There are three keys that aren’t mapped identically: the Swiss German keyboard outputs ä/ö/ü on those keys by default, and  à/é/è shifted. The Swiss French layout is the reverse: it outputs à/é/è by default and ä/ö/ü shifted.

(This is reminiscent of how cinema subtitles worked here in Switzerland back when they used film: they didn’t use the subtitled prints from France and Germany, but rather a custom print that had the German (with Swiss orthography) and French subtitles simultaneously. Usually German in plain, French in italics.)

It is fun to be in a quadlingual country :)

Yes you are right, I meant Swiss German not German layout but I saw now it has also French keys, I didnt know French speaking part uses the shifted keys by default.