On Fri, Feb 04, 2011 at 07:14:29PM +0100, Bram Moolenaar wrote: > Graywh wrote: > > > Please fix vim's input queue mechanism with key info structures a.la > > libtermkey so that LeoNerd can fix terminal input and Gvim and > > everyone will be happy. Thanks. > > Send me a patch and I'll look into it. > > If you want a more useful response, use your real name and include more > information about what you actually want, what system, etc.
Hi Bram, I would like this. For all systems. Everywhere. This is a large undertaking. This isn't a "send me a patch" request. I am talking about ripping out the byte-queue input system and replacing it with a structured keypress queue. The lot. Everything. Remove the "stuck in the 1970s all the world is a DEC-style glass virtual terminal" input queue, and replace it with one that has structures; remembers modifiers, etc.. With a structure we can properly represent "Ctrl-I" as being the letter I with a control key, totally separate from the Tab. Having done this, we can feed in the input events from a terminal in EXACTLY the same way it currently works. We can take events out to match them up to map/etc.. much neater. We can feed events in from GTK or similar GUIs, without having to go near legacy 1970s terminal technology, meaning that GTK (et.al) users can map Tab, Ctrl-I and Ctrl-Shift-I, all independently of each other. Having done this, I can then quite easily send you a patch to use libtermkey if that is wanted, because then it will be able to recognise Tab, Ctrl-I and Ctrl-Shift-I even over terminal from a properly-configured xterm. But that is PURELY an extension mechanism. My primary request is to fix the underlying queue mechanism. This is an issue that has been dragging on for years now - 7 or 8 years by my count. 7 or 8 years I have been sitting in #vim on Freenode; in all that time almost every week we'll get someone or other asking how they can map some key or other, that we have to keep explaining "No, sorry, you can't. Not even in GTK.". I am happy to sit and discuss it with you for potentially hours if necessary. What I cannot do is "send a patch" - it's not a small simple few-lines fix like that. I think it is about time we ended this unfortunate situation, and properly fixed the real underlying mechanism. Yours, with my real name, -- Paul "LeoNerd" Evans [email protected] ICQ# 4135350 | Registered Linux# 179460 http://www.leonerd.org.uk/
signature.asc
Description: Digital signature
