I am using QWERTZ with Czech layout and to write certain characters like { and } I have to press down option, however in my emacs (using the emacsformacosx version) the option key is bound to the Meta key.

In my ~/.emacs.d/init.el file I added the following lines:

;;; To unset the M-
(global-unset-key (kbd "M-+"))
(global-unset-key (kbd "M-ě"))
(global-unset-key (kbd "M-š"))
(global-unset-key (kbd "M-č"))
(global-unset-key (kbd "M-ř"))
(global-unset-key (kbd "M-ž"))
(global-unset-key (kbd "M-ý"))
(global-unset-key (kbd "M-á"))
(global-unset-key (kbd "M-í"))
(global-unset-key (kbd "M-é"))

however this does not work and I still keep getting the M-<key> is undefined in my buffer.

I tried escaping the characters, but it did not work either, what is the correct approach to unset these key combinations?

Thank you very much

1 Answer 1


If those keys were defined in Emacs' global keymap then you would be unsetting them correctly, but the end result would be the same -- Emacs is receiving events it interprets as (say) M-+ and it would tell you that nothing is bound to that key.

I.e. you're trying to unbind keys which aren't bound to start with, so the result doesn't change.

It's your OS which is failing to send { to Emacs.

What you ideally want to do is tell your OS to send Emacs { instead of M-<something>, but I can't advise you how to do that.

A less-ideal workaround would be to define those keys in Emacs to produce the desired result.


(global-set-key (kbd "M-+") "{")

Or perhaps:

(define-key input-decode-map (kbd "M-+") "{")
  • Oh, but thats ideal! I will use this for all characters I need to remap :-). It did not occur to me, that what you described was in fact the problem, but it maked a huge sense now. Thank you sir!
    – Raymond_90
    Commented Feb 22, 2021 at 11:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.