X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FBus%2FUsb%2FUsbKbDxe%2Fefikey.h;h=19443949e9fc26cb36326236fce6039c25417a70;hp=bab22a3b883ea05970a5d20f3eda57984b704747;hb=813acf3a9a99e97ab200c7e222ee96810a9aa3fd;hpb=54cf87805f9ad61a316ce9e4eb9c67154c87cf0b diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/efikey.h b/MdeModulePkg/Bus/Usb/UsbKbDxe/efikey.h index bab22a3b88..19443949e9 100644 --- a/MdeModulePkg/Bus/Usb/UsbKbDxe/efikey.h +++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/efikey.h @@ -1,5 +1,5 @@ /** @file -Copyright (c) 2004 - 2007, Intel Corporation +Copyright (c) 2004 - 2008, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -27,9 +27,11 @@ Revision History #include #include -#include +#include #include #include +#include +#include #include #include @@ -79,6 +81,27 @@ typedef struct _KEYBOARD_CONSOLE_IN_EX_NOTIFY { EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn; LIST_ENTRY NotifyEntry; } KEYBOARD_CONSOLE_IN_EX_NOTIFY; + +#define USB_NS_KEY_SIGNATURE EFI_SIGNATURE_32 ('u', 'n', 's', 'k') + +typedef struct { + UINTN Signature; + LIST_ENTRY Link; + + // + // The number of EFI_NS_KEY_MODIFIER children definitions + // + UINTN KeyCount; + + // + // NsKey[0] : Non-spacing key + // NsKey[1] ~ NsKey[KeyCount] : Physical keys + // + EFI_KEY_DESCRIPTOR *NsKey; +} USB_NS_KEY; + +#define USB_NS_KEY_FORM_FROM_LINK(a) CR (a, USB_NS_KEY, Link, USB_NS_KEY_SIGNATURE) + typedef struct { UINTN Signature; EFI_DEVICE_PATH_PROTOCOL *DevicePath; @@ -115,12 +138,21 @@ typedef struct { UINT8 RightLogoOn; UINT8 MenuKeyOn; UINT8 SysReqOn; + UINT8 AltGrOn; EFI_KEY_STATE KeyState; // // Notification function list // LIST_ENTRY NotifyList; + + // + // Non-spacing key list + // + LIST_ENTRY NsKeyList; + USB_NS_KEY *CurrentNsKey; + EFI_KEY_DESCRIPTOR *KeyConvertionTable; + EFI_EVENT KeyboardLayoutEvent; } USB_KB_DEV; // @@ -159,7 +191,7 @@ typedef struct { UINT8 Key; } KB_MODIFIER; -#define USB_KEYCODE_MAX_MAKE 0x7E +#define USB_KEYCODE_MAX_MAKE 0x62 #define USBKBD_VALID_KEYCODE(key) ((UINT8) (key) > 3)