FreeRDP / FreeRDP

FreeRDP is a free remote desktop protocol library and clients
http://www.freerdp.com/
Apache License 2.0
10.82k stars 14.76k forks source link

0x00010407 German (IBM) Keyboard Mapping #7369

Open rhemberger opened 2 years ago

rhemberger commented 2 years ago

Hello, I'm testing WSLg (Windows Subsystem for Linux GUI), https://github.com/microsoft/wslg, https://docs.microsoft.com/en-us/windows/wsl/store-release-notes. The Windows 0x00010407 German (IBM) Keyboard Layout maps to model=pc102 layout=de variant=qwerty options=(null) on the linux side. But this is still a qwertz layout, and as I understand freeRDP should not should not treat this windows layout as a variant, but just like 0x00000407 German / KBD_German. The difference between this 0x10407 layout and the standard variant 0x407 is that with the Caps Lock key turned on, the top row still gives the numbers instead of the special characters. Compare https://docs.microsoft.com/en-us/globalization/keyboards/kbdgr1

rhemberger commented 2 years ago

https://en.wikipedia.org/wiki/Caps_Lock#Behaviour In most cases, the status of the Caps Lock key only changes the meaning of the alphabet keys, not that of any other key. Microsoft Windows enforces this behavior only when a keyboard layout for a Latin-based script is active, e.g. the "English (United States)" layout but not the "Persian" layout. However, on certain non-QWERTY keyboard layouts, such as the French AZERTY and the German QWERTZ, Caps Lock still behaves like a traditional Shift lock, i.e., the keyboard behaves as if the Shift key is held down, causing the keyboard to input the alternative values of the keys; example the "5" key generates a "%" when Caps Lock is pressed. This is not true for the layout "German (IBM)". or https://de.wikipedia.org/wiki/Tastaturbelegung#Umschalttasten Kurioserweise ist diese Taste beim deutschen Windows standardmäßig stets eine Umschalt-Feststelltaste, während sie auf allen anderen Systemen (Apple, Unix, Atari, Linux) stets eine Groß-/Kleinschrift-Umschalttaste war und ist. "Curiously, on German Windows this key is always a shift-lock key by default, while on all other systems (Apple, Unix, Atari, Linux) it was and is always a case-switch key."

https://de.wikipedia.org/wiki/Feststelltaste: Auf deutschen Computertastaturen fungiert die Taste in der Regel als Umschaltsperre, auf schweizerischen oder amerikanischen Tastaturen als Feststelltaste. Windows folgt dieser Konvention und ändert die Funktion der Taste entsprechend der aktiven Tastaturbelegung. Allerdings kann in den Spracheinstellungen eine Tastaturbelegung „Deutsch (IBM)-Tastatur“ (früher auch „Deutsch (EDV)“ genannt) gewählt werden. Bei dieser Einstellung bewirkt die Taste, dass die Buchstaben großgeschrieben werden, aber z. B. die Zahlen weiterhin normal erreichbar sind. Unter macOS fungiert die Taste standardmäßig als Feststelltaste. "On German computer keyboards the key usually functions as a shift lock, on Swiss or American keyboards as a Caps Lock key. Windows follows this convention and changes the function of the key according to the active keyboard layout. However, a keyboard layout "German (IBM) keyboard" (formerly also called "German ( EDV)") can be selected in the language settings. With this setting, the key causes the letters to be capitalized, but the numbers, for example, can still be reached normally. Under macOS, the key acts as a Caps Lock key by default."

Translated with www.DeepL.com/Translator (free version)

github-actions[bot] commented 1 day ago

This issue is stale because it has been open for 30 days with no activity.