• Introduction
  • C# API
  • GraphQL API
  • Home
  • Blog
  • Docs
  • GitHub
  • Snowflake.Input.Controller
  • ControllerElement
Show / Hide Table of Contents
  • Snowflake.Configuration
    • ConfigurationCollection<T>
    • ConfigurationCollectionDescriptor<T>
    • ConfigurationOptionDescriptor
    • ConfigurationOptionType
    • ConfigurationSection<T>
    • ConfigurationSectionDescriptor<T>
    • ConfigurationValueCollection
    • IConfigurationCollection
    • IConfigurationCollection<T>
    • IConfigurationCollectionDescriptor
    • IConfigurationOptionDescriptor
    • IConfigurationProperty
    • IConfigurationSection
    • IConfigurationSection<T>
    • IConfigurationSectionDescriptor
    • IConfigurationTypeMapper
    • IConfigurationValue
    • IConfigurationValueCollection
    • ISelectionOptionDescriptor
    • PathType
    • SelectionOptionDescriptor
  • Snowflake.Configuration.Attributes
    • ConfigurationOptionAttribute
    • ConfigurationSectionAttribute
    • ConfigurationTargetAttribute
    • ConfigurationTargetMemberAttribute
    • CustomMetadataAttribute
    • InputTemplateAttribute
    • SelectionOptionAttribute
  • Snowflake.Configuration.Input
    • DictionaryInputMapping
    • IDeviceInputMapping
    • IInputOption
    • IInputSerializer
    • IInputTemplate
    • IInputTemplate<T>
    • InputConfigurationSection<T>
    • InputOption
    • InputOptionAttribute
    • InputTemplate<T>
  • Snowflake.Configuration.Interceptors
    • ConfigurationInterceptor
  • Snowflake.Configuration.Serialization
    • AbstractConfigurationNode<T>
    • BooleanConfigurationNode
    • ConfigurationTarget
    • ConfigurationTraversalContext
    • DecimalConfigurationNode
    • DeviceCapabilityElementConfigurationNode
    • EnumConfigurationNode
    • IAbstractConfigurationNode
    • IAbstractConfigurationNode<T>
    • IConfigurationSerializationContext<T>
    • IConfigurationTarget
    • IConfigurationTransformer<TOutput>
    • IConfigurationTraversalContext
    • IntegralConfigurationNode
    • ListConfigurationNode
    • StringConfigurationNode
    • UnknownConfigurationNode
  • Snowflake.Configuration.Serialization.Serializers
    • AbstractStringConfigurationSerializer
    • ConfigurationSerializer<T>
    • StringSerializationContext
    • StringSerializationContextExtensions
  • Snowflake.Configuration.Serialization.Serializers.Implementations
    • SimpleCfgConfigurationSerializer
    • SimpleIniConfigurationSerializer
    • SimpleJsonConfigurationSerializer
    • SimpleXmlConfigurationSerializer
  • Snowflake.Extensibility
    • IEmptyPluginConfiguration
    • ILogger
    • IPlugin
    • IPluginCollection<T>
    • LogLevel
    • PluginAttribute
    • PluginCollection<T>
    • PluginInfoFields
  • Snowflake.Extensibility.Configuration
    • IPluginConfigurationStore
  • Snowflake.Extensibility.Provisioning
    • IPluginProperties
    • IPluginProvision
    • IProvisionedPlugin
    • PluginProvision
    • ProvisionedPlugin
  • Snowflake.Extensibility.Provisioning.Standalone
    • StandalonePlugin
    • StandalonePluginProvision
  • Snowflake.Extensibility.Queueing
    • IAsyncJobQueue
    • IAsyncJobQueue<T>
    • IAsyncJobQueue<TAsyncEnumerable, T>
    • IAsyncJobQueueFactory
  • Snowflake.Filesystem
    • DirectoryExtensions
    • FileExtensions
    • IDirectory
    • IFile
    • IIndelibleDirectory
    • IReadOnlyDirectory
    • IReadOnlyFile
  • Snowflake.Input.Controller
    • ControllerElement
    • ControllerElementCollection
    • ControllerElementExtensions
    • ControllerElementInfo
    • ControllerElementType
    • ControllerElementTypeExtensions
    • ControllerId
    • IControllerElementCollection
    • IControllerElementInfo
    • IControllerLayout
    • InvalidControllerIdException
  • Snowflake.Input.Controller.Mapped
    • ControllerElementMapping
    • ControllerElementMappingProfile
    • IControllerElementMappingProfile
    • IControllerElementMappingProfileStore
  • Snowflake.Input.Device
    • DefaultDeviceCapabilityLabels
    • DeviceCapability
    • DeviceCapabilityClass
    • DeviceCapabilityClasses
    • DeviceCapabilityExtensions
    • DeviceLayoutMapping
    • DictionaryDeviceCapabilityLabels
    • DirectInputDeviceInstance
    • IDeviceCapabilityLabels
    • IDeviceLayoutMapping
    • IInputDevice
    • IInputDeviceInstance
    • InputDriver
    • KeyboardDeviceInstance
    • PassthroughDeviceInstance
    • XInputDeviceInstance
  • Snowflake.Installation
    • AsyncInstallTask<T>
    • AsyncInstallTaskEnumerable<T>
    • ITaskResult
    • TaskResult
    • TaskResult<T>
  • Snowflake.Installation.Extensibility
    • GameInstaller
    • IGameInstaller
    • IInstallable
    • Installable
    • SupportedPlatformAttribute
  • Snowflake.Installation.Tasks
    • CopyDirectoryContentsTask
    • CopyFileTask
    • ExecuteAsyncTask<TResult>
    • ExtractZipTask
    • FailureTask<T>
  • Snowflake.Loader
    • IComposable
    • IModule
    • IModuleEnumerator
    • IModuleLoader<T>
    • ImportServiceAttribute
    • IServiceRepository
    • Module
  • Snowflake.Model.Database.Exceptions
    • DependentEntityNotExistsException
    • EntityAlreadyExistsException
  • Snowflake.Model.Database.Migrations
    • Empty
    • InitialCreate
  • Snowflake.Model.Game
    • Game
    • IGame
    • IGameExtension
    • IGameLibrary
    • IPlatformInfo
    • ISystemFile
    • PlatformId
  • Snowflake.Model.Game.LibraryExtensions
    • GameConfigurationExtensionExtensions
    • GameFileExtensionExtensions
    • IGameConfigurationExtension
    • IGameConfigurationExtensionProvider
    • IGameExtensionProvider
    • IGameExtensionProvider<TExtension>
    • IGameFileExtension
    • IGameFileExtensionProvider
  • Snowflake.Model.Records
    • FileRecord
    • GameRecord
    • IMetadataCollection
    • IRecord
    • IRecordMetadata
    • IRecordMetadataQuery
    • MetadataCollection
    • RecordMetadata
  • Snowflake.Model.Records.File
    • FileMetadataKeys
    • IFileRecord
    • ImageMetadataKeys
    • ImageTypes
  • Snowflake.Model.Records.Game
    • GameMetadataKeys
    • IGameRecord
    • IGameRecordQuery
  • Snowflake.Orchestration.Extensibility
    • EmulatedController
    • EmulatedPortsManager
    • EmulatorCompatibility
    • EmulatorOrchestrator
    • GameEmulation
    • GameEmulation<TConfigurationCollection>
    • GameEmulationState
    • IEmulatedController
    • IEmulatedPortDeviceEntry
    • IEmulatedPortsManager
    • IEmulatedPortStore
    • IEmulatorOrchestrator
    • IGameEmulation
  • Snowflake.Orchestration.Extensibility.Extensions
    • DeviceEnumeratorExtensions
  • Snowflake.Orchestration.Process
    • IEmulatorExecutable
    • IEmulatorExecutableProvider
    • IProcessBuilder
    • ProcessExtensions
  • Snowflake.Orchestration.Saving
    • GameFileExtensionGameSaveManagerExtensions
    • IGameSaveManager
    • ISaveGame
    • ISaveProfile
    • SaveGame
    • SaveManagementStrategy
  • Snowflake.Orchestration.SystemFiles
    • ISystemFileProvider
  • Snowflake.Persistence
    • ISqlDatabase
    • SqliteDatabase
    • SqliteMemoryDatabase
  • Snowflake.Remoting.Electron
    • IElectronPackage
    • IElectronPackageProvider
  • Snowflake.Remoting.Kestrel
    • IKestrelServerMiddlewareProvider
    • IKestrelWebServerService
  • Snowflake.Romfile
    • IFileSignature
    • IRomFileInfo
    • IStructuredFilename
    • NamingConvention
    • RomFileInfo
    • StructuredFilename
  • Snowflake.Romfile.Extensions
    • StringExtensions
  • Snowflake.Romfile.Tokenizer
    • FieldType
    • GoodToolsTokenClassifier
    • NoIntroTokenClassifier
    • StructuredFilenameToken
  • Snowflake.Scraping
    • GameScrapeContext
    • IScrapeContext
    • ISeed
    • ISeedRootContext
    • Seed
    • SeedContent
    • SeedRootContext
  • Snowflake.Scraping.Extensibility
    • AttachTarget
    • Culler
    • Directive
    • DirectiveAttribute
    • FileInstallationTraverserBase
    • GameMetadataTraverserBase
    • ICuller
    • IFileInstallationTraverser
    • IGameMetadataTraverser
    • IScraper
    • IScraperDirective
    • ITraverser<TProducts, TEffectTarget>
    • Scraper
    • SeedBuilder
    • SeedTree
    • Traverser<TProducts, TEffectTarget>
  • Snowflake.Services
    • IContentDirectoryProvider
    • IDeviceEnumerator
    • ILogProvider
    • IPluginManager
    • IServiceEnumerator
    • IServiceRegistrationProvider
    • IStoneProvider
  • Snowflake.Shiragame
    • IRomInfo
    • ISerialInfo
    • IShiragameProvider
    • RomInfo
    • SerialInfo

Enum ControllerElement

An enumeration of Stone controller elements See https://github.com/SnowflakePowered/stone/blob/master/spec/Controllers.md for the specification.

Namespace: Snowflake.Input.Controller
Assembly: Snowflake.Framework.Primitives.dll
Syntax
public enum ControllerElement

Fields

Name Description
AxisLeftAnalogNegativeX

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

AxisLeftAnalogNegativeY

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

AxisLeftAnalogPositiveX

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

AxisLeftAnalogPositiveY

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

AxisRightAnalogNegativeX

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

AxisRightAnalogNegativeY

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

AxisRightAnalogPositiveX

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

AxisRightAnalogPositiveY

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

Button0

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

Button1

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

Button10

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

Button11

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

Button12

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

Button13

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

Button14

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

Button15

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

Button16

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

Button17

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

Button18

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

Button19

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

Button2

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

Button20

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

Button21

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

Button22

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

Button23

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

Button24

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

Button25

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

Button26

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

Button27

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

Button28

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

Button29

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

Button3

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

Button30

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

Button31

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

Button4

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

Button5

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

Button6

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

Button7

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

Button8

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

Button9

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

ButtonA

The conventional 'A' or confirm face button in a controller

ButtonB

The conventional 'B' or back face button in a controller

ButtonC

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

ButtonClickL

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

ButtonClickR

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

ButtonGuide

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

ButtonL

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

ButtonR

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

ButtonSelect

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

ButtonStart

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

ButtonX

The conventional 'X' button in a controller

ButtonY

The conventional 'Y' button in a controller

ButtonZ

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

DirectionalE

Directional button indicating the east or rightwards direction

DirectionalN

Directional button indicating the north or upwards direction

DirectionalNE

Auxillary directional button indicating the northeast, or upwards and right direction

DirectionalNW

Auxillary directional button indicating the northwest, or upwards and left direction

DirectionalS

Direction button indicating the south or downwards direction

DirectionalSE

Auxillary directional button indicating the southeast, or downwards and right direction

DirectionalSW

Auxillary directional button indicating the southwest, or downwards and left direction

DirectionalW

Direction button indicating the west or leftwards direction

Gyroscope

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

Keyboard

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

NoElement

No element

Pointer2D

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

Pointer3D

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

PointerAxisNegativeX

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

PointerAxisNegativeY

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

PointerAxisNegativeZ

Continous backwards movement of a pointer device on the Z axis

PointerAxisPositiveX

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

PointerAxisPositiveY

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

PointerAxisPositiveZ

Continous forwards movement of a pointer device on the Z axis

RumbleBig

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

RumbleSmall

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

Touchscreen

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

TriggerLeft

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

TriggerRight

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

Extension Methods

ControllerElementExtensions.ToString()
In This Article
  • Fields
  • Extension Methods
Built with ❤️ by @chyyran. Text content licensed under CC-BY-SA 4.0.