added another tweak to this fix, now handles backspace properly, space works properly, return doesn't produce oddities.