...could you explain what you mean by that?
oh. it's because I mixed together physical key codes with name-based key codes. So the key in the W position would be responsible for up, but the key with Z *on it* would be responsible for undo.
I thought that would work, but I never thought about how Z could be in the position of W on AZERTY keyboards. Oops, I changed undo to be physical, that should fix the problem.