You've already forked edk2-platforms
mirror of
https://github.com/Dasharo/edk2-platforms.git
synced 2026-03-06 14:51:43 -08:00
VirtualKeyboardFeaturePkg: Pre OS virtual keyboard touch response are very slow with I2C touch panel
On one Touch, multiple Reads happend and this reads varying based on Key Press time. Resulting in Multiple key press update on screen. This condition avoids KeyPressed skips resulting due to faster key press and update only on valid key press. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Madhan Pethaiyan <madhan.pethaiyan@intel.com> Cc: Kathappan Esakkithevar <kathappan.esakkithevar@intel.com> Cc: Madhusudhan Balaji <madhusudhan.balaji@intel.com> Signed-off-by: KalaiyarasanX Thangaraj <kalaiyarasanx.thangaraj@intel.com> Reviewed-by:Balaji, Madhusudhan madhusudhan.balaji@intel.com Reviewed-by: Dandan Bi <dandan.bi@intel.com>
This commit is contained in:
committed by
dandan bi
parent
c45155be7b
commit
d09dafd0b9
@@ -512,6 +512,18 @@ VkTimer (
|
||||
if (!VkContext->TouchActive) {
|
||||
VkContext->KeyPressed = FALSE;
|
||||
}
|
||||
|
||||
//
|
||||
// On one Touch, multiple Reads happend and this reads varying based on Key Press time.
|
||||
// Resulting in Multiple key press update on screen. This condition avoids KeyPressed skips
|
||||
// resulting due to faster key press and update only on valid key press.
|
||||
//
|
||||
if ((Point.CurrentX != VkContext->PreviousX) || (Point.CurrentY != VkContext->PreviousY)) {
|
||||
VkContext->KeyPressed = FALSE;
|
||||
}
|
||||
VkContext->PreviousX = Point.CurrentX;
|
||||
VkContext->PreviousY = Point.CurrentY;
|
||||
|
||||
ConvertCoordinate (VkContext, Point, &TouchX, &TouchY);
|
||||
|
||||
if (!VkContext->KeyPressed &&
|
||||
|
||||
+6
@@ -373,6 +373,12 @@ struct _VK_CONTEXT {
|
||||
BOOLEAN IsRedrawUpdateUI;
|
||||
VK_PAGE_TYPE PageNumber;
|
||||
LIST_ENTRY NotifyList;
|
||||
|
||||
///
|
||||
/// Previous X and Y axis Buffer
|
||||
///
|
||||
UINTN PreviousX;
|
||||
UINTN PreviousY;
|
||||
};
|
||||
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user