Go to the first, previous, next, last section, table of contents.

How do I use commands bound to C-s and C-q (or any key) if these keys

 are filtered out?

I suggest swapping C-s with C-\ and C-q with C-^:

  (swap-keys ?\C-s ?\C-\\)
  (swap-keys ?\C-q ?\C-^)

See section How do I "swap" two keys? for the implementation of swap-keys. This method has the advantage that it simultaneously swaps the characters everywhere throughout Emacs, while just switching the keybindings will miss important places where the character codes are stored (eg., the search-repeat-char variable, major mode keymaps, etc.).

To do this for an entire site, you may want to swap the keys in lisp/default.el. If only some of your users are connecting through XON/XOFF flow-controlled connections, you will want to do this conditionally. I suggest pre-swapping them in lisp/site-init.el when Emacs is built, and then in lisp/default.el, if it is determined to be safe, they can be reenabled (being careful not to screw up any other key mappings users might have established using keyboard-translate-table). See section How do I handle C-s and C-q being used for flow control? for an easy way to pre-swap these keys.

WARNING: If you do this for an entire site, the users will be confused by the disparity between what the documentation says and how Emacs actually behaves.


Go to the first, previous, next, last section, table of contents.