Open M-Rick opened 1 year ago
It's a bug in Apple's virtualization framework. See #5037 and #4041 for example.
Also report on Apple's Feedback Assistant; there are already several on this bug : FB11898180, FB11489872, etc.
Among the new features of apple's virtualization framework for MacOS Sonoma, I see that a new class has appeared:
Perhaps a solution to our ISO keyboard problems and better management of Mac keyboards? Even if it's too early (we're only in the first beta of Sonoma), are the UTM teams planning to integrate these new features in a future version of UTM?
The problem ultimately remains with Sonoma (Beta 2). If the support of the function keys and controls of the Mac are appreciable (globe key, sound, multimedia, etc.), the bug of the bad mapping of the ISO keyboards (French, Danish, German, etc.) is unfortunately not always not corrected, while the keyboard works perfectly on the beta directly installed on a Mac, without going through a VM.
Explanation and solution of this bug:
The code for the @ key on a French ISO keyboard is 0Ah, but the code for this key on an ANSI keyboard is 32h (which is the code for the extra key < in ISO). That explains why I don't see the @. It's on the code key 0Ah which does not exist.
The virtualization framework does, for some reason that I cannot explain, this code replacement for the keys, taking into account neither the settings of the keyboard of the host machine, nor the settings of the keyboard of the virtual machine.
Howard Oakley, from the excellent site The Eclecticlight Company has just published a post on this problem and made a bug report to Apple:
https://eclecticlight.co/2023/06/27/keyboard-layouts-in-lightweight-virtualisation/
When creating a new Linux VM using the built-in Apple virtualization, the keyboard mapping is incorrect.
I use an Apple French mapping keyboard. And UTM will map the #/@ key to the </> key located next to the left SHIFT. The top key #/@ under ESC is unrecognized. No problem in other virtualization like Parallels, VMware or in UTM using QEMU instead of the Apple virtualization.
On the screenshot below, the mapping is correct, but doesn't match to the real behavior.
Configuration