• Home
  • Blog
  • Docs
  • GitHub
Show / Hide Table of Contents

Interface IControllerElementCollection

Represents a collection of controller elements in a layout

Inherited Members
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<Snowflake.Input.Controller.ControllerElement, Snowflake.Input.Controller.IControllerElementInfo>>.GetEnumerator()
System.Collections.IEnumerable.GetEnumerator()
Namespace: Snowflake.Input.Controller
Assembly: Snowflake.Framework.Primitives.dll
Syntax
public interface IControllerElementCollection : IEnumerable<KeyValuePair<ControllerElement, IControllerElementInfo>>, IEnumerable

Properties

AxisLeftAnalogNegativeX

Gets leftwards movement of the left analog stick along the X axis (horizontally)

Declaration
IControllerElementInfo AxisLeftAnalogNegativeX { get; }
Property Value
Type Description
IControllerElementInfo

AxisLeftAnalogNegativeY

Gets downwards movement of the left analog stick along the Y axis (vertically)

Declaration
IControllerElementInfo AxisLeftAnalogNegativeY { get; }
Property Value
Type Description
IControllerElementInfo

AxisLeftAnalogPositiveX

Gets rightwards movement of the left analog stick along the X axis (horizontally)

Declaration
IControllerElementInfo AxisLeftAnalogPositiveX { get; }
Property Value
Type Description
IControllerElementInfo

AxisLeftAnalogPositiveY

Gets upwards movement of the left analog stick along the Y axis (vertically)

Declaration
IControllerElementInfo AxisLeftAnalogPositiveY { get; }
Property Value
Type Description
IControllerElementInfo

AxisRightAnalogNegativeX

Gets leftwards movement of the right analog stick along the X axis (horizontally)

Declaration
IControllerElementInfo AxisRightAnalogNegativeX { get; }
Property Value
Type Description
IControllerElementInfo

AxisRightAnalogNegativeY

Gets downwards movement of the right analog stick along the Y axis (vertically)

Declaration
IControllerElementInfo AxisRightAnalogNegativeY { get; }
Property Value
Type Description
IControllerElementInfo

AxisRightAnalogPositiveX

Gets rightwards movement of the right analog stick along the X axis (horizontally)

Declaration
IControllerElementInfo AxisRightAnalogPositiveX { get; }
Property Value
Type Description
IControllerElementInfo

AxisRightAnalogPositiveY

Gets upwards movement of the right analog stick along the Y axis (vertically)

Declaration
IControllerElementInfo AxisRightAnalogPositiveY { get; }
Property Value
Type Description
IControllerElementInfo

Button0

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button0 { get; }
Property Value
Type Description
IControllerElementInfo

Button1

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button1 { get; }
Property Value
Type Description
IControllerElementInfo

Button10

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button10 { get; }
Property Value
Type Description
IControllerElementInfo

Button11

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button11 { get; }
Property Value
Type Description
IControllerElementInfo

Button12

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button12 { get; }
Property Value
Type Description
IControllerElementInfo

Button13

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button13 { get; }
Property Value
Type Description
IControllerElementInfo

Button14

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button14 { get; }
Property Value
Type Description
IControllerElementInfo

Button15

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button15 { get; }
Property Value
Type Description
IControllerElementInfo

Button16

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button16 { get; }
Property Value
Type Description
IControllerElementInfo

Button17

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button17 { get; }
Property Value
Type Description
IControllerElementInfo

Button18

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button18 { get; }
Property Value
Type Description
IControllerElementInfo

Button19

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button19 { get; }
Property Value
Type Description
IControllerElementInfo

Button2

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button2 { get; }
Property Value
Type Description
IControllerElementInfo

Button20

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button20 { get; }
Property Value
Type Description
IControllerElementInfo

Button21

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button21 { get; }
Property Value
Type Description
IControllerElementInfo

Button22

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button22 { get; }
Property Value
Type Description
IControllerElementInfo

Button23

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button23 { get; }
Property Value
Type Description
IControllerElementInfo

Button24

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button24 { get; }
Property Value
Type Description
IControllerElementInfo

Button25

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button25 { get; }
Property Value
Type Description
IControllerElementInfo

Button26

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button26 { get; }
Property Value
Type Description
IControllerElementInfo

Button27

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button27 { get; }
Property Value
Type Description
IControllerElementInfo

Button28

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button28 { get; }
Property Value
Type Description
IControllerElementInfo

Button29

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button29 { get; }
Property Value
Type Description
IControllerElementInfo

Button3

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button3 { get; }
Property Value
Type Description
IControllerElementInfo

Button30

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button30 { get; }
Property Value
Type Description
IControllerElementInfo

Button31

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons.

Declaration
IControllerElementInfo Button31 { get; }
Property Value
Type Description
IControllerElementInfo

Button4

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button4 { get; }
Property Value
Type Description
IControllerElementInfo

Button5

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button5 { get; }
Property Value
Type Description
IControllerElementInfo

Button6

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button6 { get; }
Property Value
Type Description
IControllerElementInfo

Button7

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button7 { get; }
Property Value
Type Description
IControllerElementInfo

Button8

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button8 { get; }
Property Value
Type Description
IControllerElementInfo

Button9

Gets numbered button without semantic value. Used as a placeholder for buttons that do not fit within the other semantic buttons { get; } or as a numeric pad key on certain controllers

Declaration
IControllerElementInfo Button9 { get; }
Property Value
Type Description
IControllerElementInfo

ButtonA

Gets the conventional 'A' or confirm face button in a controller

Declaration
IControllerElementInfo ButtonA { get; }
Property Value
Type Description
IControllerElementInfo

ButtonB

Gets the conventional 'B' or back face button in a controller

Declaration
IControllerElementInfo ButtonB { get; }
Property Value
Type Description
IControllerElementInfo

ButtonC

Gets the 'C'-labeled, or 3rd button in a 6-face button layout or similar

Declaration
IControllerElementInfo ButtonC { get; }
Property Value
Type Description
IControllerElementInfo

ButtonClickL

Gets a depression on the left analog stick that registers a digital signal. Usually labeled as L3

Declaration
IControllerElementInfo ButtonClickL { get; }
Property Value
Type Description
IControllerElementInfo

ButtonClickR

Gets a depression on the Right analog stick that registers a digital signal. Usually labeled as R3

Declaration
IControllerElementInfo ButtonClickR { get; }
Property Value
Type Description
IControllerElementInfo

ButtonGuide

Gets a guide button featured on modern controllers that bring up a pause or guide overlay outside of the game itself

Declaration
IControllerElementInfo ButtonGuide { get; }
Property Value
Type Description
IControllerElementInfo

ButtonL

Gets the shoulder button registering a digital signal on the left side of the controller

Declaration
IControllerElementInfo ButtonL { get; }
Property Value
Type Description
IControllerElementInfo

ButtonR

Gets the shoulder button registering a digital signal on the right side of the controller

Declaration
IControllerElementInfo ButtonR { get; }
Property Value
Type Description
IControllerElementInfo

ButtonSelect

Gets the traditional 'Select' button on a conventional controller that provides auxillary functions

Declaration
IControllerElementInfo ButtonSelect { get; }
Property Value
Type Description
IControllerElementInfo

ButtonStart

Gets the traditional 'Start' button on a conventional controller that usually pauses or starts the game

Declaration
IControllerElementInfo ButtonStart { get; }
Property Value
Type Description
IControllerElementInfo

ButtonX

Gets the conventional 'X' button in a controller

Declaration
IControllerElementInfo ButtonX { get; }
Property Value
Type Description
IControllerElementInfo

ButtonY

Gets the conventional 'Y' button in a controller

Declaration
IControllerElementInfo ButtonY { get; }
Property Value
Type Description
IControllerElementInfo

ButtonZ

Gets the 'Z'-labeled or 6th button in a 6-face button layout or similar

Declaration
IControllerElementInfo ButtonZ { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalE

Gets directional button indicating the east or rightwards direction

Declaration
IControllerElementInfo DirectionalE { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalN

Gets directional button indicating the north or upwards direction

Declaration
IControllerElementInfo DirectionalN { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalNE

Gets auxillary directional button indicating the northeast, or upwards and right direction

Declaration
IControllerElementInfo DirectionalNE { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalNW

Gets auxillary directional button indicating the northwest, or upwards and left direction

Declaration
IControllerElementInfo DirectionalNW { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalS

Gets direction button indicating the south or downwards direction

Declaration
IControllerElementInfo DirectionalS { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalSE

Gets auxillary directional button indicating the southeast, or downwards and right direction

Declaration
IControllerElementInfo DirectionalSE { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalSW

Gets auxillary directional button indicating the southwest, or downwards and left direction

Declaration
IControllerElementInfo DirectionalSW { get; }
Property Value
Type Description
IControllerElementInfo

DirectionalW

Gets direction button indicating the west or leftwards direction

Declaration
IControllerElementInfo DirectionalW { get; }
Property Value
Type Description
IControllerElementInfo

Gyroscope

Gets a 3 axis rotation gyroscope of unspecified precision, where input can be expressed as a vector of 3 coordinates X, Y, and Z

Declaration
IControllerElementInfo Gyroscope { get; }
Property Value
Type Description
IControllerElementInfo

Item[ControllerElement]

Indexer accessor for the elements in this collection. If not present, should return null. If attemped to access for a keyboard key, should return the keyboard info element.

Declaration
IControllerElementInfo this[ControllerElement controllerElement] { get; }
Parameters
Type Name Description
ControllerElement controllerElement

The controller element to lookup

Property Value
Type Description
IControllerElementInfo

The element info for this layout

Keyboard

Gets a keyboad with an unspecified amount of keys. Intended for emulated computers such as the Commodore 64

Declaration
IControllerElementInfo Keyboard { get; }
Property Value
Type Description
IControllerElementInfo

Pointer2D

Gets 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

Declaration
IControllerElementInfo Pointer2D { get; }
Property Value
Type Description
IControllerElementInfo

Pointer3D

Gets 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

Declaration
IControllerElementInfo Pointer3D { get; }
Property Value
Type Description
IControllerElementInfo

PointerAxisNegativeX

Gets continous leftwards movement of a pointer device on the X axis (horizontal)

Declaration
IControllerElementInfo PointerAxisNegativeX { get; }
Property Value
Type Description
IControllerElementInfo

PointerAxisNegativeY

Gets continous downwards movement of a pointer device on the Y axis (vertical)

Declaration
IControllerElementInfo PointerAxisNegativeY { get; }
Property Value
Type Description
IControllerElementInfo

PointerAxisNegativeZ

Gets continous backwards movement of a pointer device on the Z axis

Declaration
IControllerElementInfo PointerAxisNegativeZ { get; }
Property Value
Type Description
IControllerElementInfo

PointerAxisPositiveX

Gets continous rightwards movement of a pointer device on the X axis (horizontal)

Declaration
IControllerElementInfo PointerAxisPositiveX { get; }
Property Value
Type Description
IControllerElementInfo

PointerAxisPositiveY

Gets continous upwards movement of a pointer device on the Y axis (vertical)

Declaration
IControllerElementInfo PointerAxisPositiveY { get; }
Property Value
Type Description
IControllerElementInfo

PointerAxisPositiveZ

Gets continous forwards movement of a pointer device on the Z axis

Declaration
IControllerElementInfo PointerAxisPositiveZ { get; }
Property Value
Type Description
IControllerElementInfo

RumbleBig

Gets a large rumble action (usually through the larger of two rumble motors in a controller

Declaration
IControllerElementInfo RumbleBig { get; }
Property Value
Type Description
IControllerElementInfo

RumbleSmall

Gets a smaller rumble action (usually through the smaller of two rumble motors in a controller

Declaration
IControllerElementInfo RumbleSmall { get; }
Property Value
Type Description
IControllerElementInfo

Touchscreen

Gets a touch sensitive surface of unspecified size and precision { get; } 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

Declaration
IControllerElementInfo Touchscreen { get; }
Property Value
Type Description
IControllerElementInfo

TriggerLeft

Gets 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

Declaration
IControllerElementInfo TriggerLeft { get; }
Property Value
Type Description
IControllerElementInfo

TriggerRight

Gets 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

Declaration
IControllerElementInfo TriggerRight { get; }
Property Value
Type Description
IControllerElementInfo
Built with ❤️ by @chyyran. Text content licensed under CC-BY-SA 4.0.