From 184d0b6fcc479e0bc52d32da5abac9c96c3380df Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 8 Jul 2019 21:18:06 +0000 Subject: [PATCH] Work on the whole DEL = backspace thing a bit, making it "less hostile". --- src/sbbs3/newuser.cpp | 1 - src/sbbs3/useredit.cpp | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp index 1acaa8cf35..507b1ac9d8 100644 --- a/src/sbbs3/newuser.cpp +++ b/src/sbbs3/newuser.cpp @@ -184,7 +184,6 @@ BOOL sbbs_t::newuser() bprintf(text[InvalidBackspaceKeyFmt], key, key); if(text[ContinueQ][0] && !yesno(text[ContinueQ])) return FALSE; - newline(); } } diff --git a/src/sbbs3/useredit.cpp b/src/sbbs3/useredit.cpp index cb179eafde..a1f171e0c4 100644 --- a/src/sbbs3/useredit.cpp +++ b/src/sbbs3/useredit.cpp @@ -941,10 +941,20 @@ void sbbs_t::maindflts(user_t* user) user->misc|=NO_EXASCII; else user->misc&=~NO_EXASCII; - if(!noyes(text[SwapDeleteKeyQ])) - user->misc|=SWAP_DELETE; - else - user->misc&=~SWAP_DELETE; + user->misc &= ~SWAP_DELETE; + while(text[HitYourBackspaceKey][0] && !(user->misc&SWAP_DELETE) && online) { + bputs(text[HitYourBackspaceKey]); + uchar key = getkey(K_NONE); + bprintf(text[CharacterReceivedFmt], key, key); + if(key == '\b') + break; + if(key == DEL) { + if(text[SwapDeleteKeyQ][0] == 0 || yesno(text[SwapDeleteKeyQ])) + user->misc |= SWAP_DELETE; + } + else + bprintf(text[InvalidBackspaceKeyFmt], key, key); + } } if(sys_status&SS_ABORT) break; -- GitLab