RemappingButtonCategory 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
게임 패드 다시 매핑 유형입니다.
public enum class RemappingButtonCategory
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Gaming.Input.GamingInputPreviewContract, 131072)]
enum class RemappingButtonCategory
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Gaming.Input.GamingInputPreviewContract), 131072)]
public enum RemappingButtonCategory
var value = Windows.Gaming.Input.Preview.RemappingButtonCategory.buttonSettings
Public Enum RemappingButtonCategory
- 상속
-
RemappingButtonCategory
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows Desktop Extension SDK (10.0.23665.0에서 도입되었습니다.)
|
API contract |
Windows.Gaming.Input.GamingInputPreviewContract (v2.0에서 도입되었습니다.)
|
필드
AnalogSettings | 1 | 아날로그 컨트롤을 교환하는 데 사용됩니다. |
ButtonSettings | 0 | 단추를 다시 매핑하는 데 사용됩니다. |
ShareDoublePress | 9 | 구현되지 않았습니다. |
ShareDoublePressMetaData | 10 | 구현되지 않았습니다. |
ShareDoublePressMetaDataDisplay | 11 | 구현되지 않았습니다. |
ShareLongPress | 6 | 구현되지 않았습니다. |
ShareLongPressMetaData | 7 | 구현되지 않았습니다. |
ShareLongPressMetaDataDisplay | 8 | 구현되지 않았습니다. |
ShareShortPress | 3 | 구현되지 않았습니다. |
ShareShortPressMetaData | 4 | 구현되지 않았습니다. |
ShareShortPressMetaDataDisplay | 5 | 구현되지 않았습니다. |
VibrationSettings | 2 | 진동을 사용하지 않도록 설정하는 데 사용됩니다. |
예제
void RemapButtons(IGameController controller, IGameControllerProvider controllerProvider)
{
LegacyGipGameControllerProvider legacyGipGameControllerProvider =
LegacyGipGameControllerProvider.FromGameControllerProvider(controllerProvider);
// Retrieve all current remappings set for standard controllers
IReadOnlyDictionary<RemappingButtonCategory, object> currentMappings =
legacyGipGameControllerProvider.GetStandardControllerButtonRemapping(
controller.User, false);
// Swap two of the buttons
Dictionary<RemappingButtonCategory, object> remaps =
new Dictionary<RemappingButtonCategory, object>();
// Duplicates are not allowed. Swap two of the buttons
UInt64 currentButtonMappings =
(UInt64)currentMappings[RemappingButtonCategory.ButtonSettings];
// Isolate the buttons we want to remap
UInt64 lastButton = (currentButtonMappings & 0xf000000000000000);
UInt64 secondLastButton = currentButtonMappings & 0x0f00000000000000;
// Swap their positions
UInt64 newMapping = (lastButton >> 4) | (secondLastButton << 4);
// Recombine with the original mappings
UInt64 newButtonMappings = (currentButtonMappings & 0x00ffffffffffffff) | newMapping;
// Add the new button remappings to the mapping dictionary
remaps.Add(RemappingButtonCategory.ButtonSettings, newButtonMappings);
// Update controller mapping
legacyGipGameControllerProvider.SetStandardControllerButtonRemapping(
controller.User, false, newButtonMappings);
}
설명
주의
컨트롤러 매핑은 시스템 전체이며 지정된 사용자에 대해 지속됩니다. 이 작업은 사용자의 지시에 따라 수행해야 합니다.