From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web12.3842.1659491456320089931 for ; Tue, 02 Aug 2022 18:50:56 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=CpfpblpQ; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: dandan.bi@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659491456; x=1691027456; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=isFY5vwtIiO/oFgOsxvtoQ22+YCWOWq51KXGEv/QdBY=; b=CpfpblpQtyGNK7yreW4JYmEIH8LDCuDycEO+wdIyVmGrHQgkRYOGxhaQ nalwN4bb9Tn7Dn7L/4TVGef2vrdzMVJaFX/MSy0eqCF/JN3frjFQjUiEK e4jA8EroO/khIOpQK3ejEtO6OlBFSQlvcCs02lOGTMuRieqQ4jsLmY6Ri Jow8XiDaZ6Edowq2MaEdWL2W3ZmDxHIYwh8AvZnzQ9eWBzTFkGSffI+9t cuTQp7dyPqH5avYhaacsE+9KUZxTE1y3s9PFJ2z0ovtZcwkOrJIrKjUSo 51gH8Czh18Vy2OorKXLqw7iGaCT2OUfpfnR+F+d8LvYwo22JjG/TnNRtR g==; X-IronPort-AV: E=McAfee;i="6400,9594,10427"; a="288315676" X-IronPort-AV: E=Sophos;i="5.93,212,1654585200"; d="scan'208,217";a="288315676" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 18:50:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,212,1654585200"; d="scan'208,217";a="602650019" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga002.jf.intel.com with ESMTP; 02 Aug 2022 18:50:55 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 2 Aug 2022 18:50:55 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 2 Aug 2022 18:50:54 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Tue, 2 Aug 2022 18:50:53 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.44) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Tue, 2 Aug 2022 18:50:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aV6xrSJeKuTxoE+EcOSXKpjO6i0kRR1a0f0Uzqi+ZG73O9aM/RGplKYP1L9I8Nzy4L4FgVQAMKaot8OhjqRpbzFFv851+FCxngjiGBjsfCBzo7mPU4aWmj6zOre2kthpA09ikTzCZ+Yxc6s3j+zQ0+kbjrml/sM4vYj5VAI00el6YhfsVfi5mS76Xt94dvoZvikenRLcl+ZNCBqvWeDt7DUrwAXUuvrUy9dHU4tXW6JQJ3r11jCkrQGbprifbA6Fzx9mMvbEMTds/aW+2F+9vMO+EWj40AAKlTrBQvz866UAB4rKXvLZ3KND96iMq1uBIXyl8qaYgkwGB08nkDQdPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=m3e9ywiCMfxCHisDuV/QIFi6ohMdvL3Ddh2gYeG6qgY=; b=XUljGdQZQeEEuWFwjuWxb6nIijzA3P5sT67os/GhZEVGfD5t7tUEx+IKId2kujWQ2abPiMGgs+zB/oNgl4hqgVgl/1rPnA7OKOOVx8yGzQceF6ai4fivojXMGKqTJdTcLT6GnXX8XOt7kERZiurFOli/uuGQVEkDRZ5hByq8KVxkPlBmbRHQfd2CXzuOat8i77t28U9dipmF3sTDIoCsoFEQAIcmPMHD3FEQPMiL2FeUtchlyCFASbWsCkUotIxCtb6+u4DlX4IRs2XEFBlhDGwOqLyJ8tsT/Bb5GqXR6JGKT+35YRTRkwj++eahlf6jyar3SoSsbNMy5DhyroB28g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB5928.namprd11.prod.outlook.com (2603:10b6:510:144::16) by BL0PR11MB3315.namprd11.prod.outlook.com (2603:10b6:208:6c::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.6; Wed, 3 Aug 2022 01:50:51 +0000 Received: from PH0PR11MB5928.namprd11.prod.outlook.com ([fe80::c40d:e9cf:5e20:1595]) by PH0PR11MB5928.namprd11.prod.outlook.com ([fe80::c40d:e9cf:5e20:1595%3]) with mapi id 15.20.5482.014; Wed, 3 Aug 2022 01:50:51 +0000 From: "Dandan Bi" To: "Balaji, Madhusudhan" , "Thangaraj, KalaiyarasanX" , "devel@edk2.groups.io" CC: "Gao, Liming" , "Pethaiyan, Madhan" , "Esakkithevar, Kathappan" Subject: Re: [PATCH 2] VirtualKeyboardFeaturePkg: Pre OS virtual keyboard touch response are very slow with I2C touch panel Thread-Topic: [PATCH 2] VirtualKeyboardFeaturePkg: Pre OS virtual keyboard touch response are very slow with I2C touch panel Thread-Index: AdimUL256+q2mOa5Rju6ks3ALP1MpwAQKHBAABKBm4A= Date: Wed, 3 Aug 2022 01:50:51 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5933f197-29c0-4d79-a90d-08da74f2986e x-ms-traffictypediagnostic: BL0PR11MB3315:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hrkcdbn6iJVdEkqaYw+KgIkWFwjCWLlkK2KiLC1j4wnAEyPqmoF5J4W/O1kzrB7UhjWveoHXBodmAd3Y+kjkv7PNG22/n/Ut5/Mg6RnpInPGhgP2ndPsYpOwvIKvhzezY7oTP0yKSJts3x6jfu7u2380ZFTdWZ8q0F42mWJv+qeeHB01L+SmNN6xIFPONFWlYC6yWBnbeGg9IGETwtD3lRDNY43DWvquG0YCgemAEyg7adbY4nxt1U0F87DF9Lo9NOjzAoqqQqBfrHwg4WwRePazKgwv6Pu5zR2YvtkFDh9FpHDD2FXOYbzXfWatEYcgd8qdyt/gPpoOxObSvd1R3lU93whDf3bn6ce+huOvFR98k0tEERDFsGyujiGPcxbRCv2fLR3xSoIu8WKb8c4E4RTlQ+8+HKKOXjvdXAbqUFKSLWZrcCRiY2GSe7daW+MAfbtuObcqiyoaytsjeZv7LTufwGA8ETSH7S+rUw1ju+LubkrzOTh3jFeMPJ2wuFlKxdboMOEaKV+3P99DK9S+mCGdvXqlsJyoj0VdrGLY80qlDLIGxcQuNRmrbiSi205+zeNSsRM7oHB8bShmqFKp1Zh32T1/iS95Aanxaq5Ck3ZNRyNXInx3GDfKc2ZlJibLXhKoHMHgkVDiPLhc3sj3MF1Mul4ArasZX6hg1s93e99kxuRiGFyUIn9+dD+Uch1pONgnTJq4jPJYJt4x8kfsAE9ZQvPLo/k7om5l7PPdJlSLtrj+iGMFPolEErjY+Mzzw0NFJiykWJQh45EGhjwKviN1FaVPt8/ejV2c1qXUpwYwGu+5lzaYjrS4+Kyzkzsn x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5928.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(136003)(366004)(39860400002)(396003)(376002)(66476007)(52536014)(76116006)(316002)(54906003)(66446008)(66946007)(110136005)(55016003)(66556008)(38070700005)(33656002)(64756008)(71200400001)(83380400001)(478600001)(2906002)(4326008)(8936002)(8676002)(41300700001)(26005)(9686003)(6506007)(7696005)(86362001)(186003)(122000001)(38100700002)(5660300002)(53546011)(107886003)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?RLiehw+AVxyrPc08PgxYWeMJvCF85NA1QTak1wn/GTMJVZxUlaEt1Zl4A7KY?= =?us-ascii?Q?b7yYgIDE9HCrreGv1BxURyOwB+165ujwltU3gSlZXl6XUq578JwhSrlIJ3O6?= =?us-ascii?Q?vu4FkTDTmtsumqMOZncry0bHQNNKVhVR3G6fM17MwgbTxMuQxNOJO7Vzx5Of?= =?us-ascii?Q?YndvPYPIBwSohEzdyo4G98AaDqI3uGKi/QgPgJKGVvCsf/TGxPCKq7qfxD6G?= =?us-ascii?Q?waT/IzFOgsfKfc6fpI4XBLyAfcybsJFxY5IQCBRfq9e0d2aQ5qtwFDVKSwWs?= =?us-ascii?Q?3wuKpa+1jVfZa32DwS/5I24JGGUdLYP2xSfkYPdoWKLVNje2yGh1Mer1I5/I?= =?us-ascii?Q?MOuPt0oDmYD/9YSvivta2hbEBbAdt+hR5Uc3oq3buKMCYioRw65+dEQzXuPJ?= =?us-ascii?Q?MGlubSRAMT4RFfVXHJ2Z8r7hZuKT9n/iFPAULkSJm9EUTZ+CN/rT+y4KcWxO?= =?us-ascii?Q?LEkfQhu7cY7r9b/5mHmaHAmQwOzjRqDZH/nAoEshsoG41wcXRThQhFV446tk?= =?us-ascii?Q?FfjYtMuoCccFQac0rwybaOYwBh1hjHCBkhL7bcqZhQA3SXWDWYs5wIFTu0t8?= =?us-ascii?Q?Uevz0FkJXxLZmjSgQZMErDtfmmN61Vc7u5nBWCZAZt+XBdDrIySqTdeianhT?= =?us-ascii?Q?r7qM6RJzKvPcmyVqD535uRkEwqZdIU6WXMI1eJzemfiy+bkKtdMJsLJG6c7Q?= =?us-ascii?Q?raKvjURVWIL0HQbe4Z8LvsCASzqGoJu9oy2H508crhifIJKr661iGGwvkb/7?= =?us-ascii?Q?PtQY/p6zir5wLbTDFawHa02AV/bQCPjsMVyGhhIdBE4mnovcMKvBre49SLoF?= =?us-ascii?Q?3w0Qu04PN8uZqcdzL24e9lWQXCyFRUh1jTNbO5+pa2p1PKV9SUHssxoPWGl/?= =?us-ascii?Q?vZ8qJvEiOyaTfccMCgKpzy2c1x98Q9AmXQl6PpxbmG4KuAGzNHVnbe5xLPBi?= =?us-ascii?Q?SR3Q/Djzl5EcRoJeUHnZNwepO9suuqERmx5r8TGSxfZ55tErK+NrzExarA+y?= =?us-ascii?Q?I6SPcR7ijMYZNDkOlzbWsmyV1FRHXc4cBX50gPGnyOUb2UQloYMcXBOAJdQm?= =?us-ascii?Q?NWyBuMc36RA+tZI6X23tsLWWw/DIVLz72uc9r0RQQD3HihuFXjoSt8ot1jU1?= =?us-ascii?Q?dXaUpmn9+iGQkYjP8Tmk+B5D7epu0wA0rq4xjCvE585uGZiQLDNRIFRLfplP?= =?us-ascii?Q?ktYeun5nDE7NjlZFU+Dh4n4McOoROvtOzl+K9xMaCFognSZQdr5nmLHNzAvs?= =?us-ascii?Q?ENvdoglxofti3vW95zS/28axfh0RkKpcYcSnWBXUUVwdlZgmTg59SiHrpoQ6?= =?us-ascii?Q?vpA5LW5ek0WQ2BLoE4nR0+/TqBAXjk2x4KP3l87ppXYXAVol/qle4A+p0baU?= =?us-ascii?Q?SH6N9oww0D8OnBxeduUcolMpa8+Q/jD80yf0p/zI/E2tfHWpeNtVC4eEtVkF?= =?us-ascii?Q?ItoLo+mFhZvZOW8gCTips6z3yo3TXAxxmxnCSevg4Q5xFdEVMt9QbPjPG598?= =?us-ascii?Q?C65UW5IiG6x6MYAHvjH1KUKeZO/apFqU3AMkONEA1xDZKEZw9O43xDUQYvJD?= =?us-ascii?Q?fO4GYd3eyA/9nCnYYXOndLL9j22XchXhjSnk7Mb/?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5928.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5933f197-29c0-4d79-a90d-08da74f2986e X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2022 01:50:51.4330 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CvKeoc/xRZlPxUi7VLaCLd970ACopudFkAvpvngr5Y3UICGJgy4SbYlrnbLjtT2DRokrSJru+nb+/25Q7aZHUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3315 Return-Path: dandan.bi@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_PH0PR11MB592871985CB83F91EA651AD1EA9C9PH0PR11MB5928namp_" --_000_PH0PR11MB592871985CB83F91EA651AD1EA9C9PH0PR11MB5928namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Dandan Bi > Thanks, Dandan From: Balaji, Madhusudhan Sent: Wednesday, August 3, 2022 1:02 AM To: Thangaraj, KalaiyarasanX ; devel@edk= 2.groups.io Cc: Bi, Dandan ; Gao, Liming ; Pethaiyan, Madhan ; Esakkithevar, Kathappan = ; Balaji, Madhusudhan Subject: RE: [PATCH 2] VirtualKeyboardFeaturePkg: Pre OS virtual keyboard t= ouch response are very slow with I2C touch panel --------- Reviewed-by:Balaji, Madhusudhan madhusudhan.balaji@intel.com -------------- From: Thangaraj, KalaiyarasanX > Sent: Tuesday, August 2, 2022 2:49 PM To: devel@edk2.groups.io Cc: Thangaraj, KalaiyarasanX >; Bi, Dandan >; Gao, Liming >; Pethaiyan, Madhan >; Esakkithevar, Kathappan >; Balaji, Madhusudhan > Subject: [PATCH 2] 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 P= ress time. Resulting in Multiple key press update on screen. This condition avoids Key= Pressed 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 --- Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/K= eyboard.c | 12 ++++++++++++ Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/V= irtualKeyboard.h | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Virtual= KeyboardDxe/Keyboard.c b/Features/Intel/UserInterface/VirtualKeyboardFeatur= ePkg/VirtualKeyboardDxe/Keyboard.c index 2b1216746b..8c9d5b9a86 100644 --- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar= dDxe/Keyboard.c +++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar= dDxe/Keyboard.c @@ -512,6 +512,18 @@ VkTimer ( if (!VkContext->TouchActive) { VkContext->KeyPressed =3D 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 avoi= ds Key Press skips + // resulting due to faster key press and update only on valid key press. + // + if ((Point.CurrentX !=3D VkContext->PreviousX) || (Point.CurrentY !=3D V= kContext->PreviousY)) { + VkContext->KeyPressed =3D FALSE; + } + VkContext->PreviousX =3D Point.CurrentX; + VkContext->PreviousY =3D Point.CurrentY; + ConvertCoordinate (VkContext, Point, &TouchX, &TouchY); if (!VkContext->KeyPressed && diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/Virtual= KeyboardDxe/VirtualKeyboard.h b/Features/Intel/UserInterface/VirtualKeyboar= dFeaturePkg/VirtualKeyboardDxe/VirtualKeyboard.h index 14a50fa5af..7090730861 100644 --- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar= dDxe/VirtualKeyboard.h +++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboar= dDxe/VirtualKeyboard.h @@ -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; }; /// -- 2.26.2.windows.1 --_000_PH0PR11MB592871985CB83F91EA651AD1EA9C9PH0PR11MB5928namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Reviewed-by: Dandan Bi <dandan.bi@intel.com>

 

 

Thanks,

Dandan

From: Balaji, Madhusudhan <madhusudhan.bal= aji@intel.com>
Sent: Wednesday, August 3, 2022 1:02 AM
To: Thangaraj, KalaiyarasanX <kalaiyarasanx.thangaraj@intel.com&g= t;; devel@edk2.groups.io
Cc: Bi, Dandan <dandan.bi@intel.com>; Gao, Liming <gaolimin= g@byosoft.com.cn>; Pethaiyan, Madhan <madhan.pethaiyan@intel.com>;= Esakkithevar, Kathappan <kathappan.esakkithevar@intel.com>; Balaji, = Madhusudhan <madhusudhan.balaji@intel.com>
Subject: RE: [PATCH 2] VirtualKeyboardFeaturePkg: Pre OS virtual key= board touch response are very slow with I2C touch panel

 

---------

 

Reviewed-by:Balaji, Madhusudhan madhusudhan.balaji@intel.com

 

--------------

 

From: Thangaraj, KalaiyarasanX <kalaiyarasanx.thangaraj@intel.co= m>
Sent: Tuesday, August 2, 2022 2:49 PM
To: devel@edk2.groups.io=
Cc: Thangaraj, KalaiyarasanX <kalaiyarasanx.thangaraj@intel.com>; Bi, Dandan <= ;dandan.bi@intel.com>; Gao, L= iming <gaoliming@byosoft.com= .cn>; Pethaiyan, Madhan <madhan= .pethaiyan@intel.com>; Esakkithevar, Kathappan <kathappan.esakkithevar@intel.com>= ; Balaji, Madhusudhan <m= adhusudhan.balaji@intel.com>
Subject: [PATCH 2] VirtualKeyboardFeaturePkg: Pre OS virtual keyboar= d touch response are very slow with I2C touch panel

 

On one Touch, multiple Reads ha= ppend 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 pre= ss 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 Th= angaraj kalaiyarasanx.thangaraj@intel.com

---

Features/Intel/UserInterface/Vi= rtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c   &nbs= p;    | 12 ++++++++++++

Features/Intel/UserInterface/Vi= rtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboard.h |  6 ++++= ++

2 files changed, 18 insertions(= +)

 

diff --git a/Features/Intel/Use= rInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c b/Featur= es/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboar= d.c

index 2b1216746b..8c9d5b9a86 10= 0644

--- a/Features/Intel/UserInterf= ace/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c

+++ b/Features/Intel/UserInterf= ace/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c

@@ -512,6 +512,18 @@ VkTimer (<= o:p>

   if (!VkContext->= ;TouchActive) {

     VkCont= ext->KeyPressed =3D FALSE;

   }

+

+  //

+  // On one Touch, multip= le Reads happend and  this reads varying based on Key Press time.=

+  // Resulting in Multipl= e key press update on screen. This condition avoids Key Press skips

+  // resulting due to fas= ter key press and update only on valid key press.

+  //

+  if ((Point.CurrentX != =3D VkContext->PreviousX) || (Point.CurrentY !=3D VkContext->Previous= Y)) {

+     VkCon= text->KeyPressed =3D FALSE;

+  }

+  VkContext->PreviousX= =3D Point.CurrentX;

+  VkContext->PreviousY= =3D Point.CurrentY;

+

   ConvertCoordinate = (VkContext, Point, &TouchX, &TouchY);

 

   if (!VkContex= t->KeyPressed &&

diff --git a/Features/Intel/Use= rInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboard.h b= /Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/= VirtualKeyboard.h

index 14a50fa5af..7090730861 10= 0644

--- a/Features/Intel/UserInterf= ace/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboard.h

+++ b/Features/Intel/UserInterf= ace/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/VirtualKeyboard.h

@@ -373,6 +373,12 @@ struct _VK= _CONTEXT {

   BOOLEAN  = ;            &n= bsp;            IsRe= drawUpdateUI;

   VK_PAGE_TYPE =             &nb= sp;        PageNumber;=

   LIST_ENTRY &n= bsp;            = ;          NotifyList;

+

+  ///

+  /// Previous X and Y ax= is Buffer

+  ///

+  UINTN   =             &nb= sp;            = PreviousX;

+  UINTN   =             &nb= sp;            = PreviousY;

};

 

 ///

--

2.26.2.windows.1

--_000_PH0PR11MB592871985CB83F91EA651AD1EA9C9PH0PR11MB5928namp_--