/**@class android.inputmethodservice.Keyboard.Key
@extends java.lang.Object

 Class for describing the position and characteristics of a single key in the keyboard.
 
 @attr ref android.R.styleable#Keyboard_keyWidth
 @attr ref android.R.styleable#Keyboard_keyHeight
 @attr ref android.R.styleable#Keyboard_horizontalGap
 @attr ref android.R.styleable#Keyboard_Key_codes
 @attr ref android.R.styleable#Keyboard_Key_keyIcon
 @attr ref android.R.styleable#Keyboard_Key_keyLabel
 @attr ref android.R.styleable#Keyboard_Key_iconPreview
 @attr ref android.R.styleable#Keyboard_Key_isSticky
 @attr ref android.R.styleable#Keyboard_Key_isRepeatable
 @attr ref android.R.styleable#Keyboard_Key_isModifier
 @attr ref android.R.styleable#Keyboard_Key_popupKeyboard
 @attr ref android.R.styleable#Keyboard_Key_popupCharacters
 @attr ref android.R.styleable#Keyboard_Key_keyOutputText
 @attr ref android.R.styleable#Keyboard_Key_keyEdgeFlags
*/
var Key = {

/**
 All the key codes (unicode or custom code) that this key could generate, zero'th 
 being the most important.
*/
codes : "null",
/**Label to display */
label : "null",
/**Icon to display instead of a label. Icon takes precedence over a label */
icon : "null",
/**Preview version of the icon, for the preview popup */
iconPreview : "null",
/**Width of the key, not including the gap */
width : "null",
/**Height of the key, not including the gap */
height : "null",
/**The horizontal gap before this key */
gap : "null",
/**Whether this key is sticky, i.e., a toggle key */
sticky : "null",
/**X coordinate of the key in the keyboard layout */
x : "null",
/**Y coordinate of the key in the keyboard layout */
y : "null",
/**The current pressed state of this key */
pressed : "null",
/**If this is a sticky key, is it on? */
on : "null",
/**Text to output when pressed. This can be multiple characters, like ".com" */
text : "null",
/**Popup characters */
popupCharacters : "null",
/**
 Flags that specify the anchoring to edges of the keyboard for detecting touch events
 that are just out of the boundary of the key. This is a bit mask of 
 {@link android.inputmethodservice.Keyboard#EDGE_LEFT}, {@link android.inputmethodservice.Keyboard#EDGE_RIGHT}, {@link android.inputmethodservice.Keyboard#EDGE_TOP} and
 {@link android.inputmethodservice.Keyboard#EDGE_BOTTOM}.
*/
edgeFlags : "null",
/**Whether this is a modifier key, such as Shift or Alt */
modifier : "null",
/**
 If this key pops up a mini keyboard, this is the resource id for the XML layout for that
 keyboard.
*/
popupResId : "null",
/**Whether this key repeats itself when held down */
repeatable : "null",
/**Informs the key that it has been pressed, in case it needs to change its appearance or
 state.
@see #onReleased(boolean)
*/
onPressed : function(  ) {},

/**Changes the pressed state of the key.

 <p>Toggled state of the key will be flipped when all the following conditions are
 fulfilled:</p>

 <ul>
     <li>This is a sticky key, that is, {@link #sticky} is {@code true}.
     <li>The parameter {@code inside} is {@code true}.
     <li>{@link android.os.Build.VERSION#SDK_INT} is greater than
         {@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}.
 </ul>
@param {Boolean} inside whether the finger was released inside the key. Works only on Android M and
 later. See the method document for details.
@see #onPressed()
*/
onReleased : function(  ) {},

/**Detects if a point falls inside this key.
@param {Number} x the x-coordinate of the point
@param {Number} y the y-coordinate of the point
@return {Boolean} whether or not the point falls inside the key. If the key is attached to an edge,
 it will assume that all points between the key and the edge are considered to be inside
 the key.
*/
isInside : function(  ) {},

/**Returns the square of the distance between the center of the key and the given point.
@param {Number} x the x-coordinate of the point
@param {Number} y the y-coordinate of the point
@return {Number} the square of the distance of the point from the center of the key
*/
squaredDistanceFrom : function(  ) {},

/**Returns the drawable state for the key, based on the current state and type of the key.
@return {Number} the drawable state of the key.
@see android.graphics.drawable.StateListDrawable#setState(int[])
*/
getCurrentDrawableState : function(  ) {},


};