From 549a4f3c2f937dde900672ebff6ed605f8c9043d Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Thu, 23 Jul 2020 21:06:59 +0200 Subject: Add option "KeyboardInputDelay" in DcsProp to control the minimum delay supported between two key strokes (default is 100 ms) --- Library/PasswordLib/ConsolePassword.c | 5 +++-- Library/PasswordLib/PicturePassword.c | 1 + Library/VeraCryptLib/DcsVeraCrypt.c | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'Library') diff --git a/Library/PasswordLib/ConsolePassword.c b/Library/PasswordLib/ConsolePassword.c index 8588a19..8270290 100644 --- a/Library/PasswordLib/ConsolePassword.c +++ b/Library/PasswordLib/ConsolePassword.c @@ -50,8 +50,9 @@ AskConsolePwdInt( do { key = GetKey(); - // Remove dirty chars 0.1s - FlushInputDelay(100000); + // Remove dirty chars + if (gKeyboardInputDelay) + FlushInputDelay(gKeyboardInputDelay * 1000); if (key.ScanCode == SCAN_ESC) { *retCode = AskPwdRetCancel; diff --git a/Library/PasswordLib/PicturePassword.c b/Library/PasswordLib/PicturePassword.c index aef71ab..7ce4014 100644 --- a/Library/PasswordLib/PicturePassword.c +++ b/Library/PasswordLib/PicturePassword.c @@ -32,6 +32,7 @@ UINT8 gPasswordVisible = 0; int gPasswordShowMark = 1; UINT8 gPasswordProgress = 1; int gPasswordTimeout = 0; +UINTN gKeyboardInputDelay = 100; int gPlatformLocked = 0; int gTPMLocked = 0; diff --git a/Library/VeraCryptLib/DcsVeraCrypt.c b/Library/VeraCryptLib/DcsVeraCrypt.c index d3eecef..e51c560 100644 --- a/Library/VeraCryptLib/DcsVeraCrypt.c +++ b/Library/VeraCryptLib/DcsVeraCrypt.c @@ -150,6 +150,7 @@ VCAuthLoadConfig() gPasswordVisible = (UINT8)ConfigReadInt("AuthorizeVisible", 0); // show chars gPasswordShowMark = ConfigReadInt("AuthorizeMarkTouch", 1); // show touch points gPasswordTimeout = (UINT8)ConfigReadInt("PasswordTimeout", 180); // If no password for => + gKeyboardInputDelay = (UINTN)ConfigReadInt("KeyboardInputDelay", 100); // minimum number of ms between two valid key strokes, anything between is discarded gDcsBootForce = ConfigReadInt("DcsBootForce", 1); // Ask password even if no USB marked found. -- cgit v1.2.3