ENUM
ControllerElement
Stone-defined semantic Controller Elements. A Controller Element is a semantic name given to a capability of a defined Stone controller layout.
- enum ControllerElement {
 - #   No element
 - #   The conventional 'A' or confirm face button in a controller
 - #   The conventional 'B' or back face button in a controller
 - #   The 'C'-labeled, or 3rd button in a 6-face button layout or similar
 - #   The conventional 'X' button in a controller
 - #   The conventional 'Y' button in a controller
 - #   The 'Z'-labeled or 6th button in a 6-face button layout or similar
 - #   The shoulder button registering a digital signal on the left side of the 
 - #   controller
 - #   The shoulder button registering a digital signal on the right side of the 
 - #   controller
 - #   The traditional 'Start' button on a conventional controller that usually pauses 
 - #   or starts the game
 - #   The traditional 'Select' button on a conventional controller that provides 
 - #   auxillary functions
 - #   A guide button featured on modern controllers that bring up a pause or guide 
 - #   overlay outside of the game itself
 - #   A depression on the left analog stick that registers a digital signal. Usually 
 - #   labeled as L3
 - #   A depression on the Right analog stick that registers a digital signal. Usually 
 - #   labeled as R3
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit
 - #   within the other semantic buttons,
 - #   or as a numeric pad key on certain controllers
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Numbered button without semantic value.
 - #   Used as a placeholder for buttons that do not fit within the other semantic 
 - #   buttons.
 - #   Directional button indicating the north or upwards direction
 - #   Directional button indicating the east or rightwards direction
 - #   Direction button indicating the south or downwards direction
 - #   Direction button indicating the west or leftwards direction
 - #   Auxillary directional button indicating the northeast, or upwards and right 
 - #   direction
 - #   Auxillary directional button indicating the northwest, or upwards and left 
 - #   direction
 - #   Auxillary directional button indicating the southeast, or downwards and right 
 - #   direction
 - #   Auxillary directional button indicating the southwest, or downwards and left 
 - #   direction
 - #   An analog shoulder trigger, able to be depressed smoothly with varying degrees 
 - #   of pressure
 - #   from undepressed (0%) to fully depressed (100%), on the left side of the 
 - #   controller, usually marked L2
 - #   An analog shoulder trigger, able to be depressed smoothly with varying degrees 
 - #   of pressure
 - #   from undepressed (0%) to fully depressed (100%), on the right side of the 
 - #   controller, usually marked R2
 - #   Rightwards movement of the left analog stick along the X axis (horizontally)
 - #   Leftwards movement of the left analog stick along the X axis (horizontally)
 - #   Upwards movement of the left analog stick along the Y axis (vertically)
 - #   Downwards movement of the left analog stick along the Y axis (vertically)
 - #   Rightwards movement of the right analog stick along the X axis (horizontally)
 - #   Leftwards movement of the right analog stick along the X axis (horizontally)
 - #   Upwards movement of the right analog stick along the Y axis (vertically)
 - #   Downwards movement of the right analog stick along the Y axis (vertically)
 - #   A large rumble action (usually through the larger of two rumble motors in a 
 - #   controller
 - #   A smaller rumble action (usually through the smaller of two rumble motors in a 
 - #   controller
 - #   A pointing device that can express position in the form of a contiguous set of 
 - #   coordinates on a
 - #   2 dimensional cartesian plane. Examples include a mouse, or the Wii Remote IR
 - #   A pointing device that can express position in the form of a contiguous set of 
 - #   coordinates in 3 dimensional space.
 - #   Examples include the Oculus Touch device, or the Playstation Move
 - #   Continous rightwards movement of a pointer device on the X axis (horizontal)
 - #   Continous leftwards movement of a pointer device on the X axis (horizontal)
 - #   Continous upwards movement of a pointer device on the Y axis (vertical)
 - #   Continous downwards movement of a pointer device on the Y axis (vertical)
 - #   Continous forwards movement of a pointer device on the Z axis
 - #   Continous backwards movement of a pointer device on the Z axis
 - #   A keyboad with an unspecified amount of keys. Intended for emulated computers 
 - #   such as the Commodore 64
 - #   A touch sensitive surface of unspecified size and precision,
 - #   where input can be expressed as a non-contiguous matrix of coordinates on a 2
 - #   dimentional cartesian plane. However, most touchscreens in video game 
 - #   controllers
 - #   are only concerned with a single matrix due to the lack of multi-touch
 - #   A 3 axis rotation gyroscope of unspecified precision,
 - #   where input can be expressed as a vector of 3 coordinates X, Y, and Z
 - }