1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6 /* From dev/ppb_keyboard_input_event_dev.idl, 7 * modified Tue Feb 21 08:56:59 2012. 8 */ 9 10 #ifndef PPAPI_C_DEV_PPB_KEYBOARD_INPUT_EVENT_DEV_H_ 11 #define PPAPI_C_DEV_PPB_KEYBOARD_INPUT_EVENT_DEV_H_ 12 13 #include "ppapi/c/pp_bool.h" 14 #include "ppapi/c/pp_macros.h" 15 #include "ppapi/c/pp_resource.h" 16 #include "ppapi/c/pp_stdint.h" 17 18 #define PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE_0_1 \ 19 "PPB_KeyboardInputEvent(Dev);0.1" 20 #define PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE \ 21 PPB_KEYBOARD_INPUT_EVENT_DEV_INTERFACE_0_1 22 23 /** 24 * @file 25 * This file defines the <code>PPB_KeyboardInputEvent_Dev</code> interface, 26 * which provides access to USB key codes that identify the physical key being 27 * pressed. 28 */ 29 30 31 /** 32 * @addtogroup Interfaces 33 * @{ 34 */ 35 /** 36 * The <code>PPB_KeyboardInputEvent_Dev</code> interface is an extension to the 37 * PPB_KeyboardInputEvent</code> interface that provides 38 */ 39 struct PPB_KeyboardInputEvent_Dev_0_1 { 40 /** 41 * This sets a USB key code in the given <code>PP_Resource</code>. It is 42 * intended that this method be called immediately after any call to 43 * <code>Create</code>. 44 * 45 * @param[in] key_event A <code>PP_Resource</code> created by 46 * <code>PPB_KeyboardInputEvent</code>'s <code>Create</code> method. 47 * 48 * @param[in] usb_key_code The USB key code to associate with this 49 * <code>key_event</code>. 50 * 51 * @return <code>PP_TRUE</code> if the USB key code was set successfully. 52 */ 53 PP_Bool (*SetUsbKeyCode)(PP_Resource key_event, uint32_t usb_key_code); 54 /** 55 * GetUsbKeyCode() returns the USB key code associated with this keyboard 56 * event. 57 * 58 * @param[in] key_event The key event for which to return the key code. 59 * 60 * @return The USB key code field for the keyboard event. If there is no 61 * USB scancode associated with this event, or if the PP_Resource does not 62 * support the PPB_InputEvent_API (i.e., it is not an input event), then 63 * a 0 is returned. 64 */ 65 uint32_t (*GetUsbKeyCode)(PP_Resource key_event); 66 }; 67 68 typedef struct PPB_KeyboardInputEvent_Dev_0_1 PPB_KeyboardInputEvent_Dev; 69 /** 70 * @} 71 */ 72 73 #endif /* PPAPI_C_DEV_PPB_KEYBOARD_INPUT_EVENT_DEV_H_ */ 74 75