/* Copyright (c) 2012 The Chromium Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* From dev/ppb_keyboard_input_event_dev.idl, * modified Fri Sep 6 10:00:04 2013. */ #ifndef PPAPI_C_DEV_PPB_KEYBOARD_INPUT_EVENT_DEV_H_ #define PPAPI_C_DEV_PPB_KEYBOARD_INPUT_EVENT_DEV_H_ #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_macros.h" #include "ppapi/c/pp_resource.h" #include "ppapi/c/pp_stdint.h" #include "ppapi/c/pp_var.h" #define PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE_0_2 \ "PPB_KeyboardInputEvent(Dev);0.2" #define PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE \ PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE_0_2 /** * @file * This file defines the PPB_KeyboardInputEvent_Dev interface, * which provides access to USB key codes that identify the physical key being * pressed. */ /** * @addtogroup Interfaces * @{ */ /** * The PPB_KeyboardInputEvent_Dev interface is an extension to the * PPB_KeyboardInputEvent interface that provides */ struct PPB_KeyboardInputEvent_Dev_0_2 { /** * This sets a USB key code in the given PP_Resource. It is * intended that this method be called immediately after any call to * Create. * * @param[in] key_event A PP_Resource created by * PPB_KeyboardInputEvent's Create method. * * @param[in] usb_key_code The USB key code to associate with this * key_event. * * @return PP_TRUE if the USB key code was set successfully. */ PP_Bool (*SetUsbKeyCode)(PP_Resource key_event, uint32_t usb_key_code); /** * GetUsbKeyCode() returns the USB key code associated with this keyboard * event. * * @param[in] key_event The key event for which to return the key code. * * @return The USB key code field for the keyboard event. If there is no * USB scancode associated with this event, or if the PP_Resource does not * support the PPB_InputEvent_API (i.e., it is not an input event), then * a 0 is returned. */ uint32_t (*GetUsbKeyCode)(PP_Resource key_event); /** * GetCode() returns the DOM |code| field for this keyboard event, as * defined by the UI Events spec: http://www.w3.org/TR/uievents/ * * @param[in] key_event The key event for which to return the key code. * * @return The string that contains the DOM |code| for the keyboard event. */ struct PP_Var (*GetCode)(PP_Resource key_event); }; typedef struct PPB_KeyboardInputEvent_Dev_0_2 PPB_KeyboardInputEvent_Dev; /** * @} */ #endif /* PPAPI_C_DEV_PPB_KEYBOARD_INPUT_EVENT_DEV_H_ */