diff --git a/src/uifc/uifc.h b/src/uifc/uifc.h
index d40c823b3976b9dc6253603527f73d0bc5876dc3..da7220b3b1aae0d3b1d3d2b41ff2f8b471bac90b 100644
--- a/src/uifc/uifc.h
+++ b/src/uifc/uifc.h
@@ -1,7 +1,5 @@
 /* Text-mode User Interface Library (inspired by Novell SYSCON look & feel) */
 
-/* $Id: uifc.h,v 1.97 2020/08/16 20:37:08 rswindell Exp $ */
-
 /****************************************************************************
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
@@ -15,21 +13,9 @@
  * See the GNU Lesser General Public License for more details: lgpl.txt or	*
  * http://www.fsf.org/copyleft/lesser.html									*
  *																			*
- * Anonymous FTP access to the most recent released source is available at	*
- * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net	*
- *																			*
- * Anonymous CVS access to the development source and modification history	*
- * is available at cvs.synchro.net:/cvsroot/sbbs, example:					*
- * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login			*
- *     (just hit return, no password is necessary)							*
- * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src		*
- *																			*
  * For Synchronet coding style and modification guidelines, see				*
  * http://www.synchro.net/source.html										*
  *																			*
- * You are encouraged to submit any modifications (preferably in Unix diff	*
- * format) via e-mail to mods@synchro.net									*
- *																			*
  * Note: If this box doesn't appear square, then you need to fix your tabs.	*
  ****************************************************************************/
 
@@ -346,7 +332,8 @@ typedef struct {
 /****************************************************************************/
 /* Controls general UIFC library behavior.									*/
 /****************************************************************************/
-    long    mode;
+    int		mode;
+    int		kmode;
 /****************************************************************************/
 /* Set to TRUE when changes to data have been made by input function.		*/ 
 /****************************************************************************/
diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index f5c36d254f80f464f9f7497b62afc1e7ff67d6ec..97f35d48eb27564659d9824bb480069a259f686b 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -2135,6 +2135,8 @@ int ugetstr(int left, int top, int width, char *outstr, int max, long mode, int
 	char	*pastebuf=NULL;
 	unsigned char	*pb=NULL;
 
+	mode |= api->kmode; // Global keyboard input mode flags (e.g. K_TRIM)
+
 	api->exit_flags = 0;
 	if((str=alloca(max+1))==NULL) {
 		cprintf("UIFC line %d: error allocating %u bytes\r\n"