utmapp / UTM

Virtual machines for iOS and macOS
https://getutm.app
Apache License 2.0
26.93k stars 1.34k forks source link

Del and Insert key not working on Mac VM #4041

Open 0x0Koda opened 2 years ago

0x0Koda commented 2 years ago

The del and insert key are not working on my usb keyboard in the Mac VM I'm using a keychron c2 keyboard. I've tried adding new keyboards in settings but nothing seems to work.

Configuration

osy commented 2 years ago

Are you using the USB capture or are you using it directly?

0x0Koda commented 2 years ago

I'm just using the USB directly into the MAC. Additionally if i use the mac pro built in keyboard and i press fn+delete, this should also "del", this does not work inside the VM, So I think the VM just doesn't understand what "del" is.

osy commented 2 years ago

What OS are you running in the VM? Can you try a different OS? What locale and layout is your keyboard?

0x0Koda commented 2 years ago

VM Version: Mac 12.4 I've tried both Australian and US keyboard Layout is qwerty ctrl+D does work as forward delete

0x0Koda commented 2 years ago

Just tried on Ubuntu and the fn+delete key does work. VM Version: Ubuntu jammy jellyfish, Gnome 42

So its just a mac VM issue

dracoventions commented 1 year ago

I have the same problem. US qwerty keyboard, Apple M1 2020 host running macOS 12.6.1, guest VM macOS 13.01. Host hardware has no keyboard attached but I'm connecting to it via VNC from Windows. Delete key works on host machine but not in VM. Ctrl-D works as forward delete.

lorddoomicus commented 1 year ago

I have the same issue. Del key not recognized in VM. My main keyboard is a Keychron K2. But I've tried several others, both bluetooth and USB and it's the same result.

Mac Studio M1 Max MacOS 13.1 UTM 4.1.5 with Apple virtualization Debian 11 Fully patched and updated. I am using XFCE.

It's also worth noting that xev shows no X11 events for the Del key. All other keys work as expected.

griffint61 commented 1 year ago

In my case at least this issue is limited to VMs that use Apple virtualization. For VMs that use QEMU the Insert and Delete keys work fine. This is for my external USB keyboard.

For my built-in keyboard the Delete key works regardless of the type of virtualization. (There is no built-in Insert key.)

DimitryAndric commented 1 year ago

Hm, same here indeed. Host is macOS 13.2.1 on arm64 (M1), VM is also macOS 13.2.1 on arm64. I have verified that on the host fn+delete on the built-in keyboard works, and gives the same keycode as the 'delete right' key on an external USB keyboard. However, these keys do nothing in the VM.

skiedrowski commented 1 year ago

Same here. Host: macOS 13.2.1/MacBook Pro/M1 Max Guest#1: macOS 13.2.1 (apple virtualization) Guest#2: Debian 11 (fully patched) (apple virtualization) USB Keyboard (Apple Keyboard with Numeric Keypad) Layout: German

del just does nothing in both cases

vincent-olivert-riera commented 1 year ago

Same here.

Using QEMU before, this USB keyboard used to work perfectly fine. After switching to Apple Virtualization the delete and insert keys just don't work.

UTM: 4.1.6 Host: MacOS 13.3 Guest: Debian 11 USB keyboard: Realforce R2SA-US4-IV Layout: US

vincent-olivert-riera commented 1 year ago

@osy , should we add an Apple Virtualization label to this issue?

naga-re commented 1 year ago

Among the new features of apple's virtualization framework for MacOS Sonoma, I see that a new class has appeared:

VZMacKeyboardConfiguration

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?

naga-re commented 1 year ago

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.

naga-re commented 1 year ago

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/

matthewruzzi commented 1 year ago

I am having the same issue in parallels desktop.

aplsms commented 3 months ago

I have the same issue. External USB keyboard connected to Mac M1. Guest OS -- MS DOS 6.22