bug#23171: 25.0.92; Key binding conventions for all modifiers

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#23171: 25.0.92; Key binding conventions for all modifiers

Philipp Stephani

The manual entry "Key binding conventions" talks only about a small
subset of possible key bindings, such as the C-c prefix and the function
keys.  Keys with Meta, Super, Hyper, and Alt are not documented.  The
manual should contain conventions/rules for all possible keys.



In GNU Emacs 25.0.92.1 (x86_64-apple-darwin15.4.0, NS appkit-1404.46 Version 10.11.4 (Build 15E65))
 of 2016-03-25 built on p
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
 'configure --prefix=/usr/local/Cellar/emacs/25.0.92
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/25.0.92/share/info/emacs --with-xml2
 --with-dbus --with-gnutls --with-rsvg --with-imagemagick
 --without-popmail --with-ns --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS NS

Important settings:
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Markdown

Minor modes in effect:
  electric-pair-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  save-place-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  xterm-mouse-mode: t
  show-paren-mode: t
  server-mode: t
  global-hl-line-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  global-company-mode: t
  company-mode: t
  global-auto-revert-mode: t
  display-battery-mode: t
  desktop-save-mode: t
  auto-insert-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-quote-mode: t
  electric-layout-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company hides /usr/local/share/emacs/site-lisp/company-mode/company
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-yasnippet hides /usr/local/share/emacs/site-lisp/company-mode/company-yasnippet
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-xcode hides /usr/local/share/emacs/site-lisp/company-mode/company-xcode
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-tempo hides /usr/local/share/emacs/site-lisp/company-mode/company-tempo
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-template hides /usr/local/share/emacs/site-lisp/company-mode/company-template
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-semantic hides /usr/local/share/emacs/site-lisp/company-mode/company-semantic
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-oddmuse hides /usr/local/share/emacs/site-lisp/company-mode/company-oddmuse
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-nxml hides /usr/local/share/emacs/site-lisp/company-mode/company-nxml
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-keywords hides /usr/local/share/emacs/site-lisp/company-mode/company-keywords
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-ispell hides /usr/local/share/emacs/site-lisp/company-mode/company-ispell
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-gtags hides /usr/local/share/emacs/site-lisp/company-mode/company-gtags
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-files hides /usr/local/share/emacs/site-lisp/company-mode/company-files
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-etags hides /usr/local/share/emacs/site-lisp/company-mode/company-etags
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-elisp hides /usr/local/share/emacs/site-lisp/company-mode/company-elisp
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-eclim hides /usr/local/share/emacs/site-lisp/company-mode/company-eclim
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-dabbrev hides /usr/local/share/emacs/site-lisp/company-mode/company-dabbrev
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-dabbrev-code hides /usr/local/share/emacs/site-lisp/company-mode/company-dabbrev-code
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-css hides /usr/local/share/emacs/site-lisp/company-mode/company-css
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-cmake hides /usr/local/share/emacs/site-lisp/company-mode/company-cmake
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-clang hides /usr/local/share/emacs/site-lisp/company-mode/company-clang
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-capf hides /usr/local/share/emacs/site-lisp/company-mode/company-capf
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-bbdb hides /usr/local/share/emacs/site-lisp/company-mode/company-bbdb
/Users/p/.emacs.d/elpa/25.0/company-20160325.1650/company-abbrev hides /usr/local/share/emacs/site-lisp/company-mode/company-abbrev
/Users/p/.emacs.d/elpa/25.0/dash-20160306.1222/dash hides /usr/local/share/emacs/site-lisp/dash-emacs/dash
/Users/p/.emacs.d/elpa/25.0/epl-20150517.433/epl hides /usr/local/share/emacs/site-lisp/epl/epl
/Users/p/.emacs.d/elpa/25.0/f-20160306.447/f hides /usr/local/share/emacs/site-lisp/f/f
/Users/p/.emacs.d/elpa/25.0/flycheck-20160328.751/flycheck hides /usr/local/share/emacs/site-lisp/flycheck/flycheck
/Users/p/.emacs.d/elpa/25.0/flycheck-20160328.751/flycheck-ert hides /usr/local/share/emacs/site-lisp/flycheck/flycheck-ert
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/w3m-haddock hides /usr/local/share/emacs/site-lisp/haskell-mode/w3m-haddock
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/inf-haskell hides /usr/local/share/emacs/site-lisp/haskell-mode/inf-haskell
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/highlight-uses-mode hides /usr/local/share/emacs/site-lisp/haskell-mode/highlight-uses-mode
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-utils hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-utils
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-unicode-input-method hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-unicode-input-method
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-string hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-string
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-sort-imports hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-sort-imports
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-session hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-session
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-sandbox hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-sandbox
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-repl hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-repl
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-process hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-process
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-presentation-mode hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-presentation-mode
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-navigate-imports hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-navigate-imports
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-move-nested hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-move-nested
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-modules hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-modules
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-mode hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-mode
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-mode-pkg hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-mode-pkg
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-mode-autoloads hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-mode-autoloads
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-menu hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-menu
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-load hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-load
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-lexeme hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-lexeme
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-interactive-mode hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-interactive-mode
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-indentation hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-indentation
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-indent hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-indent
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-hoogle hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-hoogle
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-font-lock hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-font-lock
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-doc hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-doc
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-decl-scan hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-decl-scan
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-debug hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-debug
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-customize hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-customize
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-completions hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-completions
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-complete-module hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-complete-module
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-compile hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-compile
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-compat hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-compat
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-commands hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-commands
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-collapse hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-collapse
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-checkers hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-checkers
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-cabal hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-cabal
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/haskell-align-imports hides /usr/local/share/emacs/site-lisp/haskell-mode/haskell-align-imports
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/ghci-script-mode hides /usr/local/share/emacs/site-lisp/haskell-mode/ghci-script-mode
/Users/p/.emacs.d/elpa/25.0/haskell-mode-20160330.629/ghc-core hides /usr/local/share/emacs/site-lisp/haskell-mode/ghc-core
/Users/p/.emacs.d/elpa/25.0/markdown-mode-20160330.28/markdown-mode hides /usr/local/share/emacs/site-lisp/markdown-mode/markdown-mode
/Users/p/.emacs.d/elpa/25.0/pkg-info-20150517.443/pkg-info hides /usr/local/share/emacs/site-lisp/pkg-info/pkg-info
/Users/p/.emacs.d/elpa/25.0/yaml-mode-20160220.340/yaml-mode hides /usr/local/share/emacs/site-lisp/yaml-mode/yaml-mode

Features:
(shadow mail-extr emacsbug sendmail files-x markdown-mode tempo quail
inf-haskell haskell-decl-scan imenu haskell haskell-completions
haskell-load haskell-commands highlight-uses-mode haskell-modules
haskell-sandbox haskell-repl haskell-debug haskell-interactive-mode
haskell-presentation-mode haskell-collapse haskell-navigate-imports
haskell-compile haskell-process haskell-session haskell-hoogle
haskell-cabal haskell-utils haskell-font-lock haskell-indentation
haskell-lexeme epl warnings pulse let-alist tar-mode doc-view image-mode
profiler rect descr-text ert ewoc finder skeleton magit-extras checkdoc
pcmpl-unix pcmpl-gnu elec-pair iso-transl debug paredit autoload
lisp-mnt mm-archive network-stream nsm starttls url-cache url-handlers
dired-aux find-dired view linum magit-version magit-blame magit-stash
magit-bisect magit-remote magit-commit magit-sequence magit magit-apply
magit-wip magit-log magit-diff smerge-mode magit-core magit-autorevert
magit-process magit-popup magit-mode magit-git magit-section magit-utils
git-commit log-edit message rfc822 mml mml-sec epg mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader pcvs-util with-editor
async-bytecomp async tramp-sh tramp tramp-compat tramp-loaddefs trampver
shell pcomplete format-spec pp character-fold misearch multi-isearch
jka-compr eieio-opt speedbar sb-image ezimage dframe tex-info texinfo
bug-reference add-log make-mode cc-mode cc-fonts cc-guess cc-menus
cc-styles cc-align dired autoconf autoconf-mode vc vc-dispatcher vc-git
diff-mode term disp-table ehelp closure-template-html-mode derived
sgml-mode apropos align golint go-mode find-file cus-edit company-ycmd
cc-cmds cc-engine cc-vars cc-defs ycmd ycmd-request-deferred
ycmd-request url-http tls gnutls url-auth mail-parse rfc2231 rfc2047
rfc2045 ietf-drums url-gw url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap popup
json map hmac-def hex-util deferred haskell-mode haskell-string
haskell-sort-imports haskell-align-imports haskell-compat
haskell-complete-module noutline outline flymake dabbrev
haskell-customize easy-mmode flyspell ispell whitespace company-go
clang-format xml phst ffap thingatpt url-parse auth-source
password-cache url-vars font-latex tex crm advice tex-site auto-loads
ruby-mode smie yaml-mode browse-url misc f s saveplace company-files
company-oddmuse company-keywords company-etags etags xref project eieio
eieio-core cl-macs company-gtags company-dabbrev-code company-dabbrev
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
go-snippets haskell-yas cl-seq yasnippet cl xt-mouse paren server ido
seq byte-opt gv bytecomp byte-compile cconv cl-extra grep compile comint
ansi-color ring gnus gnus-ems nnheader gnus-util mail-utils mm-util
help-fns mail-prsvr wid-edit hl-line flycheck find-func help-mode rx
subr-x dash company edmacro kmacro autorevert filenotify battery desktop
frameset cl-loaddefs pcase cl-lib autoinsert cus-start cus-load sort
finder-inf go-mode-autoloads info package easymenu epg-config time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel ns-win ucs-normalize term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame
cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind kqueue cocoa
ns multi-tty make-network-process emacs)

Memory information:
((conses 16 1220425 559819)
 (symbols 48 64297 2)
 (miscs 40 10201 15819)
 (strings 32 201882 86170)
 (string-bytes 1 6643934)
 (vectors 16 114997)
 (vector-slots 8 2910602 160376)
 (floats 8 1051 979)
 (intervals 56 128761 10997)
 (buffers 976 186))



Reply | Threaded
Open this post in threaded view
|

bug#23171: 25.0.92; Key binding conventions for all modifiers

Eli Zaretskii
> From: Philipp Stephani <[hidden email]>
> Date: Thu, 31 Mar 2016 19:40:25 +0200
>
> The manual entry "Key binding conventions" talks only about a small
> subset of possible key bindings, such as the C-c prefix and the function
> keys.  Keys with Meta, Super, Hyper, and Alt are not documented.  The
> manual should contain conventions/rules for all possible keys.

I'm not sure I understand the essence of the report.  There's a whole
section (named, unsurprisingly, "Key Bindings") dedicated to key
bindings, and a subsection there named "Modifier Keys" covers all the
modifiers, AFAICT.



Reply | Threaded
Open this post in threaded view
|

bug#23171: 25.0.92; Key binding conventions for all modifiers

Philipp Stephani


Eli Zaretskii <[hidden email]> schrieb am Do., 31. März 2016 um 21:26 Uhr:
> From: Philipp Stephani <[hidden email]>
> Date: Thu, 31 Mar 2016 19:40:25 +0200
>
> The manual entry "Key binding conventions" talks only about a small
> subset of possible key bindings, such as the C-c prefix and the function
> keys.  Keys with Meta, Super, Hyper, and Alt are not documented.  The
> manual should contain conventions/rules for all possible keys.

I'm not sure I understand the essence of the report.  There's a whole
section (named, unsurprisingly, "Key Bindings") dedicated to key
bindings, and a subsection there named "Modifier Keys" covers all the
modifiers, AFAICT.

What I mean is a specification which combinations are reserved for the user, minor modes, and major modes. Context is http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22604, where such an addition was requested for C-c combinations. Here I request one for all keys.
Reply | Threaded
Open this post in threaded view
|

bug#23171: 25.0.92; Key binding conventions for all modifiers

Stefan Kangas
Philipp Stephani <[hidden email]> writes:

> Eli Zaretskii <[hidden email]> schrieb am Do., 31. März 2016 um 21:26 Uhr:
>
>  > From: Philipp Stephani <[hidden email]>
>  > Date: Thu, 31 Mar 2016 19:40:25 +0200
>  >
>  > The manual entry "Key binding conventions" talks only about a small
>  > subset of possible key bindings, such as the C-c prefix and the function
>  > keys.  Keys with Meta, Super, Hyper, and Alt are not documented.  The
>  > manual should contain conventions/rules for all possible keys.
>
>  I'm not sure I understand the essence of the report.  There's a whole
>  section (named, unsurprisingly, "Key Bindings") dedicated to key
>  bindings, and a subsection there named "Modifier Keys" covers all the
>  modifiers, AFAICT.
>
> What I mean is a specification which combinations are reserved for the user, minor modes, and major modes. Context is
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22604, where such an addition was requested for C-c combinations. Here I request
> one for all keys.

Which conventions are we talking about here more specifically?  Could
you enumerate them or give a couple of examples?

Best regards,
Stefan Kangas



Reply | Threaded
Open this post in threaded view
|

bug#23171: 25.0.92; Key binding conventions for all modifiers

Eli Zaretskii
> From: Stefan Kangas <[hidden email]>
> Cc: Eli Zaretskii <[hidden email]>,  [hidden email]
> Date: Fri, 08 Nov 2019 05:51:38 +0100
>
> Philipp Stephani <[hidden email]> writes:
>
> > Eli Zaretskii <[hidden email]> schrieb am Do., 31. März 2016 um 21:26 Uhr:
> >
> >  > From: Philipp Stephani <[hidden email]>
> >  > Date: Thu, 31 Mar 2016 19:40:25 +0200
> >  >
> >  > The manual entry "Key binding conventions" talks only about a small
> >  > subset of possible key bindings, such as the C-c prefix and the function
> >  > keys.  Keys with Meta, Super, Hyper, and Alt are not documented.  The
> >  > manual should contain conventions/rules for all possible keys.
> >
> >  I'm not sure I understand the essence of the report.  There's a whole
> >  section (named, unsurprisingly, "Key Bindings") dedicated to key
> >  bindings, and a subsection there named "Modifier Keys" covers all the
> >  modifiers, AFAICT.
> >
> > What I mean is a specification which combinations are reserved for the user, minor modes, and major modes. Context is
> > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22604, where such an addition was requested for C-c combinations. Here I request
> > one for all keys.
>
> Which conventions are we talking about here more specifically?  Could
> you enumerate them or give a couple of examples?

FWIW, I don't see any need for any further specifications.  The manual
says what keys to reserve; all those which aren't mentioned, including
with modifiers, aren't reserved.