Ctrl+Z shortcut not working with non-english keyboard layout

Ctrl+Z works fine when using english keyboard layout, but when using my native german layout, it does not work.
Curiously, other keyboard shortcuts (like Ctrl+D) do work.
This has been the case since the 2018 versions of Unity but is not fixed in 2019.1.0f2.
Tested this on Arch and Debian Buster both running Gnome.

Could you please report a bug? https://unity3d.com/unity/qa/bug-reporting

I have the same problem too. I used AZERTY (French Keyboard)
Ubuntu 2019.10

For the time being, you can resolve it by adding a custom shortcut. Go to Edit, Shorcut ans add the shortcut you want for Undo

Any news on this? Same problem here with an azerty french keyboard layout : I have to Ctrl+W for Ctrl+Z, Ctrl+Q for Ctrl+A, still, when I type a name for a gameobject, a string value or whatever, no problem, A is A, Q is Q etc.

Ubuntu 18.04
Unity 2018.4.17f1

I complained about that some time ago. It appears that it’s a known bug that is still to be fixed. It won’t be fixed in old versions though. Maybe it will in LTS versions and 2020.

In the meantime, just remap your shortcuts (Edit)Shortcuts…) so that if feels like to you that you are using Ctrl+Z and the other keys. That’s what I did, in the shortcuts setting Ctrl+z becomes Ctrl+w but I actually use Ctrl+z on my keyboard. :slight_smile:


It looks like we have a fix for this issue coming to 2020.2a16

I can’t say anything about whether or not this will get backported yet, although it’s rather unlikely since Linux is not officially supported yet.

It seems to be fixed but now the space bar is not recognized, at least it isn’t in a18.

How to reproduce:

  • create a new empty project with 2020.2.0a18,
  • add the following script to the camera and press Play.
using UnityEngine;

public class Test : MonoBehaviour
    // Start is called before the first frame update
    private void Start()
        Debug.Log("Hello, World!");

    // Update is called once per frame
    private void Update()
        if (Input.GetKeyDown(KeyCode.Space))
            Debug.Log("The space bar has been pressed.");
        if (Input.GetKeyDown(KeyCode.A))
            Debug.Log("The A key has been pressed.");


Today I made a script that fix the CTRL+ issue on my unity 2019.4.20f1.
Here is the link
Feel free to copy paste it in your projects to see if it solve your problem.

Script: https://gist.github.com/benbenmushi/0dd60839384908ce2d9b3d188df2c9ce