I have asked a question about Ctrl-arrow keybinding in Emacs in terminal:
Emacs Ctrl modifiers don't work in console
And was told, that Linux terminal emulator doesn’t process this combination. I managed to create a file for loadkeys command, that processes these keys:
control keycode 105 = F100
string F100 = "\033[[left"
control keycode 106 = F101
string F101 = "\033[[right"
Then loaded it from root:
#loadkeys ./funcskeys
After that every time I click Ctrl-right or Ctrl-left in console, I get ‘right’ or ‘left’ printed. Now I need to process this in Emacs. As far as I understand from this question:
Binding M-<up> / M-<down> in Emacs 23.1.1
it must be done, using input-decode-map function. But I couldn’t make it work. Plz, help.
Change your “funcskeys” file slightly to produce the following escape sequences:
Then add the following lines to your
.emacsfile:After running
loadkeysand restarting Emacs, CTRL+left and CTRL+right should work. You can verify this by typing:C-h k C-right
and
C-h k C-left
To actually bind these keystrokes to a command, such as
forward-word, you might have to add the following lines to your.emacsfile as well:Note that this whole approach specifically only makes the key combinations CTRL+left and CTRL+right work. It does not for instance make ALT+left / ALT+right work, or any other key combinations involving the CTRL character.