From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.dell-outbound.iphmx.com (esa4.dell-outbound.iphmx.com [68.232.149.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 35C9E1A1E18 for ; Tue, 2 Aug 2016 18:36:29 -0700 (PDT) DomainKey-Signature: s=smtpout; d=dell.com; c=simple; q=dns; h=Received:X-LoopCount0:X-IronPort-AV:From:To:CC:Subject: Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language: X-MS-Has-Attach:X-MS-TNEF-Correlator: x-tituslabs-classificationhash-30:x-titus-version: x-tituslabs-classifications-30:x-titusconfig: x-ms-exchange-transport-fromentityheader:x-originating-ip: Content-Type:MIME-Version:Return-Path; b=dHGUD+DP24UtN1C2jZZUgQ6U1OYYMo43p+XZiQN5nEe0vtWyPGptQtHJ jZD1LhFOXfcPiEbqa+yxbi+7Nockbasvsq7UDQfVskWdQ1zJ8aWdeg0WO 0pQ3IDes1LzxLfwTQDBhD0o/fsJPETXDUYoxPzylHzS+5pLf2t91MPkwz M=; DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1470188189; x=1501724189; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=KId3m0cxyzem+tRERUOZ1P3O7sk9NebUG0uvoPQmkIw=; b=KXHi/KVjAnpYycXWcmzqvs4UUkvWgIirppdJGpNDoq/4lT7OmwMmNiXw Lq2r571vEwLez5dUZ0zRYWS0Oi+rGAp9cDhEy0x3eWIInO6ueKdu6PtmX t0wEHj/XLMCs29QEYNiCODS2LMMptmFQ7vfKYxihTMLjIgDRF6gMsDO9h s=; Received: from ausxippc101.us.dell.com ([143.166.85.207]) by esa4.dell-outbound.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Aug 2016 06:36:28 +0500 X-LoopCount0: from 10.175.216.249 X-IronPort-AV: E=Sophos;i="5.28,463,1464670800"; d="scan'208,217";a="840072510" From: To: CC: Thread-Topic: [edk2] Foreign keyboard support in UEFI Thread-Index: AQHR7PJkrWfPFHoP00aoMjC7rLJvpaA2QgmQ Date: Wed, 3 Aug 2016 01:36:25 +0000 Message-ID: <09017dc6f67e4efa8fc28e06f8646187@ausx13mpc122.AMER.DELL.COM> References: <0015e1368c8743f7a0834fa4cc913ccc@ausx13mpc122.AMER.DELL.COM> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tituslabs-classificationhash-30: VgNFIFU9Hx+/nZJb9Kg7Itp+23ZZ0MfOV48lquEBOuibWq0y/JngHItylc5eypWCxRBjvcbyWLYPYVgX44DCQ2yQeNtErniFFxT+RmpyNyDoJ2+ufAZGhyfsGWFkTiqGuhVeB+wyx5XRPwFVv+9pRRRJClh+sNkFL/qju7bUeuVWjN9+m3nw88+bCbouyoeviTSSr4YZg+9ja/G7O9KcG5hj0iJBG3xBCQFgISL75r6h1uNqdyUvcwFsPL54c+b2 x-titus-version: 3.5.29.3 x-tituslabs-classifications-30: TLPropertyRoot=Dell;Classification=Internal Use;External=No;Sublabels=; x-titusconfig: 1.4AMER x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.132.204.54] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: Foreign keyboard support in UEFI X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2016 01:36:29 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Dell - Internal Use - Confidential Aaron, Thanks for detailed information to start our investigation . Will keep up= date our findings in this forum. From: Aaron.Pop@congatec.com [mailto:Aaron.Pop@congatec.com] Sent: Tuesday, August 2, 2016 2:16 PM To: Arunachalam, Senthil Cc: edk2-devel@lists.01.org Subject: Re: [edk2] Foreign keyboard support in UEFI Hi Senthil, Multi language keyboards support should be pretty transparent to an applica= tion. The simple text input protocols are designed to return a unicode char= acter, and the protocols leave the mapping of keypress into the current key= board layout to the system firmware. Keyboard layouts are installed into t= he Hii database, and then a set keyboard layout call is made to tell the sy= stem which keyboard layout to use. Each regional keyboard has a different l= ayout (https://msdn.microsoft.com/en-us/goglobal/bb964651.aspx). The UEFI = specification (section 31.2.4) maps a keyboard into an enumerated value (EF= I_KEY in MdePkg\Include\Uefi\UefiInternalFormRepresentation.h) and that enu= merated value is used as an index into the keyboard layout data to return a= unicode character for a specific keypress. If you are not getting a valid return character when you press a key on a u= sb keyboard, then there is a chance that the UsbKbDxe driver does not consi= der the key you pressed as a valid Usb key for the given keyboard layout. = USB keyboards return a Usage ID for a given key press (http://www.usb.org/d= evelopers/hidpage/Hut1_12v2.pdf). The EDK2 Usb keyboard driver (MdeModuleP= kg/Bus/Usb/UsbKbDxe) retrieves the USB usage id and translates it into an E= FI_KEY_DATA entry by using the tables in the top of the Keyboard.c file (Ef= iKeyToUsbKeyCodeConvertionTable and mUsbKeyboardLayoutBin). It is possible= that your system does not correctly map the hid usage id to a valid EFI_KE= Y enum based on the current keyboard mapping layout. I hope this gives you enough information to start to figure out your issue. From: > To: > Date: 08/01/2016 09:53 PM Subject: [edk2] Foreign keyboard support in UEFI Sent by: "edk2-devel" > ________________________________ Hi, Any one shed some light on supporting multi language key board support on = UEFI application? Scan code received from EFI_SIMPLE_TEXT_INPUT_EX_PROTOCO= L not returns value for certain keys in German/Arabic USB keyboard. We are also not sure in mappin= g UEFI code from EFI_HII_DATABASE_PROTOCOL.GetKeyBoardLayOut()). Thanks Senthil _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel