OSX layer keybindings should be applied on macOS no matter it is in GUI
mode or not. Otherwise the keybindings won't be applied if Emacs is
launched in daemon mode.
The purpose of this PR is to set the default for ⌘ to `hyper' and to provide the
function `kbd-mac-command` to replace `kbd' when defining keybindings for ⌘ in
case someone decides to explicitly set osx-command-as to `super' or `alt'.
There are problems setting osx-command-as to `alt' and `super',
so we use `hyper' as a default instead because, for example:
- Using `alt': Command-x or Command-m inserts, respectively: × µ
- Using `super': Control-Command-f produces keycode: <C-s-268632078>
Setting to `hyper' seems to avoid both types of the above problems.
Also, while it is possible, it is not recommended to set to `meta'
since standard OSX shortcuts would overshadow important keys such
as M-x.
Two other small changes include:
- Commenting out the code that defines <C-s-268632078> (C-s-f) since it is
unnecessary if we use `hyper' as the default; and if we really want to use
`super' then we should figure out how to solve the weird keycode issue.
- add keybinding for ⌘` (Command-backtick) to `other-window'.
Emacs usually swallows this keystroke, so other-window basically restores
the default behavior that most Mac OSX users would expect.