/** @file\r
Simple Text Input Ex protocol from the UEFI 2.0 specification.\r
- \r
+\r
This protocol defines an extension to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL\r
which exposes much more state and modifier information from the input device,\r
also allows one to register a notification for a particular keystroke.\r
\r
- Copyright (c) 2006 - 2009, Intel Corporation \r
- All rights reserved. This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
+ Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
**/\r
\r
#ifndef __SIMPLE_TEXT_IN_EX_H__\r
#define __SIMPLE_TEXT_IN_EX_H__\r
\r
+#include <Protocol/SimpleTextIn.h>\r
+\r
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \\r
{0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }\r
\r
\r
\r
@retval EFI_SUCCESS The device was reset.\r
- \r
+\r
@retval EFI_DEVICE_ERROR The device is not functioning\r
correctly and could not be reset.\r
\r
#define EFI_MENU_KEY_PRESSED 0x00000100\r
#define EFI_SYS_REQ_PRESSED 0x00000200\r
\r
-// \r
-// Toggle state \r
-// \r
+//\r
+// Toggle state\r
+//\r
#define EFI_TOGGLE_STATE_VALID 0x80\r
+#define EFI_KEY_STATE_EXPOSED 0x40\r
#define EFI_SCROLL_LOCK_ACTIVE 0x01\r
#define EFI_NUM_LOCK_ACTIVE 0x02\r
#define EFI_CAPS_LOCK_ACTIVE 0x04\r
- \r
-// \r
-// EFI Scan codes \r
-// \r
+\r
+//\r
+// EFI Scan codes\r
+//\r
+#define SCAN_F11 0x0015\r
+#define SCAN_F12 0x0016\r
+#define SCAN_PAUSE 0x0048\r
#define SCAN_F13 0x0068\r
#define SCAN_F14 0x0069\r
#define SCAN_F15 0x006A\r
state information, and in those cases the high order bit in the\r
respective Toggle and Shift state fields should not be active.\r
\r
- \r
+\r
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.\r
\r
@param KeyData A pointer to a buffer that is filled in with\r
the keystroke state data for the key that was\r
pressed.\r
\r
- \r
+\r
@retval EFI_SUCCESS The keystroke information was\r
returned.\r
- \r
+\r
@retval EFI_NOT_READY There was no keystroke data available.\r
EFI_DEVICE_ERROR The keystroke\r
information was not returned due to\r
/**\r
The SetState() function allows the input device hardware to\r
have state settings adjusted.\r
- \r
+\r
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.\r
- \r
+\r
@param KeyToggleState Pointer to the EFI_KEY_TOGGLE_STATE to\r
set the state for the input device.\r
- \r
- \r
+\r
+\r
@retval EFI_SUCCESS The device state was set appropriately.\r
\r
@retval EFI_DEVICE_ERROR The device is not functioning\r
/**\r
The RegisterKeystrokeNotify() function registers a function\r
which will be called when a specified keystroke will occur.\r
- \r
+\r
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.\r
- \r
+\r
@param KeyData A pointer to a buffer that is filled in with\r
the keystroke information for the key that was\r
pressed.\r
- \r
+\r
@param KeyNotificationFunction Points to the function to be\r
called when the key sequence\r
is typed specified by KeyData.\r
- \r
- \r
+\r
+\r
@param NotifyHandle Points to the unique handle assigned to\r
the registered notification.\r
- \r
+\r
@retval EFI_SUCCESS The device state was set\r
appropriately.\r
\r
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
IN EFI_KEY_DATA *KeyData,\r
IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,\r
- OUT EFI_HANDLE *NotifyHandle\r
+ OUT VOID **NotifyHandle\r
);\r
\r
/**\r
The UnregisterKeystrokeNotify() function removes the\r
notification which was previously registered.\r
- \r
+\r
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.\r
- \r
+\r
@param NotificationHandle The handle of the notification\r
function being unregistered.\r
- \r
+\r
@retval EFI_SUCCESS The device state was set appropriately.\r
- \r
+\r
@retval EFI_INVALID_PARAMETER The NotificationHandle is\r
invalid.\r
\r
EFI_STATUS\r
(EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(\r
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
- IN EFI_HANDLE NotificationHandle\r
+ IN VOID *NotificationHandle\r
);\r
\r
\r