Bram Moolenaar wrote:
[snip]
Then we need a way to make the extra information available to be used in
mappings, without breaking it for users relying on the current way.

Some things that are no acceptable:
- Have a setting to enable "the new way".  This will break existing
   stuff and make users pull their hair out because they don't know this
   setting exists.  Forget it.
- Change the input queue from a stream of bytes to some list of structs.
   This isn't adding any functionality and breaks all kinds of mapping
   and termcode handling, register execution, etc.  Forget it.

What we can do is extend the existing modifier byte sequence.  This is a
bit tricky, but it should work.  So we add a new byte sequence with the
raw key encoded, plus modifiers.  Thus for CTRL-[ you get the [ key with
the CTRL modifier.
[snip]

Another way to extend this might be to switch from a byte queue to a short integer queue. The lower 8-bits would be as it is now; the upper eight bits would encode modifier keys (shift, ctrl, alt, meta, whatever).

Regards,
Chip Campbell

--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui