Well, it might help at some point, but it certainly wouldn't suffice to enable me using inkey() for LBGUI keeping all features for the editboxes.
The first problem would be that I'm pretty sure that inkey accepts more than one key per frame, right? So if I'm unlucky, I might just miss a backspace.
Also, it would be no real solution to disable backspaces, because it would still remove the last character of the inkey string, and there would be no way to prevent that, especially not if the last character and the inkey were hit in the same frame.
I think the easiest solution would be a list / an array that keeps the last, let's say 32 inputs of the inkey() function and a variable that keeps track of how many inputs were made.
For example, if I'd write "Gamestudio", then delete the "o", then write "^^" I'd get the following list:
"G","a","m","e","s,"t",u","d","i","o",backspace,"^^"
For the backspace or other keys, you could maybe use special characters or a wrapper struct.
That would have the advantage that I wouldn't have to change so much in the code, as I could just use the inputs like the inchar returns. I could make my editbox ignore the backspace. Also, I wouldn't have to care where the inkey cursor is and I don't have to interpret what's in the inkey string, I'd just get the left-arrow/right-arrow events and could handle them like I already do.
This would work even better if there was a way to make the abort keys (like enter, ESC, F1-12) not abort inkey, so I can handle these myself.
I'd also like to be able to make inkey not disable any key variables or events.